Monetizing Your Open Source Project
We double down on our open source projects without knowing how we make money with it. Open source software is accessible for free, so how can we make it sustainable? Let’s look at what could work.
Too many open source projects die because developers burn out to deliver fantastic software in their free time. That’s not how it should be, so what’s the alternative? We researched the topic and concluded there is not that one answer to the question.
What works for you depends on your project’s type, what you want to do, who you develop the software for, and many more things. Here is a list of ideas you can try or even combine to make money with your open source projects. Hopefully, that helps you to free more time for the things you love to work on.
People are kind, so why not adding a donate button to your README? That’s an easy way to get a little money for your work. Unfortunately, that didn’t work for us. We asked for donations for our work on tiptap, a popular package that took us a few hundred hours to develop.
Hundreds of developers, companies, and even a few big corporations use it, but we earned less than $300 through PayPal donations over the last three years. Don’t get me wrong, we are very thankful for every dollar, but this makes an hourly rate of less than $1. That’s not sustainable, and not enough to work less on client projects and more on the bespoken project.
Your source code can stay open source, but add a license that requires people to pay for permission to use it in their projects. And to keep it fair, you can exclude non-commercial projects, non-profit organizations, students, and other open source projects.
Note, it might be hard to enforce the license for publicly accessible source code.
If you don’t want to waste time enforcing a license, you could sell a goodwill license. It’s in between donations and regular licenses, where you kindly ask the users of your project to pay. But inside companies, it’s easier to argue for paying for a license than for a donation.
Some developers or companies need support to use your software. You can offer them support contracts, e. g. to promise a short response time for bug reports or availability for calls. Some companies require this level of support, some will use it extensively, and some won’t ever use it.
Offering support can work well for teams but can be a distraction from the work they are good at for single developers.
If you open sourced something like a complex library, companies might want to hire you to implement your solution in their system. They know that you are the expert for the software you’ve written and happily pay you, even if it’s more than an average freelancer rate.
If you enjoy open source because you didn’t want to work with clients, that’s probably not for you. On the other hand, you’ll always use your code, which will help better understand the needs to implement your software.
Your software can have multiple licenses. For example, a basic version can be free for everyone, while another version, probably more tailored to what companies need, can be licensed differently.
Your publicly accessible software still allows collaboration. You would probably want to keep the advanced version closed to enforce the license. Keep in mind that maintaining different versions of software in parallel is more complicated.
Also, consider offering a free version for everyone and add a few benefits for professional use that are only available for paying users.
Those extra benefits can be access to more features/plugins or other things like a community with restricted access.
If your software needs hosting and can be self-hosted, consider offering a managed hosting solution. Many people don’t want to operate their instance and happily pay you to do that for them.
You need to develop something to sell it, provision new instances, and maintain them. It’s a very fair approach and can work well, as you’ll always have people paying for convenience.
There are so many platforms tailored to easily offer sponsorship subscriptions to your users that you should think about adding this. But be aware that it’s the same as with donations. You won’t get many sponsors, but it’s recurring revenue that can help you feel safe.
Some companies make open source part of your day job. If you don’t need to work on an own project, but love a regular job’s safety, consider looking for such an employer.
People always request features. Try turning feature requests into sponsored work, and offer to add those features in exchange for money. If multiple users or companies ask for the same functionality, you can even offer to share the development costs. Don’t forget to mention your sponsors in the release notes!
Bounties enable users to attach money to a bug report. In most cases, that’s only a few dollars, but it doesn’t have to be you working on it. It can also motivate contributors to help you with the maintenance, which is cool too.
Sponsorware is a way to offer sponsors early-access to private repositories. When you reach a certain number of sponsors, you can open source the project and make it available to everyone.
It will help if you start new projects regularly and have an audience that can’t wait to test them.
You can use your open source work as marketing for yourself and build up an audience. It takes time and doesn’t make you money from that alone, but it’s a chance to sell something additional. You probably know what your followers want, so it can be great to build something for them and make money with that.
It’s a lot of extra work on top of your open source projects. You should consider this if you are very active on social media anyway.
You are the expert for your software, so I’d want to learn more about your software. I prefer to get that educational content from you. Consider publishing an ebook or a video course that explains your software in all details and helps people use it.
With an existing audience interested in your software, there is a good chance people are willing to pay you upfront to work on your project. It’s an excellent approach for something tangible, like a significant rewrite, a big shift in the development, or any other effort the community is willing to support.
If you’ve got widespread documentation with thousands of page views every month, you’ll be able to put ads on it and earn money with that.
It’s not what we like to do because it’s little money to sell people’s privacy using your software. That said, some companies try to take an ethical approach to ads.
If your software has a brand and people identify with it, a shop might work well for you. You can sell stickers, shirts, caps, posters, and whatnot.
Those products still cost you money, so you’ll only earn a part of what the customer pays for the product.
Maybe you have a software that can be the foundation for a whole ecosystem. Then you have the chance to add commercial products to the universe of your software.
People will buy your products because you’ll tailor them precisely for the software you built in the first place.
If companies are looking for developers with knowledge of your software, you can certify developers’ abilities. But if you already reached that level of popularity, you probably don’t need that post here anyway.
That said, we’ll hope that your open source project gains popularity and the list of things you can do somehow helps you make the maintenance and development sustainable.
Let’s face it—nobody profits from abandoned open source projects.
That should give you a rough idea of what directions you could take. If you’re looking for a more in-depth guide on that topic, be sure to check out the handy guide to financial support for open source.