How To Make Money From Open Source
Here are the main ways to earn money from open source: donations, grants, sponsorships, ads, licencing, open core, and SaaS. I’ll give a brief overview of these methods below:
Donations and grants
An innovative open source project can take advantage of crowdsourcing by linking its Kickstarter or GoFundMe account within its GitHub page. This may not seem to much different from the usual “pay for my coffee” Paypal donations at first, but many projects don’t detail why donations are needed. Many users think that projects are maintained by a horde of developers who have plenty of time to spare on these projects. A well constructed pitch can have the potential to fuel contributions from large companies who would like to use the software.
Specifically, there are software foundations that offer grants. You can check out the Python Software foundation, the Sloan foundation, and Mozilla Open Source Support.
If you have a lot of users downloading your project, you can have companies like BlueOcean sponsor your project. You can email companies that you will like to become sponsors with and send them your metrics or you can create a sponsorship form for companies to pitch you offers. A website that uses sponsors well is dev.to, a developer community website. It’s not open source, but the site has an open source/github aesthetic. You hardly notice the sponsors and there are no tacky ads. It’s a win-win.
Speaking of ads, there are tasteful ads out there that those in the dev community already take advantage of. You can check out Ethical Ads, and ad network that imbibes a privacy ethos. These sorts of ads fit with the dev culture and won’t get you ostracized.
Providing paid support is one of the best ways to monetize, because many businesses won’t sniff your software if they can’t get reliable customer service. The point of using open source software is to save time, but if a business has to waste that time fixing issues with a project, then they might as well build their own. Your knowledge of the project is more valuable than the project in a sense.
You can offer your expertise as a service for companies who don’t want to have their engineers run through the source code. You can provide installation, usage, and troubleshooting services to the company. Not to mention the optimization techniques that companies will want you to implement due to your know-how.
But then you have the issue of the middleman and companies may be wary of paying the middleman when they can have the expert. At that point, the business hat has to come on again. If you’re making a lot of money in the service business, you might have to invest in a support engineer. If not, then you can always hike the price up to lower demand. Or do both. Again, people are always willing to pay a premium for excellent service.
(I’m not in anyway sponsored by any of these companies I’m mentioning, by the way.)
The concept behind dual licensing isn’t new. Software companies often offer a free version for casual users and a paid version for enterprises. The same idea can be applied to open source software. The open source philosophy can be applied to individual users who may use the software without the intention to monetize any application built with the software while anyone who wants to use the software for commercial purposes would have to pay a fee.
A company like Licence Zero streamlines this process by providing two licence options: the prosperity and parity licenses. The former allows a 32 day free trial for commercial users while the latter forces the commercial user to open source their software. Either way, the idea is to make sure those who can afford to support the open source project do so.
One of the best ways to make money from open source is to follow the premium model, where you allow users to freely use some features within your project while restricting other features for power users(enterprises, etc.). The key here is in balancing what you keep as open source with what you decide to keep proprietary.
You shouldn’t make users feel that they have to pay for premium features to use your project. You can avoid potential issues by pinning down the features that one would need to scale their project from an MVP stage to production. The tools that will be useful for deployment and production should be made proprietary so that you can make a customer out of a company.
What’s cool about this strategy is that you can also bundle paid support for the proprieatary features. Rather than providing support for the entire project, you can allocate time and effort to help clients that have already proven that they’re willing to pay premium.
Software as a Service
You can host your project so that users don’t have to worry about maintanance headaches like upgrades, downtime, and backups. Then, you can charge your users a fee for this service. SaaS is commonly used to side-step all the issues involved with paid support. It’s a scalable version of paid support thanks to the cloud.
In order for the best projects to continue to thrive, we need to find ways to fund them while still maintaining open source principles. The goal of open source was to provide code that can be shared by other coders. Now that developers have become increasingly been dependent on repositories like Babel, the balance has shifted somewhat and has made some projects more of a service than a collaboration. Oftentimes, a cocktail of strategies have to be used to overcome the small conversion rate involved with open source.