Open source plays a crucial role in modern software development and the software industry’s continued growth. Heck, open source developers even helped the first Mars Helicopter, Ingenuity, take off!
Despite the fact that plenty of well-funded projects and companies are relatively reliant on open source projects to carry out their own day-to-day work, many open source projects struggle to get funding themselves. This means that developers often invest their own time and resources into developing and maintaining the project.
The good news is that this doesn’t have to be the norm. There are many ways for developers to get compensated for the work they do and the value they contribute to the community. Even better news, you don’t have to make money from your own projects. You can also contribute to existing projects or create content around popular projects that enhance the users’ experience.
In this article, we’ll look at the different ways to get funding for your open source project and the crucial role of marketing your open source project along the way.
Who funds open source projects?
Before we jump into how to raise funds, it’s important to know who you’ll be raising funds from. When you know who you’re raising money from, it’s easier to figure out which funding platforms to use, what ancillary products you can create to generate income, and how to best communicate your fundraising goals.
More often than not, the people you’ll be raising money from are the people who use your project. Broadly speaking, they fall into one of these three categories:
Companies fund open source projects all the time. If your project contributes to the core component of a company, they have vested interest in ensuring the long-term stability of your project. However, you might encounter ethical dilemmas, especially since most companies are using your open source project to create and profit off proprietary software.
The open source community
While there’s no harm raising funds from other like-minded individuals, there’s the problem of creating a closed ecosystem as highlighted by James Turner, where "developers are paying other developers who themselves are paying other developers". James also points out that a closed system like this often leads to diminishing returns as payment gateway fees slowly chip away at the shared pool of money.
To keep things simple, "consumers" refers to both developers and other consumers who might download an open source project here and there, but do not actively contribute to the project. Given that they’re not as involved in the open source community, securing a sizable donation from this segment might be a little challenging.
Making money from open source
Bug bounty programs
Developers can make a decent amount of money reporting and/or fixing bugs on other systems. Sites like bugcrowd help companies “crowdsource security”, and developers can get paid up to $10,000 for reporting vulnerabilities. HackerOne, another bug bounty platform, reports an average payout of $979 per report.
Bounties for Open Source Software (BOSS), allows open source project owners to post development tasks and pay for them upon completion. This way, project maintainers and contributors are able to get compensated for the time and energy they’ve put into a project. That said, the rewards for these bounties are not nearly as lucrative as solving security bugs.
Crowdfunding has become a popular way to secure the necessary funds to update and maintain open source projects. While one-off donations can be helpful, the truth is, they’re just not sustainable. So in this section, we’re going to focus on recurring or monthly donations and the platforms that support it.
There are a ton of different platforms available, and the most popular one for open source at the moment is GitHub Sponsors. While donors can sponsor from all over the world, at the time of writing this, project owners need to reside in one of these 36 countries to receive funds.
According to GitHub, they plan to prioritize developers (and countries) with contributors who are most eager to support them. So, if you’d like to recommend another developer for GitHub Sponsor, please fill out this form.
Each of these platforms allow you to create donation tiers which you can name to reflect your different user groups, for example, “Individual”, “Startup”, and “Agency”. Bear in mind that you’ll also need to pay a small subscription fee per month to use these platforms.
Offering paid licenses for commercial use is a great way to generate income off your open source projects. With dual licensing, open source projects are free for private use, but a paid license is required if users derive and sell proprietary software from the project.
With copyleft licenses, authors allow others to use, modify and share their work, so long as the derivative work also respects the author’s wishes, i.e. the derivative work can also be used, modified and shared again.
For a comprehensive list of licenses and their terms and conditions, check out this guide by Open Source Initiative or this guide by WhiteSource Software for a more in-depth comparison between licenses. Here’s a guide by FOSSA to help you apply the license to your project.
Selling ancillary products or services
One of the most popular ways to make money from open source projects is to create ancillary products or services around a main project. The best part is that you can create these add-ons for other open source projects, not just the ones you own.
Here are some examples of additional products or services you can create and sell:
- Paid support - Offer support to users for a monthly free
- Educational products - Create exclusive guides, tutorial and videos for paid users
- Extra features or plugins - Create additional features exclusive to paying users; features or plugins can be bundled based on subscription tiers as well
- Templates - Create presets for users to simplify their workflows
- Certifications - Offer paid certification programs
While there’s no quick “hack” to generating a steady income from open source projects, there are developers who have experimented with different ways to make a sustainable income off of their open source projects. For example, Caleb Porzio, creator of Livewire, sells a combination of exclusive features, subscriptions to user guides, and tutorials to generate $100k per year.
If you’re interested in creating guides and tutorials, check out Only Sponsors, a platform that simplifies how developers publish written and video tutorials to generate an income around their projects.
Turning your project into a product
You can turn your open source project into a product by opting for an OpenSaaS model where users are charged a subscription fee for the hosted version of your project, while the self-hosted version stays free. In addition, the monthly subscription also comes with other benefits like customer support, additional features and so on.
Be mindful that building a company from a project is a huge undertaking and there will be other less exciting aspects of running a business that you would need to manage.
The road to sustainability
Petabridge CTO, Aaron Stannard, wrote about open source burn out, which happens once the initial excitement of launching a project wears off, the burden of fixing a growing backlog of bugs sets in, and the chore of creating more documentation becomes hard to overcome.
To avoid this, developers need long-term incentives to continue maintaining and building their projects. Most of the time, long-term sustainability looks like cold hard cash. 💰
Marketing your open source project
If you want to turn open source into a sustainable venture, you need to stand out from the millions of open source projects available.
While developers might hesitate to promote their own work, generating awareness and building a community of loyal users who want to give back to the project is essential.
The good news is that marketing an open source project can look very different from how for-profit companies promote and sell their products. This is because your goal as an open source developer is to build a community that fosters collaboration, empowers users to get involved, and encourages other developers to advocate for your project.
Build your community
Take a look at some of these numbers:
- Hosts a podcast, rated 4.9 out of 5 stars
- 24k followers on Twitter
- 2.8k followers on GitHub
- 1,300 sponsors on GitHub worth $100k per year
- Runs a popular YouTube channel with 146k subscribers
- 13.6k followers on Twitter
- 8.6k followers on GitHub
- Self-published a highly rated ebook
- 250 sponsors across GitHub and Patreon worth $26k per year
- Created Only Sponsors
- Frequent speaker at conferences and on podcasts
- 11.3k followers on Twitter
- 2.9k followers on GitHub
- 80 sponsors on GitHub worth $33k per year
What do these project owners have in common?
They have a sizable following of folks interested in learning about and contributing to their project. They’ve been creating content, promoting their work, and building a community long before they began asking for recurring donations.
If you’re hoping to crowdfund your income, then marketing your project and building an engaged community is crucial to your success.
According to Deirdré Straughan, here are the marketing tools you can use to build your community:
- Your project should be made up of well-structured and easy-to-understand code
- A polished GitHub profile and GitHub repository
- Documentation that clearly explains all commands, parameters and outputs
- Additional documentation such as videos, guides, and whitepapers can also be useful (e.g. Livewire also charges for the additional educational content)
- A great website for yourself or your project
- Discoverable content that is relevant to your users and optimized for search
- High community engagement created by responding to emails, comments, and tweets, and encouraging feedback from and discussion among users.
Try being transparent about your income
Projects like Django REST Framework, smaller initiatives like Homebrew, and independent CMS Ghost, publicly share what their donations are spent on. As an individual project owner, it is common for developers to publicly share their donation goals as well.
Buffer, a social media publishing and engagement tool, is well known for their transparent culture. Over the years, their founders have written and spoken extensively about the importance of being transparent in how they run the company. Anyone can look up their employee salaries, annual revenues, product roadmap, and even their diversity data.
Buffer’s team believes that transparency not only leads to greater trust among users, but also to greater innovation, greater justice by reducing unfairness and inequality, and encourages more feedback from users and team members.
Many of these benefits outlined by Buffer mirror the values held by the open source community. The challenge comes in executing these efforts consistently.
Ask for something meaningful
While researching this article, I found a lot of Patreon and GitHub Sponsor profiles where the lowest donation amount was $1 accompanied by a sentence like “Get a warm fuzzy feeling for supporting us”.
If you break down your hourly rate, say you make $40 per hour, you’ll need 40 people to contribute $1 every month for one hour of your time, skills and expertise. This won’t scale.
Instead, try asking for something more substantial, an amount that is feasible for your community of users, bearing in mind the hours you put in for them. For Caleb Porazio, this was $14 a month.
Generating enough income to sustain your open source work does not have to be a pipe dream. There are many developers out there who are already doing so, but they did not achieve their successes over night.
The road to sustainably generated income is long and windy, so be prepared to experiment and pivot. Always stay focused on your users, and build a supportive community for them. Promote your work so that you attract the right people, give as much as you’d expect in return, and please, don't be afraid to ask for something worth more than a cup of coffee.