There has been much debate around how to fund open source projects and keep the maintainers engaged or pull them into their projects full time. Some are worried about Open Source becoming too “Corporate”. Those people want to have their cake and eat it too by asking maintainers to rely purely on donations and still get quality software for free. Then there are those like me that see that model as unsustainable. Developers can’t live off donations and have little to no incentive to keep working on the projects they create other than their passion which can only take a person so far.
One of the ways that open source projects have been funded in the past was through companies that developed the projects. Red Hat and SUSE hire many developers that maintain projects that support many of their products. Their model is funded through their respective subscription models. This has been great at furthering the needs of Red Hat and SUSE and the projects that make up their products. Not just Red Hat and SUSE make major contribution to open source projects and frameworks. Even with all the companies out there like Microsoft and Google contributing code as well as the open core model companies like Odoo and GitLab, it barely scratches the surface.
There are still many open source projects that many companies and people rely on that don’t get nearly the funding or attention they need. There are frameworks out there that maintainers started to solve a problem they had. Some of these frameworks and libraries are now part of hundreds of projects in both open source and enterprise software. The question now becomes how do you keep them engaged? The knee-jerk reaction is “Why don’t they just get a job at Red Hat or Microsoft where their job is to maintain it?”. That isn’t going to happen unless there is a product in their portfolio that utilize the framework or library, so we need a solution that doesn’t involve the developer getting directly employed in some cases.
The Chartiy Model
I really don’t like to call this model the “charity” model, but frankly it is. Developers are relying on the good graces of others to contribute to their project. This model is great for individual users to donate money to a project, however companies are not likely to donate money to keep a project going. I really don’t think this model alone is sustainable for the long term, you can’t eat on 5 dollars a month from a handful of individuals that find your project interesting. It might be enough to keep the project going as a hobby, but I don’t see it long-term sustainability. Any project that I get value out of I donate either a one-time donation or monthly donation that is usually the same amount I would pay for proprietary software or services. For example, when I replaced Evernote with Joplin I decided to donate the same amount I was paying for Evernote Premium to the Joplin developer. Sadly, many people in the open source community don’t see it that way and refuse to pay for software.
One of the solutions to the sustainability problem is Open Collective. If you are not familiar with Open Collective, it is a platform for developers to take donations to their projects. They offer fiscal services that are handled by existing third-party open source foundations to handle taxes, accounting, legal and liability which makes taking donations easier for developers that don’t want to handle those services themselves.Open Collective solves many problems that other platforms have such as Patreon and GitHub sponsors since it gives the people who are donating a view into how the funds are being used. I don’t care how the funds are used as long as the maintainer keeps working on the project long term. All the money can be used to buy themselves a 3000 dollar super automatic coffee machine for all I care. If that helps them keep going I’m all for it.
Github Sponsors and Patreon
I donate to several projects with Github Sponsors and Patreon. This is a good model for individuals to get money into the hands of developers and maintainers but just like Open Collective it relies on individuals to donate to projects.
The For Profit Model
Existing and new for profit models already have and are going to have the biggest impact on Open Source projects going forward. There are projects that most people never heard of that are embedded into major open source projects, enterprise software and vendor proprietary software. CTOs and CIOs don’t even realize what open source libraries are under the hood of their software until there is a major vulnerability hits front page news. None of the existing companies that contribute or directly fund open source projects out there have the scale to hire all the maintainers of open source libraries that are embedded into their projects. The only way to do it is to get funding directly into the maintainer’s hands. This is the goal of Open Collective, but I have a hard time seeing a procurement department in a typical enterprise making a contribution to a project in Open Collective. Most enterprise customers want to do business with an organization that they can hold accountable and negotiate terms with
Eric and I had the pleasure to have an interview with 2 of Tidelift’s founders. Please go check out (Episode 22)[https://sudo.show/22]! The net-net of the Tidelift model it is working enterprise customers that utilize open source frameworks and libraries to get money into the hands of the maintainers of those frameworks and libraries to ensure they are well maintained. With open source now at the heart of nearly every mission-critical Enterprise application, making sure every component is supportable and maintainable is paramount.
Tidelift has made it easy for Enterprises to work with maintainers and get features and functions they need. In turn Tidelift has created a new revenue stream for maintainers allowing them to become more self-sufficient and work on the projects they want to work on. I think their model is brilliant! Enterprises now have an entity they can do business with, and it makes it easy for the developer to have a middleman between them and the end user.
Going for sustainability
I think we must get out of the mind set that we shouldn’t pay for high-quality software even if it is a free to distribute open source project. This is a problem with both individual open source consumers and enterprise users. If you don’t pay now you are going to pay later when the developer decides to move on to a new project. When that happens you then need to migrate to something else because the project is no longer maintained. Money speaks and keeps people engaged. Both models I described are important to get to open source sustainability long term. I think the model that GitHub Sponsors and Open Collective are driving are great for the individuals and Small to Medium sized business owners that want to contribute money directly to a project. That avenue shouldn’t be the only one.
I know there is a camp in the open source community that want’s to keep corporate money out of open source. If we want open source to remain the default choice for software and keep maintainers engaged we need the funding from corporations that use the software. We need models like Tidelift to get large amounts of money into the hands of maintainers. It may change behavior and roadmaps, but that doesn’t change the model and how code is developed. I would love to see more projects, libraries, and frameworks stick around longer than have a short shelf life like many currently have.