The best open source software doesn’t come cheap. This is the conclusion reached by Cloud Native Computing Foundation (CNCF) executive director Dan Kohn, but it’s not new. Though the best projects share modularity and a strong initial code base as common elements of success, for the last decade it has been clear that cash is king (queen) in determining outsized open source success.
In short, to spot an open source winner, follow the money.
More money, more code
By Kohn’s estimate, 23 of the 30 highest-velocity open source projects are backed by companies (sometimes organized around a foundation). Such projects include Kubernetes, Linux, Ansible, Elasticsearch, Cloud Foundry, and OpenStack. Not included in the list, though surely representative of the same phenomenon, are MySQL, MongoDB, and other corporate projects.
SEE: 20 quick tips to make Linux networking easier (free PDF)
Not that money can buy everything.
Somehow, for example, Vue.js puts up a good fight against Angular.js (Google) and React (Facebook). And of the 60 million open source repositories, most are labors of love of single developers, done in their spare time. But this doesn’t normally lead to big adoption in the Vue.js vein. That’s the exception to the rule. That rule? Money paves the way to open source success.
The reason, as Kohn pointed out, is that “Software development is hard. Running a large open source project is even harder. So, it is often helpful to have backing from an individual company or a consortium of them working through a software foundation.”
The kumbaya moment has passed
While I grew up in an industry enamored with the idea of developers holding hands and contributing code in their spare time, the reality of a mission critical project like Linux is that the only way to be a core contributor is to focus completely on the project. That’s the only way to keep up.
Ten years ago, Evangelia Berdou’s Ph.D. thesis, Managing the Bazaar: Commercialization and peripheral participation in mature, community-led Free/Open source software projects, captured this nicely:
Substantial and continuous contributions in infrastructural modules, such as desktop and platform libraries, require a high degree of knowledge and technical competence. The ability to work full-time on a project allows paid developers to develop their technical skills and their understanding of the code base to a greater extent than volunteers who usually contribute in their free time.
The trick, of course, is to enable corporations to participate without having them completely control outcomes. With some foundation-led projects, for example, the foundation serves as a thin veneer for a corporation that tightly controls the code. Yes, we want corporations involved in code but, no, we don’t want them to rigidly control that code. If they do, the license becomes irrelevant–they might as well be selling software under a proprietary license.