Open source has a sustainability problem.
A question that’s frequently discussed in the web development community is how to make open-source maintainable. As one of many examples, Henry Zhu, the lead maintainer of Babel, one of the most depended-on projects in the JavaScript ecosystem, until 2017 was working on Babel in his free-time while working a full-time job.
Open source is key infrastructure: for comparison, imagine if the lead mechanic on the Brooklyn Bridge had to work on it in his spare time, or hustle for contracts!
Founding organizations: one route to sustainability
Creating sustainable open-source communities isn’t simply a problem for community maintainers; it’s a problem for everyone.
When a project is created outside an established company, an increasingly popular way of sustaining it is to form a commercial organization around it, raise venture capital, hire maintainers, and create hosted services to pay the bills.
RELATED CONTENT: The realities of running an open-source community
We’ll term these “founding organizations”—companies founded by the creator or key contributors of an open-source project to support the project. A growing number of projects are now sustained in this way. This is exciting for software developers the world over, because better software benefits everyone!
Founding organizations provide public goods for their communities
As Dries Buytaert, the founder of Drupal and Acquia put it:
“In economics, the concepts of public goods [is] decades old…for example, everyone can benefit from fishing grounds, whether they contribute to their maintenance or not. Simply put, public goods have open access.
Open Source projects are public goods: everyone can use Open Source software and someone using an Open Source project doesn’t prevent someone else from using it.”
Great founding organizations keep their community’s technology up to date in a changing world.
The most important public good founding organizations and other governing bodies provide is technological parity with up-and-coming tools.
Technologies can catch up to the state of the art. In recent years, JavaScript, distrusted for browser incompatibility issues and awkward syntax, received a huge facelift after significant investments by major browser vendors and the TC39 community, culminating in ES5, ES6, ES7, etc. MongoDB was famously mocked in 2010 for not being durable or scalable, only to years later print official “MongoDB is web scale” t-shirts after they had solved these problems.
Other technologies can fall behind. In the website world, both WordPress and Drupal lack core support for version control and modern front-end tooling. In the infrastructure world, Docker exists and is widely used; however, as a project it has been more or less subsumed by Kubernetes, and today most development happens on Kubernetes rather than the container runtime.
We believe founding organizations’ responsibility to the community extends to a sort of social contract. Its social contract is fulfilled when technology in the community stays current. Conversely, when a technology begins to fall behind the times, fails to invest in important public goods or keep up with changing development standards, the community should hold the founding organization largely responsible.
Adequate investment critical to stay ‘cutting edge’
Keeping an open-source tool on the cutting edge doesn’t typically require technological breakthroughs. More often, it requires steady, methodological, persistent engineering work—and lots of it.
Much of this work, especially in systems with plug-in architectures, can come from the community. Both Drupal and Magento, among others, have done excellent work crediting community contributors and commercial entities for work they’ve done or sponsored.
But there are almost always key changes — fundamental re-architectures, foundational stability and scalability work — that should be done by a centralized entity. This requires sufficient economic investment from founding organizations to hire enough talented engineers, engineering managers, and product managers to move the work forward.
To invest the requisite amount, a founding organization must be both able and willing to sufficiently invest in its community.
To analyze the level of investment a founding organization makes, we must ask two questions.
Question 1: Is the company effective in creating a sustainable business around the community?
Founding organizations have a responsibility to build strong businesses in order to sustain continued investment into the community, and must determine the appropriate metrics to do so.
Question 2: Is the company investing product and engineering resources to open source?
What’s a good baseline for how much a founding organization should invest in open source? A good comparable here is governments, who almost always spend 15-20+% of GDP on public goods.
We’re deeply committed to open-source technology and to the community, and wanted to share our experiences fostering sustainability while building one of the most popular open source frameworks on the web. It’s our hope that these ideas can help introduce more structure and rigor to the challenge of open-source sustainability, so we can create a better web for everyone.