Open source code is freely available. That seems to me like sources of free money. After all, why wouldn’t somebody just steal it and make a buck? At least that’s the common misconception about open source I had before I started using this stuff. But you know what? It turns out there are actually lots of ways to whip up some revenue without breaking the spirit of open source directly–and that’s what this book is about.
People think that they can “give away” open source code, and people will come and magically fill their bank account with money because of it. While there are many companies that are jumping on the open source bandwagon, very few are actually making money from their open source contributions. This book will provide a step by step process for anyone to follow. By following our simple process, you too can profit from your open source code.
Offering paid support is one of the most straightforward revenue streams for all kinds of open source projects. As a project maintainer, you have a lot of knowledge about the codebase. This puts you in the position to offer consultancy or support services to companies that want to use your code.
On the other hand, offering paid support doesn’t provide a scalable business model for open source projects. Because most projects are maintained by a few developers, there’s limited time for them to offer support to companies. Bear in mind the time required to improve the functionality and maintain the codebase.
In conclusion, it’s an effective way to earn some money as an open source maintainer and keep the project going.
Bug bounty programs
Bug hunting, or as it’s usually known, bug bounty programs, is a way of earning money either by reporting errors on other systems or by solving them and submitting your pull requests with the code that fixes them. These programs are usually part of the entire vulnerability audit of the software being tested and accompany other internal processes the developers are implementing.
There are very big companies who submit their products for this type of treatment, and when we say “big,” we’re not kidding. With a basic search, we can find some interesting options, but in order to keep with the theme of “making money from open source,” here are some examples of high-paying organizations with bug bounty programs on their open-source products:
- Mozilla: They have two main programs, one for their actual software and one for their websites. Offering to pay up to $10,000 on the first one and up to $5,000 on the latter.
- Apache: This web server is probably known to most (if not all) back-end developers. Through its program it pays bounties of up to $3,000 to those able to solve the most critical bugs.
- Google Android: Also interested in making the most stable and secure mobile OS out there, Google offers up to $150,000 dollars for the most critical problems found and solved (yes, you read that number right).
There are many different lists of bug bounty programs, but you can find a good, up-to-date one on this website. Overall, this option is quite lucrative if you are able to put in the hours. That being said, you also need to specialize your knowledge and focus on security bugs if you want to reap the big rewards.
Last but certainly not least, aside from bug bounties, you can also get paid by fulfilling OSS (open-source software) bounties over at BOSS, a relatively new initiative that has lots of potential. Here, project owners can submit development tasks that they pay for on completion. This is certainly not as lucrative as the above programs but also requires less of a focus on security and can be tackled with a more generic software development profile.
Sell Value-Added Enhancements
Although the basic open source software may be free, you can create and sell add-ons that provide additional value. For example, the open source WordPress blogging platform includes support for themes or visual layouts. Many free themes of varying quality are available. Several businesses have come along, such as WooThemes and AppThemes, who sell polished themes for WordPress.
Either the original creators or third-parties can make and sell enhancements for open source projects, making this option a great opportunity for making money.
Software as a Service
An open source project that has generated plenty of demand can choose to offer a Software as a Service (SaaS) business model. This model is most viable for projects that offer a complete application, such as a publishing platform, monitoring tool, or marketing automation tool.
Developers can choose to host the software themselves. However, this means that they have to take care of security, security, and maintenance.
It’s often much easier and cheaper to pay for a managed offering under a SaaS model. Developers pay a monthly fee to use the hosted solution. Therefore, they can focus on the tool itself instead of all maintenance-related tasks. Moreover, a marketing or content team often doesn’t have the required technical knowledge to host a solution themselves. For that reason, a SaaS solution is a great alternative to make money from open source software.
Some software projects are difficult to use without documentation. Making the source code available at no cost does not obligate you to give away the documentation. Consider the example of Shopp, an e-commerce plugin for WordPress. Shopp is an open source project, but to access the documentation you need to pay for a license that provides entry into the website. It is possible — and perfectly legal — to set up a Shopp store using the source code without documentation, but it takes longer and you won’t know all the features available.
Even if you did not create the open source software, you can author a manual sharing your expertise and then sell that book either through e-publishing channels or traditional book publishers.
The second prerequisite is primary credibility within the community. This is important because it enables the open-source company to build an efficient sales and marketing process, which is especially important given the low monetization rates.
Having “primary credibility” means that anyone who needs help with the software reaches out to the open-source company and not someone else for assistance. Not having this credibility means having to slog it out with others in the market for that attention, leading to a far less efficient business model and lower margins.
The value of primary credibility, which today is often achieved by being the main contributors to the project, can be seen by comparing the market caps, annualized revenue, and multiples of Elastic ($4.59 billion market cap, $160 million revenue, 29x) and MongoDB ($3.97 billion market cap, $155 million revenue, 26x) vs. (pre-merger) Hortonworks ($1.23 billion market cap, $262 million revenue, 5x) and Cloudera ($1.73 billion market cap, $367 million revenue, 5x). (Market caps as of November 27, 2018; revenue numbers are from latest reported fiscal year.)
Because Elastic and MongoDB had primary credibility in their respective communities, they were able to build a much more efficient business model, and capture far more value with less revenue than either Hortonworks or Cloudera, who had to raise more money and fight fiercely over the Hadoop market. (One could even speculate that the need to possess primary credibility was one of the reasons behind the recent Hortonworks/Cloudera merger.)
Once an open-source company has broad adoption and primary credibility, it can build a pipeline of companies who need assistance, and start layering in a variety of business models to build a sustainable business.
Since May 23, 2019, GitHub introduced GitHub Sponsors.
“The world runs on open source. None of it would be possible without the global team of maintainers, designers, programmers, researchers, teachers, writers, leaders—and more—who devote themselves to pushing technology forward. These extraordinary developers can now receive funding from the community that depends on their work, seamlessly through their GitHub profiles.”
The primary benefit of using GitHub Sponsors is that they charge zero fees. 100% of sponsorships go to the developers. The feature aims to reward developers for maintaining free software. Yet, alternatives exist to receive sponsorships, such as Open Collective or Patreon.
(Source: Babel sponsors on GitHub)
Sponsorships are a great revenue stream for well-established open source projects that require more funds to stay afloat.
Sell associated content
Following on from point #3, you could also look at writing content for OSS rather than maintaining it or providing direct support for a product. If this sounds appealing, look for popular, or even quickly rising, OSS products and start creating user tutorials for them.
Here are a few examples of how you can create content for OSS products:
- Write and sell books about them. This can be done both through self-publishing or by pitching topics to publishers. The latter will take care of the editorial process and publishing steps, letting you focus on the writing. You’ll have to split the earnings with them, of course, but it will be worth it.
- Create video courses for platforms such as Udemy and Pluralsight. Doing this will generate passive income in the same way books do after you’ve published them. Plus, these platforms usually provide video training.
- Write sponsored posts about the products. This does not mean the owner of the open-source product will always pay you to write these posts, rather that some blogs will be interested in the topic and will be willing to pay writers to provide content about other topics.
In all these cases, it’s important to understand that, to make money from an open-source product, you don’t really need to write code. You can provide user-specific content based on these products and still make money.
Making money with open-source code might seem difficult. How do you even know where to start? How do you make sure that the code is free and within the laws of open-source? This book will answer all of these questions and more.