What makes an open source project succeed?
What sets up an open source project for success? Is it a dedicated community? Star power? A clever name and an even cleverer concept? It turns out that behind almost every great open source project is the support of a great organization or enterprise.
What makes an open source project succeed? We all use open source projects in our daily lives, but not all projects are successful. Sometimes, they are just lonely github pages for one developer toiling away at their computer. Open source seems like it should be antithetical to corporate or institutional support.
The majority of the most successful open source projects are supported either by a foundation, a company, or a consortium of companies collaborating together.
Working with developer Łukasz Gryglicki, Kohn graphed the 30 highest velocity open source projects. As he explains, most developers are interested in using and participating in the largest projects. These projects have the biggest communities, so bugs are fixed quickly, features are updated regularly, and there’s a certain interoperability across platforms.
This graph shows 3 axis of data – commits, authors, and comments & pull requests. In the graph, the bubbles’ area is proportional to the number of authors, the y-axis (height) is the total number of pull requests & issues, and the x-axis is the number of commits.
If you look closely, some broad patterns emerge.
Foundations back nine of the biggest open source projects. This includes:
- Linux – the Linux Foundation
- Kubernetes – CNCF
- Cloud Foundry – Cloud Foundry Foundation
- .NET – .NET Foundation
- Nova, Neutron, Cinder – OpenStack
- Node.js – Node.js Foundation
- Mesos – Apache Software Foundation
Even more open source projects are backed by a company: fifteen of ‘em. This includes Google’s open source projects, as well as Facebook, Docker, Microsoft, Red Hat, and more. While there are often major contributions of these open source projects from outside developers, these projects are still largely maintained by the parent company.
- Google – Chromium, TensorFlow, and AngularJS
- Facebook – React
- Docker – Docker, Moby
- Microsoft – VS Code, Office Developer
- Red Hat – Ansible
- Elastic – ElasticSearch
- Auth0 – Auth0
- GitLab – GitLab
- Basecamp – Ruby on Rails
- Ionic – Ionic
- HashiCorp – Terraform
- Chef – Chef
The final six projects are neither backed by a company nor a foundation:
- Home Assistant
- The Odin Project.
As Kohn points out, Homebrew, DefinitelyTyped, NixOS, and Home Assistant are the kind of project where a core infrastructure is filled out with user contributions. The Odin Project is collaborative documentation.
“Vue.js seems to be something of a special case, in that as a front-end framework it competes directly with React (backed by Facebook) and AngularJS (backed by Google), but has achieved wide adoption and high levels of contribution without any corporate or consortium backing,” writes Kohn.
Open source conclusions
What kind of conclusions can we draw from this data? Well, nearly a third of the top open source projects are backed by a foundation of some kind and a full half of all of the top projects are backed by an enterprise. Only 20% of projects are independently run without any kind of institutional support.
Why is that? As Kohn points out, “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.”
Indeed. A good portion of any open source code contributor work is dedicated to fixing bugs and cleaning messes; not exactly the sexiest of coding jobs. Having institutional support means these jobs get done more often, leading to more active and stable project with a longer chance at continued use. It’s one of those thankless but necessary tasks to the overall health of a project.
Essentially, the Linux Foundation tries to create these positive feedback loops for a more stable and secure open source ecosystem. So remember, if your open source project is languishing in obscurity, structure and funding are key for growth, not cool names.