How to pay your rent with your open source project
Many open source projects are terribly under-resourced and under-funded. Some open source developers even have to sacrifice their financial security to work on their passion.
Some open source projects dream about going from a passionate hobby to a small but sustainable company. This post will look at the different ways these projects can be funded to enable small groups to sustain themselves by working on projects they care about full time.
Financial sacrifice to work on an open source product many people use and enjoy should not be required. In order to build and grow great open source alternatives to proprietary software such as Firefox is to Chrome, we do need more people to be able to commit to open source full time.
- Why should open source projects need funding at all?
- Business models aligned with something people are willing to pay for
- Hosted, plug and play solution as a SaaS
- Premium version with additional features and expanded functionality
- Training, support or consulting services from the project’s maintainers
- Crowdfunding, voluntary donations and sponsorship
- Find what works best for your situation and your project
Why should open source projects need funding at all?
Making open source sustainable is something we’ve spent a long time thinking about for Plausible Analytics. We’re building a free and open source web analytics alternative to Google Analytics. We have a free as in beer self-hosted solution and we have a cloud solution that is the exact same software with the difference being that we run and manage it for you in exchange for a subscription fee.
We’re focusing on this full time with no salary at the moment in order to grow it and make it a self-sustainable project that could pay our rent and our bills. We’re fully bootstrapped with no external funding too. And we’d like to succeed in this and have even more people succeed working on open source projects that make the web a better, more user friendly and more ethical place.
Some open source developers don’t want and don’t need funding. That’s ok.
Many open source projects are funded by big corporations so some developers work on them as part of their job. Some may love their full time role and prefer to contribute to open source in their spare time out of passion.
For some it is a creative outlet. Some are in a good financial situation and do it because they want to work on something with less responsibility, less stress and more control.
Some contribute to open source software to improve their skills or build a reputation that may land them a better or bigger role.
All that is fine and it’s amazing to see so many brilliant and passionate people working on such great causes without needing to worry about their finances.
But we cannot neglect the other side of this. Some people cannot afford to do unpaid work on open source projects no matter how passionate they are about it. There are also some “starving artists” working on big open source projects with little resources and a lot of untapped potential.
In general, more resources going into open source projects will mean that more people will be able to spend more quality time focused on those projects which would make those products better and more useful to more people. That would help get more people to give a chance to open source products and even permanently switch from closed and proprietary options.
Ghost, a popular open source content management system, states this very well:
“The more people who use Ghost, the more customers we have, the more revenue we receive, the more great people we can hire to work for the foundation, the better the software gets, the more people use Ghost… and so on. It’s a virtuous cycle which means that we can keep creating open, adaptable software with a vibrant future, forever.”
Business models aligned with something people are willing to pay for
Raising money for any project whether open source or not is not easy and it requires people involved in the project to get creative. For open source projects it may be an even bigger challenge to make money as the software they produce may by definition be used or licensed free of charge.
In general, it is useful for many projects to be aligned with something people or businesses believe in so much or find value in that they are willing to pay for. In the majority of cases that is the best and most effective business model and the best way to reach sustainability.
The fact that people are willing to pay for the software that you are working on means that they are finding value in the software, that they use it to do stuff and so are happy to pay to fund continuous development and ensure sustainability in the long run.
So building a community and making that community care about your use case just enough that they are willing to pay for it is the first step.
I hear you saying that you’re not a business person, you don’t want to change your role, you don’t want to need to communicate to the outside world, to not even talk about doing marketing! Perhaps there’s a way to get other passionate people involved that could help you with some of the aspects that you don’t want to deal with?
In the case of Plausible Analytics, Uku is more focused on development while I’m more focused on the communication side of things. We discuss the different things together but our main responsibilities are split along those lines.
Here’s Webpack’s Sean Larkin on what cultural change they needed to make to grow the project’s funding which included publishing content, doing outreach and building relationships:
“Think about long-term strategy for your project. Sustainability is really important. I think open source sustainability is broken in this day and age. It’s not charity, it’s value in return. Every feature we work on has to be beneficial to the web ecosystem and to users. Communication is equally important to the code itself. Webpack used to be just a project, maintained by one person. So this was a change in not only development activity and support, but how we reached out to people, how we published meeting notes, how we communicated on Twitter, and how we recruited people to get involved with the project.”
Here are some ways you can ensure that you can pay your rent and your bills with your open source project while still retaining creative freedom and enjoying the process.
Hosted, plug and play solution as a SaaS
Many open source projects offer a do-it-yourself, self-hosted deployment. Some people prefer that approach and want to host, run and maintain the software themselves on their own server.
To many others, there is a great value in a hosted, “plug and play” solution that lives in the cloud. They don’t want to worry about the installation, about the upgrades, about having a server, security, maintenance, uptime, stability, consistency, loading time and so on.
So open source projects can sell subscriptions to a paid managed service with online accounts and server access. Here’s how Ghost talks about it:
“While the software we release is free, we also sell premium managed hosting for it, which gives the non-profit organisation a sustainable business model and allows it to be 100% self-funded.”
Other cloud-based software as a service open source examples:
Plausible Analytics follows this same model. We provide the Plausible Analytics Cloud edition where everything is taken care of for you but you can also download and run the exact same software on your own server with the difference being that you’re responsible for everything from installation to maintenance and upgrades.
Discourse is an open source discussion platform that you can download, install and run from your own server for free. How does Discourse make money to continue developing the project? They offer managed forum hosting for those who don’t want to worry about installing and maintaining it themselves.
Matrix is an open source network for secure, decentralized communication for businesses, teams or personal use. You can install it on your own server or you can pay for the hosted homeservers installed and maintained for you by the creators of Matrix.
Premium version with additional features and expanded functionality
This is the freemium pricing model (or the open-core model in some cases) where you provide the basic product for free but charge money for an enhanced version of the product that comes with additional features and expanded functionality.
GitLab is an open source tool that provides a Git-repository manager. The basic product is free for everyone, while you can upgrade to a premium plan that comes with additional features such as security scans and alerts.
Sentry is an open source application monitoring and error tracking tool. You can use it for free as a solo developer but you can upgrade to a premium plan if you’re part of a team or if you want additional functionality such as third-party integration or advanced analytics.
Standard Notes is an open source and completely encrypted notes app. It is free to use on an unlimited number of devices but you can upgrade to the extended version which includes different themes, powerful extensions and more.
Training, support or consulting services from the project’s maintainers
This model means that the users of the open source project need to pay to receive support from the project’s maintainers. The support can come in many shapes and forms including training, consulting or technical support.
Many of the largest open source projects focus mainly on this business model especially on supporting very large enterprises. This includes Red Hat, Canonical and Nextcloud. Here are some different examples of this pricing method in action:
Sidekiq provides simple and efficient background processing for Ruby. Customers can “get support directly from the Sidekiq expert” for custom work and private consulting.
Sourcehut provides a suite of open source tools for software development. They also offer their services as consultants focused exclusively on free software projects.
Blender is an open source 3D creation tool. They offer the Blender Cloud which is subscription based and provides training, assets and different tools to help you get the most out of Blender software.
Crowdfunding, voluntary donations and sponsorship
Many open source projects are donation driven with voluntary donations given directly by businesses and individuals who use the product itself. There are many ways of doing this including ongoing contributions on a recurring basis or one time donations.
It’s also possible to run dedicated fundraising efforts such as a crowdfunding campaign. Some projects even utilize sponsorships for feature development costs where they raise funds to add specific functionality and build specific features.
Donations may be the simplest way of raising funds but may also be a difficult method to achieve sustainable levels of funding. Some are against accepting donations (or promoting the fact that they’re accepting donations) because it feels like depending on charity from others. Donations can work for some projects and here are some examples.
- Linux distribution elementary OS has a “Pay what you want” model which allows you to purchase their operating system for any amount of money that you want. You can even set the amount to zero and download the software for free. A certain percentage of users decide to donate and this model seems to work well for them that they can “afford” a small team of full-time developers.
“With the help of our users and fans, we’ve been able to grow from a small group of passionate volunteers into a tiny but sustainable company. Every little bit of support helps us improve elementary OS and tackle even more ambitious problems.”
Ruby Together is a community funded project that pays experts to develop and improve critical infrastructure projects. They clearly display their funding goals, what they plan to achieve with different levels of funding (such as hire a full time developer at $35k level) and you can follow their funding progress.
Font Awesome helps you add vector icons and social logos to your site and they had a very successful crowdfunding campaign with more than 35,000 backers pledging more than $1 million to bring the project to life.
A good place to get inspired by the different funding initiatives for open source projects is to explore Open Collective. Great open source projects such as CryptPad, Open Broadcaster Software and Qubes OS are all being funded through the platform.
Find what works best for your situation and your project
Explore the different options and different examples in this post. The list of funding methods above doesn’t mean that you have to choose and sticky to one business model only.
Ghost is a good example of a project that started with a crowdfunding campaign, later they introduced subscriptions to a premium hosted solution and now also accept donations from those who use the self-hosted version but are happy to contribute to keeping the project sustainable and the development ongoing.
These different business models and pricing models are a reasonable way of making sure that people working on open source software get paid for their time and hard work.
Financial sacrifice should not be required and more open source developers should be able to pay their rent with their project. This will make the whole free and open source software ecosystem much healthier and will provide even better alternatives to the proprietary and closed source products.