SlideShare a Scribd company logo
1 of 37
Download to read offline
Patterns	
  and	
  Practices	
  for	
  
Open	
  Source	
  Project	
  Success
stephen r.	
  walli
@stephenrwalli
stephen.walli@gmail.com
Freeloaders	
  are	
  Necessary
stephen r.	
  walli
@stephenrwalli
stephen.walli@gmail.com
WTFOSS*
stephen r.	
  walli
@stephenrwalli
stephen.walli@gmail.com
*	
  Hat	
  tip	
  to	
  @codepope
Community
We’ve	
  shared	
  software	
  since	
  we’ve	
  written	
  software
Writing	
  good	
  software	
  is	
  hard	
  work
Princeton
USENIX
SHARE
DECUS
MIT	
  Athena
Free	
  Software	
  
FountationBerkeley	
  CSRG
Apache
Linux
Eclipse
Fountation
ASF
2	
  Stories
Orders
of
magnitude
ROTOR
500K	
  LoC
500K	
  Lines-­‐of-­‐Test	
  Harness
Ran	
  on	
  Windows,	
  Mac	
  OS	
  X,	
  FreeBSD
One	
  script	
  to	
  set	
  environment
One	
  command	
  to	
  build	
  everything
One	
  command	
  to	
  test	
  it	
  all
Minimal	
  documentation
24	
  hours	
  later	
  …
24	
  hours	
  later	
  again	
  …	
  
Committer(s)
+
Code
Developers
Committers
+
Code
Developers
Committers
+
Code
Developers
Users
Committers
+
Code
Developers
Users
Committers
+
Code
How	
  do	
  you	
  increase	
  your	
  user	
  base?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  install/configure/use	
  the	
  software?)
How	
  do	
  you	
  encourage	
  developers?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  build/test/experiment?)
How	
  do	
  you	
  make	
  it	
  easy	
  to	
  contribute?
(What	
  do	
  you	
  communicate	
  to	
  your	
  community)
How	
  do	
  you	
  increase	
  your	
  user	
  base?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  install/configure/use	
  the	
  software?)
How	
  do	
  you	
  increase	
  your	
  user	
  base?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  install/configure/use	
  the	
  software?)
Project	
  Exes	
  
published
Project	
  Install	
  
Automated
Software	
  Construction	
  Activities
Project	
  
BugTracking
How	
  do	
  you	
  increase	
  your	
  user	
  base?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  install/configure/use	
  the	
  software?)
Project	
  Exes	
  
published
Project	
  Install	
  
Automated Software	
  Construction	
  Activities
Project	
  
License
FAQs,	
  Howto
Community	
  Development	
  Activities	
  
Project	
  
BugTrackingForums,	
  Email
IANAL
A	
  small	
  (2	
  minute)	
  diversion	
  on	
  licensing	
  ….
• Software	
  is	
  protected	
  by	
  copyright	
  law	
  
• Whoever	
  wrote	
  the	
  software,	
  owns	
  the	
  copyright
• People	
  often	
  give	
  up	
  copyright	
  ownership	
  in	
  employment	
  agreements
• There	
  are	
  a	
  few	
  well	
  [understood|accepted]	
  licenses:	
  pick	
  one
• These	
  licenses	
  define	
  the	
  most	
  successful	
  collaborations	
  in	
  history
• If	
  you	
  care	
  about	
  making	
  money:	
  educate	
  yourself*	
  &	
  hire	
  a	
  lawyer
• If	
  you	
  [care|worry]	
  about	
  patents:	
  hire	
  a	
  lawyer
• If	
  you	
  publish	
  your	
  project	
  on	
  Github: create	
  the	
  *%$ing LICENSE	
  file
Writers|Artists|Engineers|Architectsdo	
  it.	
  So	
  should	
  you.
*Van	
  Lindberg's Intellectual	
  Property	
  and	
  Open	
  Source
How	
  do	
  you	
  encourage	
  developers?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  build/test/experiment?)
How	
  do	
  you	
  encourage	
  developers?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  build/test/experiment?)
Project	
  Build	
  
Automated	
  I
Complete	
  Src
published
Project	
  Test	
  
Automated	
  I
Software	
  Construction	
  Activities
How	
  do	
  you	
  encourage	
  developers?
(How	
  do	
  you	
  make	
  it	
  easy	
  to	
  build/test/experiment?)
Project	
  Build	
  
Automated	
  I
Complete	
  Src
published
Project	
  Test	
  
Automated	
  I
Software	
  Construction	
  Activities
Mission
Statement
Comms
Platform
Contributoion
Guidelines
Community	
  Development	
  Activities	
  
Code	
  of	
  
Conduct
A	
  small	
  diversion	
  on	
  software	
  engineering	
  …
• 2	
  ratios	
  define	
  software	
  development
• All	
  advances	
  in	
  programming	
  languages	
  and	
  software	
  
engineering	
  is	
  attempting	
  to	
  beat	
  these	
  two	
  ratios
• [Community|Product]	
  scale	
  depends	
  on	
  reliably	
  delivering	
  
the	
  known	
  executable	
  environment	
  every	
  time	
  
• Linus’s	
  Law	
  is	
  about	
  REVIEWS	
  not	
  BUG	
  FIXING
How	
  do	
  you	
  make	
  it	
  easy	
  to	
  contribute?
(What	
  do	
  you	
  communicate	
  to	
  your	
  community)
How	
  do	
  you	
  make	
  it	
  easy	
  to	
  contribute?
(What	
  do	
  you	
  communicate	
  to	
  your	
  community)
Project	
  Build	
  
Automated	
  II
Project	
  Test	
  
Automated	
  II
Basic	
  Arch	
  
Description
Software	
  Construction	
  Activities
How	
  do	
  you	
  make	
  it	
  easy	
  to	
  contribute?
(What	
  do	
  you	
  communicate	
  to	
  your	
  community)
Project	
  Build	
  
Automated	
  II
Project	
  Test	
  
Automated	
  II
Basic	
  Arch	
  
Description
Software	
  Construction	
  Activities
Governance
Events
Community	
  Development	
  Activities	
  
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
How	
  do	
  you	
  make	
  it	
  easy	
  to	
  contribute?
(What	
  do	
  you	
  communicate	
  to	
  your	
  COMMERCIAL	
  community)
Project	
  
License
Provenance	
  
Tracking
Repositories	
  
Protected
Dependencies	
  
Documented
Contributions	
  
Auditted
Provenance	
  
Management
Committers
Indemnified
Committer	
  
Governance
Trademark	
  
Management
IP	
  Management	
  Activities	
  
Foundations
• Henrik	
  Ingo’s	
  numbers
• Foundations	
  provide	
  neutral	
  ownership	
  and	
  a	
  level	
  playing	
  field
• Bright	
  lines	
  for	
  projects	
  versus	
  products
Open	
  Source	
  Community	
  Practices
Project	
  Exes	
  
published
Project	
  Build	
  
Automated	
  I
Project	
  Install	
  
Automated
Complete	
  Src
published
Project	
  
BugTracking
Project	
  Build	
  
Automated	
  II
Project	
  Test	
  
Automated	
  I
Project	
  Test	
  
Automated	
  II
Basic	
  Arch	
  
Description
Project	
  
License
Project	
  
License
Mission
Statement
Code	
  of	
  
Conduct
Forums,	
  Email
Comms
Platform
FAQs,	
  Howto
Governance
Contributoion
Guidelines
Events
Provenance	
  
Tracking
Repositories	
  
Protected
Dependencies	
  
Documented
Contributions	
  
Auditted
Provenance	
  
Management
Committers
Indemnified
Committer	
  
Governance
Trademark	
  
Management
IP	
  Management	
  Activities	
  
Community	
  Development	
  
Software	
  Construction	
  Maturity
Open	
  Source	
  Community	
  Patterns
Project	
  Exes	
  
published
Project	
  Build	
  
Automated	
  I
Project	
  Install	
  
Automated
Complete	
  Src
published
Project	
  
BugTracking
Project	
  Build	
  
Automated	
  II
Project	
  Test	
  
Automated	
  I
Project	
  Test	
  
Automated	
  II
Basic	
  Arch	
  
Description
Project	
  
License
Project	
  
License
Mission
Statement
Code	
  of	
  
Conduct
Forums,	
  Email
Comms
Platform
FAQs,	
  Howto
Governance
Contributoion
Guidelines
Events
Provenance	
  
Tracking
Repositories	
  
Protected
Dependencies	
  
Documented
Contributions	
  
Auditted
Provenance	
  
Management
Committers
Indemnified
Committer	
  
Governance
Trademark	
  
Management
IP	
  Management	
  Activities	
  
Community	
  Development	
  
Software	
  Construction	
  Maturity
Encourage
Users
Encourage
ContributorsEncourage	
  Developers
Encourage	
  Corp	
  
Contributions
Developers
Users
Committers
+
Code
Developers
Users
Committers
+
Code
Books
Contractors
Products
Distributions
Consulting
Training
Support
Building	
  the	
  Ecosystem
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
Customers
Committers
Contributors
Community
EcosystemProject
Products
Services
Books
Training
Corporate
Contributors
Customers
Questions	
  &	
  Comments
stephen r walli
stephen.walli@gmail.com
@stephenrwalli
http://stephesblog.blogs.com
http://opensource.com

More Related Content

What's hot

The Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed SourceThe Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed Source
Jeet Prakash
 
Badge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CIIBadge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CII
Open Source Experience
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015
Rick Bauer
 
Data science, DevOps, and drinks: The perfect combination
Data science, DevOps, and drinks: The perfect combinationData science, DevOps, and drinks: The perfect combination
Data science, DevOps, and drinks: The perfect combination
Donnie Berkholz
 
Analyse de la composition logicielle à l’aide d’outils open source
Analyse de la composition logicielle à l’aide d’outils open sourceAnalyse de la composition logicielle à l’aide d’outils open source
Analyse de la composition logicielle à l’aide d’outils open source
Open Source Experience
 

What's hot (20)

Europace's journey to InnerSource
Europace's journey to InnerSourceEuropace's journey to InnerSource
Europace's journey to InnerSource
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
The Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed SourceThe Aspects of Choosing Open Source Versus Closed Source
The Aspects of Choosing Open Source Versus Closed Source
 
How to contribute back to Open Source
How to contribute back to Open SourceHow to contribute back to Open Source
How to contribute back to Open Source
 
*Source - towards the semantic annotation of digital content / Wittgenstein S...
*Source - towards the semantic annotation of digital content / Wittgenstein S...*Source - towards the semantic annotation of digital content / Wittgenstein S...
*Source - towards the semantic annotation of digital content / Wittgenstein S...
 
Rapid PowerShell Function Development
Rapid PowerShell Function DevelopmentRapid PowerShell Function Development
Rapid PowerShell Function Development
 
Open Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and ComplianceOpen Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and Compliance
 
Community Repositories: Why You Need One for Your Open Source Project
Community Repositories: Why You Need One for Your Open Source ProjectCommunity Repositories: Why You Need One for Your Open Source Project
Community Repositories: Why You Need One for Your Open Source Project
 
Osgeo incubation-2014
Osgeo incubation-2014Osgeo incubation-2014
Osgeo incubation-2014
 
Badge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CIIBadge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CII
 
Programmer Anarchy and Managerless Processes
Programmer Anarchy and Managerless ProcessesProgrammer Anarchy and Managerless Processes
Programmer Anarchy and Managerless Processes
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source Documentation
 
Basics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobileBasics of Open Source Contribution - WWCodeMobile
Basics of Open Source Contribution - WWCodeMobile
 
OSSDN Introduction 06112015
OSSDN Introduction 06112015OSSDN Introduction 06112015
OSSDN Introduction 06112015
 
How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
Data science, DevOps, and drinks: The perfect combination
Data science, DevOps, and drinks: The perfect combinationData science, DevOps, and drinks: The perfect combination
Data science, DevOps, and drinks: The perfect combination
 
Product Development in the Age of Cloud Native
Product Development in the Age of Cloud NativeProduct Development in the Age of Cloud Native
Product Development in the Age of Cloud Native
 
Analyse de la composition logicielle à l’aide d’outils open source
Analyse de la composition logicielle à l’aide d’outils open sourceAnalyse de la composition logicielle à l’aide d’outils open source
Analyse de la composition logicielle à l’aide d’outils open source
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
 

Viewers also liked

David greenwald laissez faire en la enseñanza
David greenwald   laissez faire en la enseñanzaDavid greenwald   laissez faire en la enseñanza
David greenwald laissez faire en la enseñanza
Daniel Diaz
 
correo electronico
correo electronicocorreo electronico
correo electronico
liviston2013
 
Informatica
InformaticaInformatica
Informatica
1996reny
 
Tcp1 mary miyoshi pedroza garcía
Tcp1 mary miyoshi pedroza garcíaTcp1 mary miyoshi pedroza garcía
Tcp1 mary miyoshi pedroza garcía
Furby Ceballos
 
E. tradicional vs. escuela jovellanista
E. tradicional vs. escuela jovellanistaE. tradicional vs. escuela jovellanista
E. tradicional vs. escuela jovellanista
martinlopezjavier65
 
Windows y su historia
Windows y su historiaWindows y su historia
Windows y su historia
zily-munoz
 
A21 e biodiversidad
A21 e biodiversidadA21 e biodiversidad
A21 e biodiversidad
ira24txe
 
Lengua española
Lengua españolaLengua española
Lengua española
LastDanny25
 
Adiana castro act2.5
Adiana castro act2.5Adiana castro act2.5
Adiana castro act2.5
ananabanana
 
GoogleDiapositivaCesarCamacho021
GoogleDiapositivaCesarCamacho021GoogleDiapositivaCesarCamacho021
GoogleDiapositivaCesarCamacho021
CesarCamacho55
 
Presentación3 ide9509234
Presentación3 ide9509234Presentación3 ide9509234
Presentación3 ide9509234
MarlenyVeliz
 

Viewers also liked (20)

Freeloaders are Essential and Other Open Source Product Truths
Freeloaders are Essential and Other Open Source Product TruthsFreeloaders are Essential and Other Open Source Product Truths
Freeloaders are Essential and Other Open Source Product Truths
 
The Trouble with Open Source Software
The Trouble with Open Source SoftwareThe Trouble with Open Source Software
The Trouble with Open Source Software
 
7 glaucoma
7 glaucoma7 glaucoma
7 glaucoma
 
David greenwald laissez faire en la enseñanza
David greenwald   laissez faire en la enseñanzaDavid greenwald   laissez faire en la enseñanza
David greenwald laissez faire en la enseñanza
 
correo electronico
correo electronicocorreo electronico
correo electronico
 
Cuarto c
Cuarto cCuarto c
Cuarto c
 
Informatica
InformaticaInformatica
Informatica
 
Tcp1 mary miyoshi pedroza garcía
Tcp1 mary miyoshi pedroza garcíaTcp1 mary miyoshi pedroza garcía
Tcp1 mary miyoshi pedroza garcía
 
Seminario 9
Seminario 9Seminario 9
Seminario 9
 
E. tradicional vs. escuela jovellanista
E. tradicional vs. escuela jovellanistaE. tradicional vs. escuela jovellanista
E. tradicional vs. escuela jovellanista
 
Windows y su historia
Windows y su historiaWindows y su historia
Windows y su historia
 
Practica 7 p
Practica 7 pPractica 7 p
Practica 7 p
 
Seminario 8
Seminario 8Seminario 8
Seminario 8
 
A21 e biodiversidad
A21 e biodiversidadA21 e biodiversidad
A21 e biodiversidad
 
efectos opticos
efectos opticosefectos opticos
efectos opticos
 
Lengua española
Lengua españolaLengua española
Lengua española
 
Programa ptp 2013
Programa ptp 2013Programa ptp 2013
Programa ptp 2013
 
Adiana castro act2.5
Adiana castro act2.5Adiana castro act2.5
Adiana castro act2.5
 
GoogleDiapositivaCesarCamacho021
GoogleDiapositivaCesarCamacho021GoogleDiapositivaCesarCamacho021
GoogleDiapositivaCesarCamacho021
 
Presentación3 ide9509234
Presentación3 ide9509234Presentación3 ide9509234
Presentación3 ide9509234
 

Similar to Scale14x Patterns and Practices for Open Source Project Success

Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Massimo Menichinelli
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
dmgerman
 

Similar to Scale14x Patterns and Practices for Open Source Project Success (20)

Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Fundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build ProductsFundamentals of Using Open Source Code to Build Products
Fundamentals of Using Open Source Code to Build Products
 
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011Open Design @ Tec Guadalajara - Mexico - 23/08/2011
Open Design @ Tec Guadalajara - Mexico - 23/08/2011
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaboration
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
5/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'165/ GitHub Inner Source @ OPEN'16
5/ GitHub Inner Source @ OPEN'16
 
Foss4Africa Paul Scott keynote
Foss4Africa Paul Scott keynoteFoss4Africa Paul Scott keynote
Foss4Africa Paul Scott keynote
 
NTU Workshop: 01 What Is Open Design
NTU Workshop: 01 What Is Open DesignNTU Workshop: 01 What Is Open Design
NTU Workshop: 01 What Is Open Design
 
Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Tracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systemsTracing the evolution - Open source & Embedded systems
Tracing the evolution - Open source & Embedded systems
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
IDAS Workshop: 01 What Is Open Design
IDAS Workshop: 01 What Is Open DesignIDAS Workshop: 01 What Is Open Design
IDAS Workshop: 01 What Is Open Design
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
Tracing The Evolution Open Source & Embedded Systems - Mr. Jayakumar Balasubr...
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Leverage the power of Open Source in your company
Leverage the power of Open Source in your company Leverage the power of Open Source in your company
Leverage the power of Open Source in your company
 
Open P2P Design
Open P2P DesignOpen P2P Design
Open P2P Design
 

More from Stephen Walli

More from Stephen Walli (15)

Avoiding Maslow’s Hammer: Or the Problem of the Birmingham Screwdriver in Ope...
Avoiding Maslow’s Hammer: Or the Problem of the Birmingham Screwdriver in Ope...Avoiding Maslow’s Hammer: Or the Problem of the Birmingham Screwdriver in Ope...
Avoiding Maslow’s Hammer: Or the Problem of the Birmingham Screwdriver in Ope...
 
Minimum Viable Governance
Minimum Viable GovernanceMinimum Viable Governance
Minimum Viable Governance
 
Software Freedom in a Post Open Source World
Software Freedom in a Post Open Source World Software Freedom in a Post Open Source World
Software Freedom in a Post Open Source World
 
Sustaining Open Source Software
Sustaining Open Source SoftwareSustaining Open Source Software
Sustaining Open Source Software
 
SCaLE 17x There is [Still] NO Open Source Business Model
SCaLE 17x There is [Still] NO Open Source Business ModelSCaLE 17x There is [Still] NO Open Source Business Model
SCaLE 17x There is [Still] NO Open Source Business Model
 
The Democratization of Software (SeaGL 2018)
The Democratization of Software (SeaGL 2018)The Democratization of Software (SeaGL 2018)
The Democratization of Software (SeaGL 2018)
 
There is NO Open Source Business Model
There is NO Open Source Business ModelThere is NO Open Source Business Model
There is NO Open Source Business Model
 
Docker Seattle Meetup, May 2017
Docker Seattle Meetup, May 2017Docker Seattle Meetup, May 2017
Docker Seattle Meetup, May 2017
 
Ask Not What Your Community Can Do For You
Ask Not What Your Community Can Do For YouAsk Not What Your Community Can Do For You
Ask Not What Your Community Can Do For You
 
Turning Pets into Cattle: A Demonstration to Provoke Discussion
Turning Pets into Cattle: A Demonstration to Provoke DiscussionTurning Pets into Cattle: A Demonstration to Provoke Discussion
Turning Pets into Cattle: A Demonstration to Provoke Discussion
 
The Evolution of the Open Source Software Foundation
The Evolution of the Open Source Software FoundationThe Evolution of the Open Source Software Foundation
The Evolution of the Open Source Software Foundation
 
The Rise and Evolution of the Open Source Software Foundation
The Rise and Evolution of the Open Source Software FoundationThe Rise and Evolution of the Open Source Software Foundation
The Rise and Evolution of the Open Source Software Foundation
 
FOSS Foundations Enable Community Growth
FOSS Foundations Enable Community GrowthFOSS Foundations Enable Community Growth
FOSS Foundations Enable Community Growth
 
Symbian: collaboration, open, closed, dead?
Symbian: collaboration, open, closed, dead?Symbian: collaboration, open, closed, dead?
Symbian: collaboration, open, closed, dead?
 
Open Source Software Economics, Standards, and IP in One Lesson
Open Source Software Economics, Standards, and IP in One LessonOpen Source Software Economics, Standards, and IP in One Lesson
Open Source Software Economics, Standards, and IP in One Lesson
 

Recently uploaded

JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 

Recently uploaded (20)

SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 

Scale14x Patterns and Practices for Open Source Project Success

  • 1. Patterns  and  Practices  for   Open  Source  Project  Success stephen r.  walli @stephenrwalli stephen.walli@gmail.com
  • 2. Freeloaders  are  Necessary stephen r.  walli @stephenrwalli stephen.walli@gmail.com
  • 5. We’ve  shared  software  since  we’ve  written  software Writing  good  software  is  hard  work Princeton USENIX SHARE DECUS MIT  Athena Free  Software   FountationBerkeley  CSRG Apache Linux Eclipse Fountation ASF
  • 8. ROTOR 500K  LoC 500K  Lines-­‐of-­‐Test  Harness Ran  on  Windows,  Mac  OS  X,  FreeBSD One  script  to  set  environment One  command  to  build  everything One  command  to  test  it  all Minimal  documentation 24  hours  later  … 24  hours  later  again  …  
  • 14. How  do  you  increase  your  user  base? (How  do  you  make  it  easy  to  install/configure/use  the  software?) How  do  you  encourage  developers? (How  do  you  make  it  easy  to  build/test/experiment?) How  do  you  make  it  easy  to  contribute? (What  do  you  communicate  to  your  community)
  • 15. How  do  you  increase  your  user  base? (How  do  you  make  it  easy  to  install/configure/use  the  software?)
  • 16. How  do  you  increase  your  user  base? (How  do  you  make  it  easy  to  install/configure/use  the  software?) Project  Exes   published Project  Install   Automated Software  Construction  Activities Project   BugTracking
  • 17. How  do  you  increase  your  user  base? (How  do  you  make  it  easy  to  install/configure/use  the  software?) Project  Exes   published Project  Install   Automated Software  Construction  Activities Project   License FAQs,  Howto Community  Development  Activities   Project   BugTrackingForums,  Email
  • 18. IANAL
  • 19. A  small  (2  minute)  diversion  on  licensing  …. • Software  is  protected  by  copyright  law   • Whoever  wrote  the  software,  owns  the  copyright • People  often  give  up  copyright  ownership  in  employment  agreements • There  are  a  few  well  [understood|accepted]  licenses:  pick  one • These  licenses  define  the  most  successful  collaborations  in  history • If  you  care  about  making  money:  educate  yourself*  &  hire  a  lawyer • If  you  [care|worry]  about  patents:  hire  a  lawyer • If  you  publish  your  project  on  Github: create  the  *%$ing LICENSE  file Writers|Artists|Engineers|Architectsdo  it.  So  should  you. *Van  Lindberg's Intellectual  Property  and  Open  Source
  • 20. How  do  you  encourage  developers? (How  do  you  make  it  easy  to  build/test/experiment?)
  • 21. How  do  you  encourage  developers? (How  do  you  make  it  easy  to  build/test/experiment?) Project  Build   Automated  I Complete  Src published Project  Test   Automated  I Software  Construction  Activities
  • 22. How  do  you  encourage  developers? (How  do  you  make  it  easy  to  build/test/experiment?) Project  Build   Automated  I Complete  Src published Project  Test   Automated  I Software  Construction  Activities Mission Statement Comms Platform Contributoion Guidelines Community  Development  Activities   Code  of   Conduct
  • 23. A  small  diversion  on  software  engineering  … • 2  ratios  define  software  development • All  advances  in  programming  languages  and  software   engineering  is  attempting  to  beat  these  two  ratios • [Community|Product]  scale  depends  on  reliably  delivering   the  known  executable  environment  every  time   • Linus’s  Law  is  about  REVIEWS  not  BUG  FIXING
  • 24. How  do  you  make  it  easy  to  contribute? (What  do  you  communicate  to  your  community)
  • 25. How  do  you  make  it  easy  to  contribute? (What  do  you  communicate  to  your  community) Project  Build   Automated  II Project  Test   Automated  II Basic  Arch   Description Software  Construction  Activities
  • 26. How  do  you  make  it  easy  to  contribute? (What  do  you  communicate  to  your  community) Project  Build   Automated  II Project  Test   Automated  II Basic  Arch   Description Software  Construction  Activities Governance Events Community  Development  Activities  
  • 29. How  do  you  make  it  easy  to  contribute? (What  do  you  communicate  to  your  COMMERCIAL  community) Project   License Provenance   Tracking Repositories   Protected Dependencies   Documented Contributions   Auditted Provenance   Management Committers Indemnified Committer   Governance Trademark   Management IP  Management  Activities  
  • 30. Foundations • Henrik  Ingo’s  numbers • Foundations  provide  neutral  ownership  and  a  level  playing  field • Bright  lines  for  projects  versus  products
  • 31. Open  Source  Community  Practices Project  Exes   published Project  Build   Automated  I Project  Install   Automated Complete  Src published Project   BugTracking Project  Build   Automated  II Project  Test   Automated  I Project  Test   Automated  II Basic  Arch   Description Project   License Project   License Mission Statement Code  of   Conduct Forums,  Email Comms Platform FAQs,  Howto Governance Contributoion Guidelines Events Provenance   Tracking Repositories   Protected Dependencies   Documented Contributions   Auditted Provenance   Management Committers Indemnified Committer   Governance Trademark   Management IP  Management  Activities   Community  Development   Software  Construction  Maturity
  • 32. Open  Source  Community  Patterns Project  Exes   published Project  Build   Automated  I Project  Install   Automated Complete  Src published Project   BugTracking Project  Build   Automated  II Project  Test   Automated  I Project  Test   Automated  II Basic  Arch   Description Project   License Project   License Mission Statement Code  of   Conduct Forums,  Email Comms Platform FAQs,  Howto Governance Contributoion Guidelines Events Provenance   Tracking Repositories   Protected Dependencies   Documented Contributions   Auditted Provenance   Management Committers Indemnified Committer   Governance Trademark   Management IP  Management  Activities   Community  Development   Software  Construction  Maturity Encourage Users Encourage ContributorsEncourage  Developers Encourage  Corp   Contributions
  • 37. Questions  &  Comments stephen r walli stephen.walli@gmail.com @stephenrwalli http://stephesblog.blogs.com http://opensource.com