Accepting donations shouldn't be the only way to monetize your open-source project. There are different ways to earn money with your project, depending on how involved you want to be.
This reference guide will walk you through 10 funding opportunities and real-life examples to help you get funded by the community. The goal is to help you make an informed decision.
In this context, the community is everyone who benefits from the open-source project. That includes, but is not limited to:
- users (customers)
All these community members can help fund the project.
The following list of 10 funding opportunities is not exhaustive; please let me know if something needs to be added or changed.
1. Financial Contributions (aka donations)
This is the default option for everyone. However, I used the term "financial contributions" because that's the more appropriate way to describe the nature of the transaction.
Contributors are the lifeline of all open-source projects. When we think of an open-source contributor, we usually think of a programmer contributing code. But open source projects have many contributors - writers, designers, translators, testers, and others.
Everyone contributes their skills and time. When someone makes a donation, they contribute money - a financial contribution. This is an excellent option for non-technical users who can't contribute code or other relevant skills.
There are many ways to accept financial contributions, including Open Collective, Patreon, LibraPay, GitHub Sponsors, PayPal, and others.
Some projects generate much more than ClassicPress in individual financial contributions (donations). Still, I'm including this as an example to show you that you don't need a large community. A small, dedicated community can get you started.
All contributors are volunteers, but ClassicPress is a non-profit and has infrastructure costs. When new directors (myself included) took over in June of 2022, there was no funding. My top priority was getting the community to fund us to cover about $100/mo in infrastructure costs. I set up an independent collective on Open Collective within a day, and we reached our goal within a few weeks. More on this in a future post.
As of this writing in July of 2023, the estimated monthly budget is $212/mo from 38 financial contributors, with $2,900 raised in the last 12 months.
Pixelfed uses Patreon and Open Collective to accept financial contributions from their community. As of July 2023, Pixelfed has raised $8,181 from 110 financial contributors on Open Collective. While on Patreon, Pixelfed (Daniel Supernault, the lead maintainer) earns $1,085/mo from 224 members.
Services like Kickstarter and Indiegogo can be used to raise funds for specific development goals, such as a major version, feature, or refactoring. Large campaigns require a lot of planning to ensure you can deliver the product and any additional benefits backers were promised.
However, you can run smaller crowdfunding campaigns that require less planning and no marketing collateral. It depends on the community's size, how much work you want to do, and how much you wish to raise. Smaller amounts and deliverables mean you can launch it and complete it quickly.
Example: Font Awesome 5
One great example is Font Awesome 5 campaign, which I backed in 2017 and still use. Font Awesome team asked for $30,000 but were able to raise $1,076,960 from 35,550 backers to create a brand new version of Font Awesome icon library.
You don't have to do an extensive crowdfunding campaign to get the community to fund your project. Modoboa is an excellent example of how you can get your community to fund specific features they want. For instance, Modoboa raised €700 from 18 community members to add two-factor authentication.
Businesses that use the software can be approached for sponsorships.
Sponsorships can come in many forms, from direct financial support to resources such as server space or development tools. This is a popular way to get businesses to fund open-source projects they already use.
If you know of any businesses (large or small) using your open-source project, consider approaching them about sponsorship. It doesn't hurt to ask. The worst they can say is "No."
Babel's top sponsor is Airbnb, which has contributed over $150,000 since April 2018.
Crowdfunding features from individual financial contributors (such as Modoboa) is one of many ways to get paid to build features. Wagtail is an excellent example of how an open source project can get corporate sponsors to pay for features they need.
Wagtail has a clear roadmap that shows the "Sponsor this" banner on specific features. Sponsors don't dictate what features will be added, but they can support the open-source project by funding specific features they may need.
For example, Mozilla Foundation sponsored built-in A/B testing to run variants of a page to improve user experiences and conversions. Motley Fool sponsored content workflow to help busy websites. Google sponsored Wegtail's next-generation page editor.
4. Managed Service or SaaS
Managed service (aka hosted service) or software as a service (SaaS) are two popular ways to run a profitable open-source business.
Many projects later add a managed service or SaaS offering as the project matures. While others build a business from the start with a free self-hosted community edition.
You have to be careful with your license when doing a managed service or SaaS because someone can take your free, open-source edition and sell their own managed service or SaaS. MongoDB and ElasticSearch are two well-known formerly open-source projects and businesses that changed their licenses to source-available licenses (not open source anymore) to prevent competition from larger vendors such as Amazon Web Services (AWS). When Elastic Search changed its license, AWS forked it and created OpenSearch to continue selling search and analytics suite to customers.
I believe in GPL and GPL-compatible licenses. I would choose that, but it's your project and your decision. Choose what fits your beliefs and needs.
While it's a popular option (managed or SaaS), it's only for some. To avoid running a business, consider partnering with a hosting provider. More on partnerships later.
Matomo (formerly Piwik) is the most popular open source Google Analytics alternative. You can easily self-host it, which is what many users do. However, Matomo offers a fully managed cloud version starting at $23/mo for 50,000 hits. Matomo didn't stop there.
The cloud version includes plugins with advanced features without any extra cost. Self-hosted users must pay for these plugins if they want to use them. For example, the activity log plugin is $29/mo, the custom reports plugin is $229/mo, and they have many more.
This is an excellent example of product diversification to increase profitability. Matomo caters its products to the community's needs. Advanced features encourage users to sign up for the managed cloud product, while self-hosted users can pay a la carte for the advanced features they want. This is a win-win situation.
Baserow, an open-source Airtable alternative, sells a SaaS version of their app. While Matomo Cloud is limited to a 21-day free trial, Baserow chose a freemium model.
You can start with a free plan limited to 3000 rows and 2GB of storage per workspace. When you need more, upgrade to the Premium plan for $5/user/mo or the Advanced plan for $20/user/mo.
In addition to the number of rows and storage space, paid plans include additional features the free plan doesn't include to incentivize upgrades.
5. Paid Support and Services
If you want to sell something other than a managed service, the next popular option is to offer paid support and services.
You're already offering free support on GitHub, Slack, forum, or any other channel you use to communicate with your community. It's time to charge for premium support and consider offering services.
Paid support means a dedicated support channel and reasonable response time. You can offer email support using help desk software (it's better to keep this separate from your regular email) or a dedicated channel/workspace in Slack (or Discord, Matrix, Mattermost, Zulip, etc.).
You also want to specify response times upfront to set proper expectations. 24-48 business hours response time is the gold standard. If you're including weekends, charge extra for that. Your time is valuable.
The services you choose to offer can be something as simple as an installation, updates, or troubleshooting a problem. These quick, fixed-fee services can generate income with little work.
On the other hand, you can sell software (web or app) development services, customizations, or consulting services. These are longer, more complex projects that you should charge a fair price.
The paid support starts at $69/mo; it includes priority support on GitHub issues. For $199/mo, you get a dedicated Slack channel, priority support on GitHub issues, 2 job listings on Mongoose's job board, and some tools.
For Mongoose, small and medium-sized businesses are the right target markets for paid support. "We should try to get support subscriptions with these bigger companies [Cisco, Atlassian, etc.] because they have huge budgets, but that hasn't proven to work out as well as we would hope," said Valeri Karpov, Mongoose's maintainer, in a webinar. "Mostly because small and medium businesses, the CEO or CTO may use Mongoose in their day-to-day, so people who have a budget have the authority to put down corporate cards are using Mongoose on a regular basis. They can actually feel the benefit from this Pro subscription."
You can watch Karpov's entire webinar about paid support on Upstream's website, it's very informative for anyone looking to offer paid support for their open source project.
Glitchtip, an open-source Sentry fork, offers paid support and services to self-hosted users while others can take advantage of their hosted version.
The paid support starts at $15/user/mo, which includes email and live chat support, and help updating the Glitchtip instance.
In addition to ongoing support, users can pay $500 for installation service. For anyone needing more help, Glitchtip offers a custom enterprise support.
You don't have to monetize the project itself. You can keep the core free for anyone to use, and instead create add-ons or plugins to add new functionality for a price. It can be a fixed, one-time fee, or recurring fee.
When you build add-ons to sell, you need to look at what your users need that the core is missing. Usually, it's advanced features such as data export/import; it can be something non-technical user needs such as drag-and-drop form builder; it can be time-saving feature such as pre-built components; it literally can be anything users need.
Don't be afraid to charge for add-ons and plugins. Users are willing to pay for something they need. Start low, with an early access price to test the water. Increase the price if you're getting sales, that means people do want it and the price is low. You can always introduce a sale.
As of July 2023, there are nine components, 12 third-party integrations, screencasts, and a few other items. The early access price is a $129 one-time fee, with the regular price being $179.
Example: Ninja Forms
WordPress ecosystem is full of premium plugins and themes. The space is very lucrative, with large enterprises and private equity firms acquiring premium plugins. Ninja Forms is a free drag-and-drop form builder plugin.
The core plugin is free; you can create as many forms as needed. Instead, Ninja Forms charges for add-ons. Add-ons are WordPress plugins adding advanced functionality to the free Ninja Forms core plugin. For example, if you want a multi-step form, you can get an add-on plugin for $49/year for a single site or $99/year for up to 20 sites.
In addition to single add-on pricing, Ninja Forms offers membership plans designed for specific use cases. Each plan comes with a pre-determined selection of add-ons.
For example, for $49/year for the first year and $99/year renewal, the Basic plan comes with four add-ons: File Uploads, Conditional Logic, Layout & Styles, and Multi-Step Forms. Plans also include premium support and 10% off single add-ons.
WordPress constantly changes, and plugins must be maintained and improved, allowing Ninja Forms to charge recurring fees. This is why it's essential to understand your community's needs.
Open source projects can (and should) sell merchandise, like t-shirts, mugs, stickers, etc., to their community. Users will buy branded merchandise (t-shirts and stickers are the two most popular items). Your community becomes your walking billboards. It's a great option to generate some income and increase brand awareness.
You don't have to spend a lot of money buying an inventory of merchandise. You can start for free using print-on-demand (POD) providers, who will print your stuff as you sell it (on demand). There are two options:
- Easy: Use a POD provider that allows users to place orders through their platform, so you don't have to manage an e-commerce website.
- For example, CafePress has a base price of $17.95 for a white t-shirt with a print. To earn $5, you would need to sell t-shirts for $22.95.
- Some work: Use a POD provider that provides integrations or API with existing ecommerce platforms (Shopify, WooCommerce, etc.). Or you can roll your own little checkout using Stripe and their API.
- One popular POD provider is Printful, which I used for my business in the past. The base price is $14.25 for a white t-shirt with a print. To earn $5, you would need to sell t-shirts for $19.95.
- GNOME Foundation's merchandise shop uses WooCommerce/Printful combination (as far as I can tell). It's a good option if you want to control the shopping experience, payment gateway, and sell merchandise at a lower price.
At ClassicPress, we chose the "easy" option (CafePress) as we don't have time to fiddle with custom integrations. One other option I've been looking at is Spreadshirt. They offer promos, discounts, and even free shipping occasionally. That's a great way to incentivize purchases. People tend to complain about shipping prices and availability a lot.
Example: Merchandise Shops
These are merchandise shops from the image above:
Some open-source projects serve ads to their users. You have to be comfortable with the ethical baggage of serving ads. You don't want to overdo it, but you should also not be afraid to use ads to generate income.
Done right, serving ads can be very helpful in generating income. This is especially true if you can sell advertising placements directly to advertisers (or sponsors). You don't have to use ad platforms.
Many people use ad-blockers. If you choose to show ads, make sure it's not the only source of income. Consider implementing other funding opportunities in this guide.
Bootstrap is one of the most popular front-end frameworks available. If you visit the Bootstrap website and the documentation with your ad-blocker disabled, you will see they use Carbon ads sparingly - one ad above the fold per page.
Carbon Ads, offered through BuySellAds, caters to developers, creators, and designers. If your users fall into one of those categories, that could be a way for you to monetize your project. Otherwise, you won't be able to use Carbon ads, but BuySellAds might still be able to help you as they cater to many types of audiences.
Example: Read the Docs
Read the Docs is an excellent example of how to do advertising right. It is an open-source project which offers an ad-supported hosted freemium plan with an option to go ad-free.
For example, Django-Allauth uses ad-supported Read the Docs to power its documentation website.
In addition to ad-supported plans, they offer ad-free paid plans for businesses. Many open-source projects use Read the Docs to power their documentation websites for free, while Read the Docs serves ads to fund their business.
However, in addition to their open-source SaaS business, they also started Ethical Ads to allow others to run ads without any tracking. The only caveat, their ads only target developers - our project must cater to developers.
For example, Flask runs Ethical Ads on its website.
9. Affiliate Marketing
Affiliate marketing (also known as referrals) is a popular way to earn income online, and open-source maintainers should be open to it. It's much more ethical than advertising if you recommend good quality products and services. Whatever you recommend should be relevant to the open-source project and/or the community.
You're already using products and services daily, so you should find out which offers an affiliate or referral program to earn commissions. Personal recommendations are a powerful trust indicator and boost sales.
Affiliate vs. Referral Programs
You must understand the difference between affiliate and referral programs to know what to apply for:
- Affiliate programs are usually open to the general public, although some will limit the program to its customers. These programs might include specific requirements you have to meet to be accepted (e.g., traffic, social media following, etc.). The commissions are usually percentage-based but can be fixed amount.
- Referral programs are for customers, so you can refer people you know. The commission is usually credit to be spent with the business you're recommending, and it will be a fixed amount. Referral programs will also offer credit for the users that sign up using your referral link, which incentivizes them to sign up.
The programs, eligibility, and commissions vary from business to business. Keep that in mind.
Affiliate/Referral Programs To Consider
- Hosting and infrastructure: Many open-source projects use hosting and infrastructure providers. Some of them offer affiliate or referral programs. This is a great way to recommend a service you use while earning a commission. Hosting providers with affiliate or referral programs include Digital Ocean (affiliate and referral), Vultr (referral), Linode (affiliate or referral), and many others.
- WordPress ecosystem: If you're part of the WordPress ecosystem, consider promoting plugins and themes you use. Most premium plugins and themes will have an affiliate program. For example, I use and recommend Gravity Forms and Astra theme.
- Affiliate marketplaces: Many businesses will use affiliate marketplaces to manage their affiliate programs. You can sign up, find, and apply to these affiliate programs. Popular affiliate marketplaces include CJ, Impact, and ShareASale, to name a few.
Try it with a business you use daily and love if they have an affiliate or referral program. The decision is yours.
ODK, a suite of open-source tools that help organizations collect and manage data, promotes their DigitalOcean referral link in the installation instructions for the self-hosted version. This is a relevant placement for this referral link because anyone trying to install a self-hosted ODK is bound to use the referral link to get free credit.
This is a smart, simple way to monetize the free, self-hosted version while selling the cloud version.
CapRover is an app on DigitalOcean's Marketplace, which users can deploy to their servers. CapRover mentions a $100 credit at the beginning of the guide, but the referral link is the "Create a Droplet" link to deploy their app using the DigitalOcean server.
This is a smart way to earn referral credit while helping users to deploy your app quickly while getting $100 credit.
Partnerships with other businesses, organizations, and maintainers can be formed to support the project's development.
Many partnerships can be classified as "Sponsorships" discussed earlier. I wanted to keep partnerships separate because it's possible to have a partnership different from your typical financial sponsorship.
There are many ways to structure a partnership based on the project, audience, and the partner's business needs to figure out a mutually beneficial relationship.
Example: Tidelift Lifter Program
One example is Tidelift's Lifter program, which helps open source creators "build a scalable income stream around their open source projects, by co-creating and promoting a product that's valuable to our enterprise customers. When you partner with Tidelift, you'll be working with us to provide the same kinds of maintenance and assurance guarantees for your project that enterprise customers have traditionally expected from commercial software."
When Tidelift's customers use your open-source project as a dependency, you receive a portion of their subscription fees. It sounds great, but there is a caveat: you have some work to do as "Lifter tasks."
Tidelift offers a search function that allows you to find your project and see if there is any income potential. Check it out and see if this type of partnership is right for you and your project.
Stackaid is an interesting service. It provides a way for open-source maintainers to help fund their dependencies. The service heavily focuses on npm packages by using the GitHub app to monitor dependencies. However, it is possible to curate a manual list of dependencies using stackaid.json.
If you want to help maintainers of your dependencies, you can subscribe to the Stackaid plan, which will distribute payment to your dependencies.
If you want to get paid, you can claim your project to receive funds from anyone using your project as a dependency.
Earlier in this guide, I covered hosted service (SaaS), which is an excellent option to monetize your open source project if you want to run a business.
If you want to avoid running a SaaS business, another option is to find a hosting partner. There are different ways of structuring this type of relationship, but when you're getting started, the best option that carries a low risk for everyone is to get paid when your partner gets paid. You promote them on your website and get paid when they get paid.
If you're a larger project with an existing user base, you can ask for minimum commitments from your partners. Nextcloud has a partner program, which requires an annual commitment of €6,000.
While they have many partners, they promote IONOS on their Enterprise page. I don't know the details; I can only assume it comes with a price. You can consider doing it if you have more than one partner.
What To Choose
Now you know your options to get your community to fund you and your project. Only you can decide what's right for you, your community, and all other stakeholders.
You may disagree with some of the options listed. That's your right. This reference guide was written to help you understand your options and to help you make an informed decision. The decision is yours.
Figure out what you want to do: run a business or a side hustle.
This will help you choose the right combination of funding opportunities from this guide.
Remember, don't pick one - diversify to maximize your profits.
Don't shy away from the word "profit." You do the work; you deserve to get paid for that work. Profits pay bills.
Over the next few months I will go in depth into each funding opportunity with case studies. Sign up to my newsletter to be notified.
If you have questions, suggestions, or any other feedback, don't hesitate to contact me. I'm here to help you.