SlideShare a Scribd company logo
Why is Open Source so
Good?
Thirty Years of Lessons
Learned
Mark Atwood mark.atwood@hp.com
Twitter: fallenpegasus
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Big Disclaimer

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Why is Open Source so good?

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Why is Closed Software so
bad?

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
We know what makes good software!
• Decoupled design
• Simple orthogonal interfaces
• Iterative Development
• Code Review
• Testing
• Happy Programmers
5

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Closed Source Process
• “Business Needs” drive development
• Meaningless deadlines
• Anti-pattern architecture
• Crunch time, crush passion
• Difficult process
• Yet too easy to add code
• Technical debt is always hard to pay off
6

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Source at Different
Scales

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
One Programmer
• “scratch the itch”
• Going to make it work
• Won’t make it too complex
• Will last as long as it’s useful

8

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
One person, plus contributors
• The one will code review everything
• The one is not going to break it
• The one can “pass the torch”
• Contributors cause “stone soup”

9

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Small Team
• Will write what makes them all happy
• Can’t force work they don’t want

10

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Large Team, on large projects
• Can Open Source possibly work?
• Lots of failures
• Lots of very painful successes
• Lots of lessons learned, if we look for them

11

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Big Disclaimer

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GCC & Gnu BinUtils
• Tightly coupled team
• Tightly coupled design
• Resistant to outside contributions

13

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Conway’s Law
• “The organization of the software and the
organization of the software team will be
congruent”
• Loosely coupled teams encourages loosely
coupled software.

14

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Linux
• Really big “one, with contributors”
• We got very lucky (can’t manufacture a Linus as
needed)
• We discovered “Linus’s Law”
• We discovered DVCS

15

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Java & JCP
• Developed “corporate style”
• Unhappy developers
• Dominated by one company
• Closed testing, QA, certification

16

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
ASF Java
• “Deep Rich APIs”
• APIs are coupled to implementation
• Huge pile of churned out & aging “donated” code
• Uninvolved “maintainers”
• Did discover that big companies can collaborate

17

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
MySQL
• Dominated by one company
• Tightly coupled design
• Features driven by Marketing goals
• Feature Release over Time Release
• Hard to build
• Resistant to outside contributions
18

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Lessons we should learn
• Easy to get involved
• Easy to contribute
• Easy to use dev tooling
• Loose coupling
• Code Review is critical
• Tooling that encourages collaboration
• Human communication
19

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
OpenStack
• Not controlled by one company
• Business goals cannot override the process
• Code review is central
• APIs are HTTP REST WSGI
• Time Based Release
• No “commit bit”
20

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Source
• Apache 2.0 License
• Public DVCS (Git)
• Open Source friendly language (Python)
• Open Source friendly framwork (HTTP, REST,
WSGI, )

21

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Design
• Good ideas are welcome to try
• Service API oriented
• Necessary decisions by PTL & TC

22

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Development
• DVCS
• Public Code Review
• Infrastructure is Open Source
• Anyone can run dev

23

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Participation
• Egalitarian Process
• Open Design Summit, in person
• Open Meetings, in IRC
• Technical Leaders are chosing by the technical
contributors
• Representation on the governance

24

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Gated Trunk
• Ensures code quality
• Always start from working code
• Bad code does not land
• Same for everyone
• Machines don’t flame on the list

25

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Open Sources works when
• Decoupled design
• Code Review
• Easy participation
• Avoid corporate anti-patterns

26

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thank you

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

More Related Content

PDF
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
PDF
OpenShift Origin Community Day (Boston) Welcome & Resources by Diane Mueller
PPTX
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
PPTX
La importancia de versionar el código: GitHub, portafolio y recursos para est...
PDF
We Need to Talk: How Communication Helps Code
PDF
Netflix OSS Meetup Season 4 Episode 4
PDF
Netflix Architecture and Open Source
PDF
Human Face of Cloud Computing Cyber Summit 2013 Diane Mueller Red Hat OpenShi...
OpenShift Overview Presentation by Marek Jelen for Zurich Geeks Event
OpenShift Origin Community Day (Boston) Welcome & Resources by Diane Mueller
DevFestMN 2017 - Learning Docker and Kubernetes with Openshift
La importancia de versionar el código: GitHub, portafolio y recursos para est...
We Need to Talk: How Communication Helps Code
Netflix OSS Meetup Season 4 Episode 4
Netflix Architecture and Open Source
Human Face of Cloud Computing Cyber Summit 2013 Diane Mueller Red Hat OpenShi...

What's hot (20)

PPTX
OpenShift: Devops Made Easy
PDF
Stop making, start composing - Using Composer for Drupal development
PDF
7 Apache Process Cloudstack Developer Day
PPTX
Practical Approaches to Cloud Native Security
PDF
Public PaaS Throwdown!
PPTX
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
PDF
How to Become DevOps
PDF
DockerCon Recap - Online Meetup by Ben Firshman
PDF
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
PDF
Containers - (Austin Cloud Meetup April 2016)
PDF
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
PPTX
Building a Scalable CI Platform using Docker, Drone and Rancher
PPTX
Get acquainted with the new ASP.Net 5
PDF
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
PPTX
Using deploy in drupal 8
PDF
Webinar - Continuous Integration with GitLab
PDF
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
ODP
Speed Up Development With OpenShift
PDF
Intro to Git: a hands-on workshop
PPTX
A local private PaaS in minutes with the Red Hat CDK
OpenShift: Devops Made Easy
Stop making, start composing - Using Composer for Drupal development
7 Apache Process Cloudstack Developer Day
Practical Approaches to Cloud Native Security
Public PaaS Throwdown!
Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pe...
How to Become DevOps
DockerCon Recap - Online Meetup by Ben Firshman
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Containers - (Austin Cloud Meetup April 2016)
It’s 2021. Why are we -still- rebooting for patches? A look at Live Patching.
Building a Scalable CI Platform using Docker, Drone and Rancher
Get acquainted with the new ASP.Net 5
Vincit Teatime 2015.2 - Niko Kurtti: SaaSiin pa(i)nostusta
Using deploy in drupal 8
Webinar - Continuous Integration with GitLab
TDC 2016 SP - Continuous Delivery para aplicações Java com ferramentas open-s...
Speed Up Development With OpenShift
Intro to Git: a hands-on workshop
A local private PaaS in minutes with the Red Hat CDK
Ad

Viewers also liked (6)

PPTX
How to get one of those Open Source jobs
PPT
AMD Fusion12 Developer Summit: Introducing Red Hat OpenShift
PPT
NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore
PPT
Eucalyptus: Our Story. Presented at LCA2011
KEY
Telephony with OpenShift Twilio and MongoDB
PPT
OpenShift Origin: Build a PaaS Just Like Red Hats
How to get one of those Open Source jobs
AMD Fusion12 Developer Summit: Introducing Red Hat OpenShift
NoSQL Part 3, or A Modest Proposal for a Heretical Key Valuestore
Eucalyptus: Our Story. Presented at LCA2011
Telephony with OpenShift Twilio and MongoDB
OpenShift Origin: Build a PaaS Just Like Red Hats
Ad

Similar to Why is Open Source so Good: Thirty Years of Lessons Learned (20)

PPT
Asf icfoss-mentoring
PDF
Open Source Secret Sauce - Lugor Sep 2011
PDF
HIS 2015: Prof. Mark Little - Open Source Challenges in the Enterprise
PDF
Running Successful Open Source Projects
PPTX
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
PPTX
Opensource development and apache software foundation
PDF
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
PDF
Forecast 2014: Why Open Platforms Matter to Enterprises and Developers
PPTX
Open source
PDF
Open source-secret-sauce-rit-2010
PDF
Intro to open_source
PPTX
Developer Experience Overview
PPT
Open Source & Open Development
PDF
All good things scale - ohs 2020 - 03.13.2020
PPTX
Guide to open source
PDF
OPS_Unit-1--Open Source Demystifying.pdf
PPTX
OPEN SOURCE SOFTWARE
PDF
Why Open Always Trumps Closed?
PDF
Open Source Building Career and Competency
PDF
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...
Asf icfoss-mentoring
Open Source Secret Sauce - Lugor Sep 2011
HIS 2015: Prof. Mark Little - Open Source Challenges in the Enterprise
Running Successful Open Source Projects
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
Opensource development and apache software foundation
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
Forecast 2014: Why Open Platforms Matter to Enterprises and Developers
Open source
Open source-secret-sauce-rit-2010
Intro to open_source
Developer Experience Overview
Open Source & Open Development
All good things scale - ohs 2020 - 03.13.2020
Guide to open source
OPS_Unit-1--Open Source Demystifying.pdf
OPEN SOURCE SOFTWARE
Why Open Always Trumps Closed?
Open Source Building Career and Competency
OSMC 2022 | Open Source: Open Choice – A DevOps Guide for OSS Adoption by Hil...

Recently uploaded (20)

PDF
A comparative study of natural language inference in Swahili using monolingua...
PPT
Teaching material agriculture food technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Machine Learning_overview_presentation.pptx
PDF
August Patch Tuesday
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mushroom cultivation and it's methods.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Approach and Philosophy of On baking technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
A comparative study of natural language inference in Swahili using monolingua...
Teaching material agriculture food technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Per capita expenditure prediction using model stacking based on satellite ima...
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Machine Learning_overview_presentation.pptx
August Patch Tuesday
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mushroom cultivation and it's methods.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
MIND Revenue Release Quarter 2 2025 Press Release
cloud_computing_Infrastucture_as_cloud_p
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Univ-Connecticut-ChatGPT-Presentaion.pdf

Why is Open Source so Good: Thirty Years of Lessons Learned

  • 1. Why is Open Source so Good? Thirty Years of Lessons Learned Mark Atwood [email protected] Twitter: fallenpegasus © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 2. Big Disclaimer © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 3. Why is Open Source so good? © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 4. Why is Closed Software so bad? © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 5. We know what makes good software! • Decoupled design • Simple orthogonal interfaces • Iterative Development • Code Review • Testing • Happy Programmers 5 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 6. Closed Source Process • “Business Needs” drive development • Meaningless deadlines • Anti-pattern architecture • Crunch time, crush passion • Difficult process • Yet too easy to add code • Technical debt is always hard to pay off 6 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 7. Open Source at Different Scales © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 8. One Programmer • “scratch the itch” • Going to make it work • Won’t make it too complex • Will last as long as it’s useful 8 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 9. One person, plus contributors • The one will code review everything • The one is not going to break it • The one can “pass the torch” • Contributors cause “stone soup” 9 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 10. Small Team • Will write what makes them all happy • Can’t force work they don’t want 10 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 11. Large Team, on large projects • Can Open Source possibly work? • Lots of failures • Lots of very painful successes • Lots of lessons learned, if we look for them 11 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 12. Big Disclaimer © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 13. GCC & Gnu BinUtils • Tightly coupled team • Tightly coupled design • Resistant to outside contributions 13 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 14. Conway’s Law • “The organization of the software and the organization of the software team will be congruent” • Loosely coupled teams encourages loosely coupled software. 14 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 15. Linux • Really big “one, with contributors” • We got very lucky (can’t manufacture a Linus as needed) • We discovered “Linus’s Law” • We discovered DVCS 15 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 16. Java & JCP • Developed “corporate style” • Unhappy developers • Dominated by one company • Closed testing, QA, certification 16 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 17. ASF Java • “Deep Rich APIs” • APIs are coupled to implementation • Huge pile of churned out & aging “donated” code • Uninvolved “maintainers” • Did discover that big companies can collaborate 17 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 18. MySQL • Dominated by one company • Tightly coupled design • Features driven by Marketing goals • Feature Release over Time Release • Hard to build • Resistant to outside contributions 18 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 19. Lessons we should learn • Easy to get involved • Easy to contribute • Easy to use dev tooling • Loose coupling • Code Review is critical • Tooling that encourages collaboration • Human communication 19 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 20. OpenStack • Not controlled by one company • Business goals cannot override the process • Code review is central • APIs are HTTP REST WSGI • Time Based Release • No “commit bit” 20 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 21. Open Source • Apache 2.0 License • Public DVCS (Git) • Open Source friendly language (Python) • Open Source friendly framwork (HTTP, REST, WSGI, ) 21 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 22. Open Design • Good ideas are welcome to try • Service API oriented • Necessary decisions by PTL & TC 22 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 23. Open Development • DVCS • Public Code Review • Infrastructure is Open Source • Anyone can run dev 23 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 24. Open Participation • Egalitarian Process • Open Design Summit, in person • Open Meetings, in IRC • Technical Leaders are chosing by the technical contributors • Representation on the governance 24 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 25. Gated Trunk • Ensures code quality • Always start from working code • Bad code does not land • Same for everyone • Machines don’t flame on the list 25 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 26. Open Sources works when • Decoupled design • Code Review • Easy participation • Avoid corporate anti-patterns 26 © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 27. Thank you © Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.