How To Make Money From Open Source
Those who want to get started in open source software often want to know how to make money from open source. Here are the main ways to earn money from open source: donations, grants, sponsorships, ads, and dual licencing. There are some extra ways to make money from open source that we’ll discuss later.
I’ll describe each of these categories in detail, but first let’s explore the history of open source. If you don’t want to do that, you can just skip over to the ways open source makes money.
What is Open Source?
The philosophy of open source dates back to the early era of computing, where programmers shared ideas in order to maximize the limits of the first computers. There was a collegiate atmosphere in the field of software development that trumped ideas over monetization. However, when computers became mainstream, commercialized software that would run on those computers threatened to cut off collaboration. It would be corporations who held a monopoly on code and ideas.
The Open Software Initiative was founded in 1998 to combat that problem. The idea was that source code would be shared to the public for free. The public would then be able to use and distribute the code with little to no restrictions.
But free access does not mean open source software has to be free of cost. There are ways to alleviate the pressure of having to continuously maintain projects that suck valuable time away, time you’re happy to share, but time nonetheless. The problem arises when money is introduced to a community that balks at the mention of commercialism as it pertains to open source.
Henry Zhu, the maintainer of Babel, countered the “freemium” ideology in an excellent TechCrunch article written months ago when he said, “We trust startups with millions of VC money and encourage a culture of ‘failing fast,’ yet somehow the idea of giving to volunteers who may have showed years of dedication is undesirable?”
In response to burnout, large open source repositories like Babel that take on a core group of maintainers have turned to sources of revenue that can co-exist with the open source creed. There are several companies like RedHat, Elastic, and MongoDB that are profitable despite being open source.
So, how can we make money from open source?
#1: We need loyal users
This seems to go without saying, but it’s important to understand that we need to build a great product before we can ever expect to monetize it effectively. The only way we can clear the “freemiun” hurdle is by building a tool that entices users to delve deeper. There’s a lot of competition out there in the open source world and we need to convince users of our credibility. That means crediting the right people and building a team of contributors that users can trust. Something as simple as a top notch documentation of the codebase can signal to users that the project is credible. As a result, they will be more willing to part with their money, trusting that the contributors have strong command of their project.
Once we have loyal users, we can then explore ways in which we can make money from the project.
Options for monetization
Donations and grants
Henry Zhu rightly mentioned the contradiction within the VC-backed startup culture where millions are poured into failing companies while large, proven open source projects are forced to gather whatever comes to them in the way of donations. On the other hand, the nature of donations have changed because of services like Kickstarter and GoFundMe. While these sites cater more to commercial products, 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.
Someone asking how to make money with open source is like a blogger asking how to make money blogging. The blogger provides useful information at no cost to his or her reader. So what do they do? They advertise/market/etc. I know that idea makes us developers cringe, but you have to put on your business hat if you want to make money with open source. Rather than fill the download page of your project with ads, you can tastefully include sponsorships if your project is heavily trafficked.
For thoses first embarking on a project, you can still think like a blogger. Why not market your project to sites like reddit and HackerNews? If your project is truly worth paying for, those communities will likely respond positively. They may create a word of mouth that sends traffic to your landing page.
Once you get a certain amount of traffic, you can usher in the sponsors. 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 truly 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.
What’s great about sponsorships is that if you make the right deals, you can make much more than you would on, say, Adsense because you essentially cut out the middleman. Also, by aligning yourself with companies like DigitalOcean you further legitimize your product, though that’s an admittedly small benefit.
In an age when Microsoft is trying so hard to show users that they support open source, now is the time to take advantage of this and leverage goodwill. There is money to be made by persuading a tech company that a sponsorship logo on an open source landing page is worth a lot of money.
If you’re wondering how to make money to develop open source project as a solo act, then you may be able to work in collaboration with government institutions to build open source technologies. Now that entire industries are moving online, you may be able to find a rare position that allows you to get paid a salary while doing what you love.
Providing paid support would be the next step in terms of monetization depending on the size of the project. In fact, it should be the first step, 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.
The sooner you think of your open source project as a business rather than a charity, the better. That’s because no tech business can thrive without good customer service. People will pay a premium for good customer service. So much so that speculators often buy businesses that have poor customer service, exponentially improve the customer service, and increase the price of the company’s products by 15%.
Paid support is something that should be a focus of your open source project if you want to make money with open source. The tech buzzword for this is called SaaS or software as a service.
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.
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.