freeloaders are essential and other open source product truths

56
Freeloaders are Essential and Other Open Source Product Truths Stephen R. Walli @stephenrwalli [email protected]

Upload: stephen-walli

Post on 20-Mar-2017

530 views

Category:

Software


0 download

TRANSCRIPT

FreeloadersareEssentialandOtherOpenSourceProduct

TruthsStephenR.Walli@stephenrwalli

[email protected]

PatternsandPracticesforOpenSourceProjectSuccess

StephenR.Walli@stephenrwalli

[email protected]

WTFOSS*

StephenR.Walli@stephenrwalli

[email protected]

*Hattipto@codepope

ThereisNO OpenSourceBusinessModel

StephenR.Walli@stephenrwalli

[email protected]

CommunityWe’veknownhowcommunitiesworksinceyouhadacampfireandIwantedtositbesideit

Wearesocialanimals;community iswhatwedo

Courtesyishowwesurviveoneanotherandfeelsafeinstrangecommunities

There’snothing newhere

1950 1960 1970 200019901980 2010

CodesharingAtPrincetonIASinlate1940s

IBM“SHARE”Conf &LibraryBegins1953

DECUSConf &LibraryBegins1962

MITProjectAthenaBegins

1983

1BSDReleased1977

AT&TSharesFirstUNIX tapes

early-70s

FreeSoftwareFoundation

Launches 1985

DoJ vs IBMbegins“Software BundlingisAnti-competitive”

1969IBMresponseistounbundleHW,SW,&

services pricing

1st DoJ vs IBMConsentDecree

“Hardware BundlingisAnti-competitive”

1956

OpenSourceDefinition1997

USENIX Begins1975

LinusReleasesLinux1991

ApachehttpdReleased 1995

ApacheSoftwareFoundation1999

OSDLForms2000

OSDLRe-formsasLinuxFoundation

2007

U.S.CongressAddsComputerSoftware toCopyrightLaw

1980

GCC1987

emacs1975

We’vesharedsoftwaresincewe’vewrittensoftware

1950 1960 1970 200019901980 2010

CodesharingAtPrincetonIASinlate1940s

IBM“SHARE”Conf &LibraryBegins1953

DECUSConf &LibraryBegins1962

MITProjectAthenaBegins

1983

1BSDReleased1977

AT&TSharesFirstUNIX tapes

early-70s

FreeSoftwareFoundation

Launches 1985

DoJ vs IBMbegins“Software BundlingisAnti-competitive”

1969IBMresponseistounbundleHW,SW,&

services pricing

1st DoJ vs IBMConsentDecree

“Hardware BundlingisAnti-competitive”

1956

OpenSourceDefinition1997

USENIX Begins1975

LinusReleasesLinux1991

ApachehttpdReleased 1995

ApacheSoftwareFoundation1999

OSDLForms2000

OSDLRe-formsasLinuxFoundation

2007

U.S.CongressAddsComputerSoftware toCopyrightLaw

1980

GCC1987

emacs1975

We’vesharedsoftwaresincewe’vewrittensoftwareWritinggoodsoftwareishardwork

1950 1960 1970 200019901980 2010

CodesharingAtPrincetonIASinlate1940s

IBM“SHARE”Conf &LibraryBegins1953

DECUSConf &LibraryBegins1962

MIT ProjectAthenaBegins

1983

1BSDReleased1977

AT&TSharesFirstUNIX tapes

early-70s

FreeSoftwareFoundation

Launches 1985

DoJ vs IBMbegins“Software BundlingisAnti-competitive”

1969IBMresponseistounbundleHW,SW,&

services pricing

1st DoJ vs IBMConsentDecree

“Hardware BundlingisAnti-competitive”

1956

OpenSourceDefinition1997

USENIX Begins1975

LinusReleasesLinux1991

ApachehttpdReleased 1995

ApacheSoftwareFoundation1999

OSDLForms2000

OSDLRe-formsasLinuxFoundation

2007

U.S. CongressAddsComputerSoftwaretoCopyrightLaw

1980

GCC1987

emacs1975

CompaniessharedsoftwarebeforewehadtheOSD

DECUltrix1984

SunOS1983

OSF/11992

RedHat1993

1950 1960 1970 200019901980 2010

CodesharingAtPrincetonIASinlate1940s

IBM“SHARE”Conf &LibraryBegins1953

DECUSConf &LibraryBegins1962

MIT ProjectAthenaBegins

1983

1BSDReleased1977

AT&TSharesFirstUNIX tapes

early-70s

FreeSoftwareFoundation

Launches 1985

DoJ vs IBMbegins“Software BundlingisAnti-competitive”

1969IBMresponseistounbundleHW,SW,&

services pricing

1st DoJ vs IBMConsentDecree

“Hardware BundlingisAnti-competitive”

1956

OpenSourceDefinition1997

USENIX Begins1975

LinusReleasesLinux1991

ApachehttpdReleased 1995

ApacheSoftwareFoundation1999

OSDLForms2000

OSDLRe-formsasLinuxFoundation

2007

U.S. CongressAddsComputerSoftwaretoCopyrightLaw

1980

GCC1987

emacs1975

CompaniessharedsoftwarebeforewehadtheOSD(Writinggoodsoftwareishardwork)

DECUltrix1984

SunOS1983

OSF/11992

RedHat1993

A Story

EngineeringEconomicsofF/OSS(Benefits)

• In1995,Interixwasthekernel-integrated“UNIX”faceofWindowsNT• ~300packagescoveredby~25licenses+MicrosoftPOSIXsubsystemderivative+Softway developedsoftware• gcc providedcriticalsupportforInterixToolchain&SDK(~750KLoC*)• Ported/Integrated/TestedtoInterixin~6-8monthsbyaseniorcompilerengineerinsteadof~US$10M-20M*cost-to-develop• Butnowwe’relivingonafork…

*EstimatesfromBlackDuckOpenHub

Forks

TheTwoRonnies,“FourCandles”,https://www.youtube.com/watch?v=sO6EE1xTXmw

EngineeringEconomicsofF/OSS(Costs)

• CostofInterixgcc forkis~6monthsofaseniorengineer’stime(~US$50K+)• IfInterixchangesareupstream,weestimate2-4weeksofintegration/testingonnewgcc releases(~US$7-10K)• Buttherearereallyfive gcc projectstonegotiate…• CygnusSolutionsarecorecommittersongcc:quoted~US$120Kandtheycouldstartin14months• AdaCoreTechnologyALSOhadcorecommitters:US$40K&immediatestart

YouAlwaysGetMoreThanYouGive

2Stories

Orders

of

magnitude

ROTOR500KLoC500KLines-of-TestHarnessRanonWindows,MacOSX,FreeBSDOnescripttosetenvironmentOnecommandtobuildeverythingOnecommandtotestitallMinimaldocumentation

24hourslater…24hourslateragain…

Committer(s)+

Code

Developers

Committers+

Code

Developers

Committers+

Code

Developers

Users

Committers+

Code

Developers

Users

Committers+

Code

Howdoyouincreaseyouruserbase?(Howdoyoumakeiteasytoinstall/configure/usethesoftware?)

Howdoyouencouragedevelopers?(Howdoyoumakeiteasytobuild/test/experiment?)

Howdoyoumakeiteasytocontribute?(Whatdoyoucommunicatetoyourcommunity)

Howdoyouincreaseyouruserbase?(Howdoyoumakeiteasytoinstall/configure/usethesoftware?)

Howdoyouincreaseyouruserbase?(Howdoyoumakeiteasytoinstall/configure/usethesoftware?)

ProjectE

xes

publish

ed

ProjectInstall

Automated

SoftwareConstructionActivitiesProject

BugTracking

Howdoyouincreaseyouruserbase?(Howdoyoumakeiteasytoinstall/configure/usethesoftware?)

ProjectE

xes

publish

ed

ProjectInstall

AutomatedSoftwareConstructionActivities

Project

License

FAQs,Ho

wto

CommunityDevelopmentActivities

Project

BugTracking

Forums,Em

ail

Howdoyouencouragedevelopers?(Howdoyoumakeiteasytobuild/test/experiment?)

Howdoyouencouragedevelopers?(Howdoyoumakeiteasytobuild/test/experiment?)

ProjectB

uild

AutomatedI

CompleteSrc

publish

ed

ProjectTest

AutomatedI

SoftwareConstructionActivities

Howdoyouencouragedevelopers?(Howdoyoumakeiteasytobuild/test/experiment?)

ProjectB

uild

AutomatedI

CompleteSrc

publish

ed

ProjectTest

AutomatedI

SoftwareConstructionActivities

Mission

Statem

ent

Comms

Platform

CommunityDevelopmentActivities

Codeof

Conduct

Asmalldiversiononsoftwareengineering…

• 2ratiosdefinesoftwaredevelopment• Alladvancesinprogramminglanguagesandsoftwareengineeringisattemptingtobeatthesetworatios• [Community|Product]scaledependsonreliablydeliveringtheknownexecutableenvironmenteverytime• Linus’sLawisaboutREVIEWSnotBUGFIXING

Howdoyoumakeiteasytocontribute?(Whatdoyoucommunicatetoyourcommunity)

Howdoyoumakeiteasytocontribute?(Whatdoyoucommunicatetoyourcommunity)

ProjectB

uild

AutomatedII

ProjectTest

AutomatedII

Basic

Arch

Descrip

tion

SoftwareConstructionActivities

Howdoyoumakeiteasytocontribute?(Whatdoyoucommunicatetoyourcommunity)

ProjectB

uild

AutomatedII

ProjectTest

AutomatedII

Basic

Arch

Descrip

tion

SoftwareConstructionActivities

Governance

Events

CommunityDevelopmentActivities

Contrib

utoion

Guidelines

Committers ContributorsCommunity

EcosystemProject

ProductsServices

Books

Training

TheEvolutionofanOpenSourceProject

Committers ContributorsCommunity

EcosystemProject

ProductsServices

Books

Training

CorporateContributors

TheEvolutionofanOpenSourceProject

Howdoyoumakeiteasytocontribute?(WhatdoyoucommunicatetoyourCOMMERCIALcommunity)

Project

License

Provenance

Tracking

Repositories

Protected

Dependencies

Documented

Contrib

utions

Auditted

Provenance

Managem

ent

Committers

Indemnified

Committer

Governance

Tradem

ark

Managem

ent

IPManagementActivities

Foundations

• HenrikIngo’snumbers• FoundationsCANprovideneutralownershipandalevelplayingfield• Brightlinesforprojectsversusproducts

Ope

nSourceCom

mun

ityPractices

ProjectE

xes

publish

ed

ProjectB

uild

AutomatedI

ProjectInstall

Automated

CompleteSrc

publish

ed

Project

BugTracking

ProjectB

uild

AutomatedII

ProjectTest

AutomatedI

ProjectTest

AutomatedII

Basic

Arch

Descrip

tion

Project

License

Project

License

Mission

Statem

ent

Codeof

Conduct

Forums,Em

ail

Comms

Platform

FAQs,Ho

wto

Governance

Contrib

utoion

Guidelines

Events

Provenance

Tracking

Repositories

Protected

Dependencies

Documented

Contrib

utions

Auditted

Provenance

Managem

ent

Committers

Indemnified

Committer

Governance

Tradem

ark

Managem

ent

IPManagementActivities

CommunityDevelopment

SoftwareConstructionMaturity

Ope

nSourceCom

mun

ityPatterns

ProjectE

xes

publish

ed

ProjectB

uild

AutomatedI

ProjectInstall

Automated

CompleteSrc

publish

ed

Project

BugTracking

ProjectB

uild

AutomatedII

ProjectTest

AutomatedI

ProjectTest

AutomatedII

Basic

Arch

Descrip

tion

Project

License

Project

License

Mission

Statem

ent

Codeof

Conduct

Forums,Em

ail

Comms

Platform

FAQs,Ho

wto

Governance

Contrib

utoion

Guidelines

Events

Provenance

Tracking

Repositories

Protected

Dependencies

Documented

Contrib

utions

Auditted

Provenance

Managem

ent

Committers

Indemnified

Committer

Governance

Tradem

ark

Managem

ent

IPManagementActivities

CommunityDevelopment

SoftwareConstructionMaturity

EncourageUsers

EncourageContributorsEncourageDevelopers

Encourage/ManageCorpContributions

Developers

Users

Committers+

Code

Developers

Users

Committers+

Code

OrdersOf

Magnitude

FreeloadersAre

Essential

Developers

Users

Committers+

Code

Books

Contractors

Products

Distributions

Consulting

Training

Support

BuildingtheEcosystem

Committers ContributorsCommunity

EcosystemProject

ProductsServices

Books

Training

CorporateContributors

Customers

TheEvolutionofanOpenSourceProject

Committers ContributorsCommunity

EcosystemProject

ProductsServices

Books

Training

CorporateContributors

Customers

Engineering/Partner?/Customer?/Committers

Engineering/Partner?/Customer?/Contributors

Community

EcosystemProject

ProductsServices

Books

Training

Partner/CustomerContributors

TheEvolutionofaCorporateOpenSourceProject

SettingCustomerandPartnerExpectationsinCommunityisCritical

Don’tConfuseProjectswithProducts

CustomerPipeline

R&D

Product

MarketingMessages

$$$

Code,etc.

Thecommunity isNOTapartofthepipeline!

Don’tConfuseCommunitieswithCustomers

CustomerPipeline

R&D

Product

MarketingMessages

$$$

Code,etc.

Thecommunity isNOTapartofthepipeline!

Don’tConfuseCommunitieswithCustomers

WRONG

Don’tConfuseCommunitieswithCustomersR&D

Product

Marketing

Messages

$$$

Code,etc.

Conversations

IdentifyCustomer

Awareness Download&Try

Deploy?Train????

Buy

Identifycommunity

WhatMission?

Platform &Tools

Arch.ofParticipation

CodeofConduct

IPMachine

GovernanceStructure

…withdifferent tools,programsandmetrics.

Communitymembersbuild awarenessandevangelize,provideexpertiseandtrialsupport, areademonstrationofsolution viability, andprovide greatinertiaaroundyoursolution – Contributors provideinnovation

ALastStory

AStoryofRedHatinThreeCEOs

1994 1999 2008

AStoryofRedHatinThreeCEOs

1994 1999 2008

AStoryofRedHatinThreeCEOs

1994 1999 2008

AStoryofRedHatinThreeCEOs

Questions&Commentsstephen r walli

[email protected]@stephenrwalli

http://stephesblog.blogs.comhttp://opensource.com

CreativeCommonsPhotoCredits

• StephenR.Walli(https://www.flickr.com/photos/stephenrwalli/) (campfire,car)• MitchBarrie(https://www.flickr.com/photos/simonov/) (engine)• StuartRankin(https://www.flickr.com/photos/24354425@N03/) (steel)• SelbyLynn(https://www.flickr.com/photos/stacylynn/) (house)• EmilianRobertVicol (https://www.flickr.com/photos/free-stock/) (lumber)• OlgaCaprotti (https://www.flickr.com/photos/__olga__/) (trees)• JamesWillamor (https://www.flickr.com/photos/bz3rk/) (footballfield)