Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Trouble with Open Source Software

719 views

Published on

I think 2016 was the year of open source angst. We're caught between discussions about open source sustainability and accelerating corporate open source projects. I tackle the two open source vectors most people discuss: community and corporate engagement. The real problem, however, is the democratization of software and the growing skills gap as the demand for software goes up. This talk was given at SCaLE 15X (http://www.socallinuxexpo.org/scale/15x/presentations/trouble-open-source-software).

Published in: Software
  • Be the first to comment

The Trouble with Open Source Software

  1. 1. The Trouble with Open Source Software Stephen R. Walli @stephenrwalli SCaLE 15X
  2. 2. 2016: The Year of Open Source Angst
  3. 3. Making Open Source Software Sustainable vs Accelerating Commercial Open Source Software
  4. 4. Roads & Bridges
  5. 5. Accelerating Commercial Open Source Software Projects Products Profits
  6. 6. How do I get my project HELP (people/$$$)? How do I SUSTAIN my project? How do I deal with BURN OUT?
  7. 7. How do I get my project HELP (people/$$$)? How do I SUSTAIN my project? How do I deal with BURN OUT?
  8. 8. How do we ACCELERATE this project? How do we get more CORPORATE SPONSORS? How do we make money?
  9. 9. How do we ACCELERATE this project? How do we get more CORPORATE SPONSORS? How do we make money?
  10. 10. Community Mechanics Commercial Open Source Adventures Software Dynamics
  11. 11. Community Mechanics
  12. 12. No one cares about your project
  13. 13. No one cares about your project (50M Publicly Viewable Repos)
  14. 14. No one cares about your project (“Ask not what ….”)
  15. 15. Committers Contributors Community EcosystemProject Products Services Books Training The (Historical) Evolution of an Open Source Project
  16. 16. Committers Contributors Community EcosystemProject Products Services Books Training The (Historical) Evolution of a Open Source Project Well Run
  17. 17. Committer(s) + Code
  18. 18. Developers Committers + Code
  19. 19. Developers Committers + Code
  20. 20. Developers Users Committers + Code
  21. 21. Developers Users Committers + Code
  22. 22. Developers Users Committers + Code Books Contractors Products Distributions Consulting Training Support
  23. 23. 1000:100:10:1
  24. 24. 1000:100:10:1 (Freeloaders means you’re doing it right)
  25. 25. How do you increase your user base? (Because that’s where you’ll find your developers)
  26. 26. How do you increase your user base? (Because that’s where you’ll find your developers) How do you encourage developers? (Because these are your future contributors)
  27. 27. How do you increase your user base? (Because that’s where you’ll find your developers) How do you encourage developers? (Because these are your future contributors) How do you make it easy to contribute? (Because this is the growth and success of your community)
  28. 28. 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)
  29. 29. 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 Mission Statement Code of Conduct Forums, Email Comms Platform FAQs, Howto Governance Contributoion Guidelines Events Community Development Software Construction Maturity
  30. 30. 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 Mission Statement Code of Conduct Forums, Email Comms Platform FAQs, Howto Governance Contributoion Guidelines Events Community Development Software Construction Maturity Encourage Users Encourage ContributorsEncourage Developers
  31. 31. No Scale without Discipline
  32. 32. Committers Contributors Community EcosystemProject Products Services Books Training The Evolution of an Open Source Project
  33. 33. Committers Contributors Community EcosystemProject Products Services Books Training Corporate Contributors The Evolution of an Open Source Project
  34. 34. Committers Contributors Community EcosystemProject Products Services Books Training Corporate Contributors Customers The Evolution of an Open Source Project
  35. 35. Commercial Open Source Community IP Practices Project License Provenance Tracking Repositories Protected Dependencies Documented Contributions Auditted Provenance Management Committers Indemnified Committer Governance Trademark Management IP Management Activities
  36. 36. 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
  37. 37. 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/ Manage Corp Contributions
  38. 38. Community organization practices Software construction discipline Automate all the things Learn to say “no” … Learn to share responsibility
  39. 39. Commercial Open Source Adventures
  40. 40. There is NO Open Source Business Model
  41. 41. There is only business
  42. 42. No one cares about your product
  43. 43. No one cares about your product (“The customer doesn’t want a ¼ inch drill ….”)
  44. 44. Corporate Project vs. Community Project
  45. 45. Corporate Project vs. Community Project Core Customer Value vs. Complement Value
  46. 46. Corporate Project vs. Community Project Core Customer Value vs. Complement Value Core Competency vs. Context
  47. 47. Corporate Project vs. Community Project Core Customer Value vs. Complement Value Core Competency vs. Context Controlled IP vs. Shared IP
  48. 48. Corporate Project vs. Community Project Core Customer Value vs. Complement Value Core Competency vs. Context Controlled IP vs. Shared IP Evangelism vs. Engineering Economics
  49. 49. Committers Contributors Community EcosystemProject Products Services Books Training Corporate Contributors The Evolution of an Open Source Project
  50. 50. Engineering/ Partner?/ Customer?/ Committers Engineering/ Partner?/ Customer?/ Contributors Community EcosystemProject Products Services Books Training Partner/Customer Contributors The Evolution of a Corporate Open Source Project Setting Customer and Partner Expectations in Community is Critical
  51. 51. Engineering/ Partner?/ Customer?/ Committers Engineering/ Partner?/ Customer?/ Contributors Community EcosystemProject Products Services Books Training Partner/Customer Contributors The Reality of a Corporate Open Source Project Setting Customer and Partner Expectations in Community is Critical
  52. 52. Customers versus Community (Money vs. Time; Expectations are different; Conversations are different)
  53. 53. Customers versus Community (Money vs. Time; Expectations are different; Conversations are different) Partners versus Community (Don’t mix business with community)
  54. 54. Customers versus Community (Money vs. Time; Expectations are different; Conversations are different) Partners versus Community (Don’t mix business with community) Products versus Projects (Success metrics are different; OKRs and KPIs are different)
  55. 55. Engineering/ Partner?/ Customer?/ Competitors?/ Committers Engineering/ Partner?/ Customer?/ Competitors?/ Contributors Community EcosystemProject Products Services Books Training Partners/Competitors Contributors The Reality of Corporate Open Source Projects Setting Customer and Partner Expectations in Community is Critical
  56. 56. What problem are you solving for your customer Don’t confuse projects with products Don’t confuse community with customers Learn to ignore your competitors Learn to share engineering context responsibility
  57. 57. Software Dynamics
  58. 58. Open Source Software is about Engineering Economics
  59. 59. 1950 1960 1970 200019901980 2010 Code sharing At Princeton IAS in late 1940s IBM “SHARE” Conf & Library Begins 1953 DECUS Conf & Library Begins 1962 MIT Project Athena Begins 1983 1BSD Released 1977 AT&T Shares First UNIX tapes early-70s Free Software Foundation Launches 1985 2nd DoJ vs IBM begins “Software Bundling is Anti-competitive” 1969 IBM response is to unbundle HW, SW, & services pricing 1st DoJ vs IBM Consent Decree “Hardware Bundling is Anti-competitive” 1956 Open Source Definition 1997 USENIX Begins 1975 Linus Releases Linux 1991 Apache httpd Released 1995 Apache Software Foundation 1999 OSDL Forms 2000 OSDL Re-forms as Linux Foundation 2007 U.S. Congress Adds Computer Software to Copyright Law 1980 GCC 1987 emacs 1975 We’ve shared software since we’ve written software
  60. 60. 1950 1960 1970 200019901980 2010 Code sharing At Princeton IAS in late 1940s IBM “SHARE” Conf & Library Begins 1953 DECUS Conf & Library Begins 1962 MIT Project Athena Begins 1983 1BSD Released 1977 AT&T Shares First UNIX tapes early-70s Free Software Foundation Launches 1985 2nd DoJ vs IBM begins “Software Bundling is Anti-competitive” 1969 IBM response is to unbundle HW, SW, & services pricing 1st DoJ vs IBM Consent Decree “Hardware Bundling is Anti-competitive” 1956 Open Source Definition 1997 USENIX Begins 1975 Linus Releases Linux 1991 Apache httpd Released 1995 Apache Software Foundation 1999 OSDL Forms 2000 OSDL Re-forms as Linux Foundation 2007 U.S. Congress Adds Computer Software to Copyright Law 1980 GCC 1987 emacs 1975 We’ve shared software since we’ve written software Writing good software is hard work
  61. 61. 1950 1960 1970 200019901980 2010 Code sharing At Princeton IAS in late 1940s IBM “SHARE” Conf & Library Begins 1953 DECUS Conf & Library Begins 1962 MIT Project Athena Begins 1983 1BSD Released 1977 AT&T Shares First UNIX tapes early-70s Free Software Foundation Launches 1985 2nd DoJ vs IBM begins “Software Bundling is Anti-competitive” 1969 IBM response is to unbundle HW, SW, & services pricing 1st DoJ vs IBM Consent Decree “Hardware Bundling is Anti-competitive” 1956 Open Source Definition 1997 USENIX Begins 1975 Linus Releases Linux 1991 Apache httpd Released 1995 Apache Software Foundation 1999 OSDL Forms 2000 OSDL Re-forms as Linux Foundation 2007 U.S. Congress Adds Computer Software to Copyright Law 1980 GCC 1987 emacs 1975 Companies shared software before we had the OSD DEC Ultrix 1984 SunOS 1983 OSF/1 1992 Red Hat 1993
  62. 62. 1950 1960 1970 200019901980 2010 Code sharing At Princeton IAS in late 1940s IBM “SHARE” Conf & Library Begins 1953 DECUS Conf & Library Begins 1962 MIT Project Athena Begins 1983 1BSD Released 1977 AT&T Shares First UNIX tapes early-70s Free Software Foundation Launches 1985 2nd DoJ vs IBM begins “Software Bundling is Anti-competitive” 1969 IBM response is to unbundle HW, SW, & services pricing 1st DoJ vs IBM Consent Decree “Hardware Bundling is Anti-competitive” 1956 Open Source Definition 1997 USENIX Begins 1975 Linus Releases Linux 1991 Apache httpd Released 1995 Apache Software Foundation 1999 OSDL Forms 2000 OSDL Re-forms as Linux Foundation 2007 U.S. Congress Adds Computer Software to Copyright Law 1980 GCC 1987 emacs 1975 Companies shared software before we had the OSD (Writing good software is hard work) DEC Ultrix 1984 SunOS 1983 OSF/1 1992 Red Hat 1993
  63. 63. Collaboratively-Developed Liberally-Licensed Software is about Engineering Economics
  64. 64. The Democratization of Music
  65. 65. The Democratization of Music, Books,
  66. 66. The Democratization of Music, Books, Movies
  67. 67. The Democratization of Music, Books, Movies, Journalism
  68. 68. The Democratization of Music, Books, Movies, Journalism, TV …
  69. 69. “Democratization” Dramatically Lowered Barriers to Entry Removed Lower Distribution Costs
  70. 70. The Democratization of Software
  71. 71. Software is Dynamic
  72. 72. Software is a Malleable Machine
  73. 73. Software Creation is an Engineering Process
  74. 74. “Software is eating the world.”
  75. 75. The Demand for Software is Going UP
  76. 76. We are Tackling New Bigger Problems
  77. 77. We are Tackling New Bigger Problems We are Tackling New Smaller Problems
  78. 78. We are Tackling New Bigger Problems We are Tackling New Smaller Problems We are Tackling New Big Data Problems
  79. 79. We are Tackling New Bigger Problems We are Tackling New Smaller Problems We are Tackling New Big Data Problems We are Tackling New ML Problems
  80. 80. The Software Skills Gap is Growing
  81. 81. The Software Skills Gap is Growing The Software Quality Gap is Growing
  82. 82. 50,000,000 Publicly Viewable Repos
  83. 83. 50,000,000 Publicly Viewable Repos (49,950,000 Repositories of Dross)
  84. 84. How do I get my project HELP (people/$$$)? How do I SUSTAIN my project? How do I deal with BURN OUT?
  85. 85. How do I get my project HELP (people/$$$)? How do I SUSTAIN my project? How do I deal with BURN OUT?
  86. 86. How do we ACCELERATE this project? How do we get more CORPORATE SPONSORS? How do we make money?
  87. 87. How do we ACCELERATE this project? How do we get more CORPORATE SPONSORS? How do we make money?
  88. 88. Collaboratively-Developed, Liberally-Licensed Software is …
  89. 89. Open Source Software is …
  90. 90. Open Source Software is The solution to the demand problem …
  91. 91. Open Source Software is The solution to the demand problem … The solution to the skills gap problem …
  92. 92. In a world of Open Source Software
  93. 93. In a world of Open Source Software, How do we move from programming to engineering?
  94. 94. In a world of Open Source Software, How do we move from programming to engineering? How do we share more and better software more easily?
  95. 95. Thank you
  96. 96. Questions & Comments stephen r walli stephen.walli@gmail.com @stephenrwalli http://stephesblog.blogs.com http://opensource.com https://medium.com/@stephenrwalli/
  97. 97. The License Rant

×