How to earn money from open source projects
Most people, when they think of open source software, imagine enthusiastic and generous developers who spend their days and nights creating software for free. Indeed, for a few decades “open source software” was synonymous with “free software.” Developing software with open code through group effort excluded the opportunity for profit. But today there are ways to profit from building open source software (OSS).
Lately, developers have started thinking about how to monetize their OSS. We’re going to highlight a few common ways to make profits from open source software.
Software as a Service (OpenSaaS)
One way to monetize your open source project is by using the SaaS business model. This option makes sense if you have a fully-fledged application capable of generating demand. The SaaS model is a popular way to license software because it’s flexible and offers rapid deployment and decreased costs. What makes SaaS attractive is that the software is stored in the cloud; users only need a web browser to access an application. SaaS is a popular business model for vendors that build tools for HR, collaboration, content management, and project management.
SaaS solutions with a free codebase reduce development costs and eliminate the need to build redundant functionality. Additionally, the vibrant OSS community will gladly promote quality open source products. With an OpenSaaS model, software is purchased via subscriptions, which can offer varying levels of service. For example, you might offer technical support, software customization, and trainings as package options. WordPress and Sharetribe are two bright examples of OpenSaaS products. Let’s see how they function.
WordPress as OpenSaaS
WordPress effectively functions as a free SaaS product: it’s an open platform, and it offers subscription plans with extra features like unlimited storage, automatic backups, customizable themes, and custom domain names. We say “effectively,” however, because WordPress technically comes in the form of a software product you can install on your own web server and maintain independently. The SaaS version of WordPress can be found at wordpress.com. If you choose this service, then WordPress hosts your application for you. However, since there’s no vendor lock-in, a customer can easily switch to a self-hosted WordPress version any time.
Sharetribe as OpenSaaS
Sharetribe, a marketplace builder, is another great example of an OpenSaaS product. It comes in two versions: a self-hosted free version which can be found on GitHub, and a cloud-based hosted version at sharetribe.com. With the SaaS version of Sharetribe, customers receive software hosted on Sharetribe’s servers along with full-cycle support and maintenance, from installation to backups. With the SaaS version, customers don’t have to worry about updating their software, as this is done by Sharetribe. But while the SaaS version receives great support and additional offerings like custom domain and removal of Sharetribe branding, this version of Sharetribe is less customizable, only allowing you to personalize marketplace filters and change colors, images, and block position in the user interface.
With the open source version of Sharetribe, on the other hand, the customer has to deploy Sharetribe on their own server and run updates and backups themselves. The GitHub community offers decent support, but ultimately you’re on your own.
Though there aren’t many examples of OpenSaaS products on the market today, we feel that this business model is just beginning. The term ‘OpenSaaS’ was only coined in 2011 by Dris Buytaert, creator of Drupal. OpenSaaS is an exciting new trend that combines the best of both worlds, allowing people to build web experiences more easily than ever.
Many OSS companies succeed by providing extra services.
Such as technical support, certifications, and trainings. In fact, most professional open source companies – including Red Hat, JBoss, and MySQl – have built their entire business by providing free solutions. They generate profits only from additional services.
The most common way to get revenue from OSS is to provide paid support. Red Hat sets the bar for this model, boasting substantial revenue. In 2016, the company – widely known for its enterprise operating system, Red Hat Enterprise Linux – announced a profit of 2.05 billion dollars.
Red Hat does admirably by selling yearly subscriptions for user and technical support. Customers can choose a subscription plan based on number of requests, severity of requests, support channels and hours of coverage. MySQL, the leading open source database, derives revenue from selling support subscriptions for their product.
Paid support is an effective tool for making profit from open source for a few reasons. First, enterprise owners can save money on their payroll. Instead of hiring in-house specialists, enterprises can have access to certified support specialists on a less expensive basis. Second, enterprises can have peace of mind knowing that they can call in the pros whenever a problem arises.
Dual licensing allows companies to release commercial software (with a commercial license) that’s derived from free OSS commonly distributed under the GNU General Public (GPL) license. Dual licensing can be implemented in a few ways. In the first scenario, a company releases identical products under a commercial license and under a free license like GPL. In the second scenario, the company releases different versions under different licenses.
So what’s the point of dual licensing? The GPL license allows end users to run OSS, redistribute that software, and modify it. However, you can’t embed OSS solutions into your proprietary (commercial) software and make profit under a GPL license. This is precisely where you’ll need a commercial version of an open source product to have the right to sell your commercial software.
The most well-known example of successful dual licensing is MySQL. The company releases MySQL Enterprise Edition, MySQL Cluster CGE, and MySQL Standard Edition under commercial licenses while still offering two other products – MySQL Classic Edition and MySQL Community Edition – under the GPL license. The commercial versions receive enhanced security features, backups, 24/7 support and more.
Paid extra features or functionalities
Some companies make money with open source in this way: they distribute their software for free, but charge money for additional features, functionalities, or updates. We can’t call such approach selling open source software.
As we mentioned previously, customers feel most comfortable paying for only the services they utilize. Which is why, charging money for extra functionality is attractive for a number of reasons. First, it’s quite clear what additional functionality customers are paying for. Second, customers can save money on deployment and troubleshooting when these services are included in paid packages. For instance, GitLab distributes their developer tools in three editions. Their version for enterprises includes premium support, file locking and advanced solutions for remote teams, and is billed per user.
Charging money for additional functionality works well for software designed for blogging, HR, collaboration, customer management, and other similar needs. WordPress provides their Premium and Enterprise customers, for instance, with additional websites and an additional workforce to maintain their WordPress sites. While the fee per developer is quite high – $5k USD per month – customers receive certified professionals assigned to specific technologies and businesses.
If software is popular enough, companies can offer certification opportunities for specialists who want to validate their knowledge and skills. Getting certified, as a developer, is quite useful for a number of reasons. First, it’s a great opportunity to differentiate yourself among other specialists with the same skills. Second, developers realize the importance of networking with mentors and groupmates. Finally, a developer’s certification leads lends them additional professional credibility and even promotions, and can boost a company’s image.
Open source giants including Magento and Red Hat offer a variety of certification options. In fact, Red Hat offers around 30 different kinds of certifications in Red Hat’s products as well as PaaS, business processes, deployment and system management. Magento issue certificates for skills related to Magento development and solutions.
Open source software is highly regarded thanks to its security, reliability, and vibrant communities that support it. Moreover, OSS helps companies avoid reinventing the wheel, and can even be used within proprietary software. Altogether, these factors have made OSS quite popular. Today, people are willing to pay for open source software to ensure legal protection, technical support, and professional services. With paid open source technologies, companies can offer the best of both worlds: transparent technology with the support and features of commercial software.
How Do Open Source Companies Make Money? Get new posts like this in your inbox every week.
A few weeks ago post, I wrote about the case for simple business models in startups. This sparked a later conversation about open source companies and their business models. So, I figured I would focus on the question of how companies building open source software make profitable businesses.
I’ll start with a brief example…
The Story of Diaspora
I recently finished More Awesome Than Money, a book about the college students who started Diaspora, an open source, privacy-focused answer to Facebook. As a business, Diaspora was never very impressive, but its message resonated. They raised over $200,000 from Kickstarter and ended up with over half a million users at their peak.
With such a successful launch, you’d think that Diaspora could buy enough time to figure out how to grow the project and make a viable business, but it’s not that easy. Being decentralized meant that they couldn’t really charge users (at least not all of them) and it worried traditional investors who wanted to see a plan for monetization. Additionally, the founders were inexperienced college students who struggled to retain good employees and managers.
The social network eventually met a slow, tragic end with one of the founders committing suicide and another heading back to college. The remaining founders ran out of money and while the codebase is still under active development, it runs as a non-profit that is largely supported by its contributors.
Why do People Write Open Source Software?
“People engage in creative endeavours because it satisfies some deep need within themselves to exercise creativity and solve problems often with little regard to the societal benefit.” – James Bottomley, Distinguished Engineer at IBM Research
To be honest, most open source projects aren’t started for money. Part of the point of the Diaspora story is that even though their business failed, their idea and their codebase lives on. Software developers who write open source software rarely care to monetize it as the road to making money in open source is much more difficult than making money as a software engineer.
But maintaining a large open source project is a lot of work, and many developers wouldn’t mind being paid for their time. Some even go so far as to spawn successful companies from their open source projects, but this is admittedly rare.
The Challenge of Open Source Business Models
To understand the reason that building a profitable open source business is hard, you first have to understand what open source software is and how licenses work.
What is an Open Source Company?
An open source company as any business whose primary product is open source software.
Software that is open source distributes the source code publicly. Because maintaining software is a lot of work, many of the largest open source projects are primarily supported and owned by for-profit companies.
A well-known example is Automattic, the parent company that maintains and distributes WordPress.org. While Automattic now runs several closed source software products in addition to the open source WordPress, they started primarily as an open source business.
Red Hat, the maintainer of one of the most popular Linux distributions, is another example of a large open source company. While they continue to build some free, open source solutions, they offer high-touch services and remote support to maintain the business.
Open Source Does Not Necessarily Mean Free
So if the source code in open source software is available to anyone on the internet, why does anyone pay for it? While much open source software is free, that’s not necessarily the case as many different licensing schemes are available.
I’m not a lawyer, but I’ve built enough software to understand that just because code is out there on the internet doesn’t mean you’re necessarily allowed to use it. Similar to how images are subject to copyright even though they can be viewed online, code is also copyrighted by default. You can’t just copy a nontrivial codebase and use it in your application without permission.
Some open source licenses come with restrictions. For example, some require you to make any software you build with their code open source as well. Others are open source, but not free for for-profit enterprises to use.
Now, let’s not be naive. Once software is out in the public domain, some people will steal it, and they’ll likely get away with it. But, for open source companies, this might not be a huge problem. In the rest of this article, I’ll share some of the most popular ways for open source businesses to profit from their code, even when it’s available for all the world to see.
6 Ways Open Source Companies Can Make Money
“[There have] only been two successful models for monetizing open source. One is the public cloud model (…offering open source as a service) and then [there is] Red Hat’s model, which is to be a significant contributor and offer on-premises [software] and drive roadmaps for customers.” – Jim Whitehurst, CEO at Red Hat
While Jim might be right about there being two primary business models for open source software, I think there are enough variations that it’s worth mentioning a few more. I’ve worked with several open source companies in the past (as a contributor, service provider, and consultant), and I’ve seen six ways that they can make money:
While not typically used by large for-profit companies, some individual developers make pretty good money by taking donations for their open source work. Patreon, GitHub, and Buy Me A Coffee are all popular platforms that allow individuals and businesses to help support open source projects that they use or want to see maintained.
The downside to this model is that it’s really hard to build predictable, sustainable income from it. Some people will heavily use and benefit from updates while never paying the creators, and this frustrates those who do support the project. If you’ve ever asked your boss if you can start paying for some of the free, open source software you use at work, you know how tough this can be to sell.
2. Hosted Version of the Product
Some open source projects allow you to run their software on your own servers for free, but they’ll charge you for a hosted version. For example, you can deploy n8n.io to an AWS or DigitalOcean machine and keep it running on your own, or you can sign up for their hosted version and avoid the hassle of maintaining servers.
While this tactic won’t work for every open source project, it’s a very popular option. It offers a clear delineation between the paid and free versions of the product, and can be bundled with other features like support and training. The downside is that your margins are never going to be very high. If you charge too much, users will be able to justify the cost of maintaining their own servers.
3. Paid Support or Courses
Red Hat’s model of open source software financed by paid support contracts and on-premise configuration takes more human hours, but it allows them to improve the user experience dramatically. When companies look at the cost to troubleshoot open source software, it’s usually a better deal to sign up with the people who made the software rather than learn it themselves.
If you want to make your software more accessible, you can sell training at a lower cost than hands-on management and support. For example, The Linux Foundation helps maintain hundreds of open source projects and makes money through its training courses.
4. Open Core
Adam Wathan started Tailwind UI as an open source CSS library in 2017. After two years, he went full-time on the project and has now made $2 million in revenue from the project.
While Wathan’s story is exceptional, it highlights how a free, open source project can make real money by charging for extras (in Adam’s case it’s premade UI components). I would call Tailwind an open core product because while the framework and features are all free, you can support the project and save yourself time by buying extras.
Some open core projects do this by charging for features that larger customers are more likely to need like advanced user management, specialized integrations, or SAML access (there was a good thread on Indie Hackers about this model recently). This is a solid strategy if you know enterprise users will need certain things that individuals and small companies won’t.
5. Dual Licensing
Similar to the open core model, some open source projects offer a dual license. This might allow a small, independent developer to use the software free, but companies using it for a profit must pay a license fee. For example, Qt offers a dual license:
“Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations…Qt for Application Development is also available under GPL and LGPLv3 open source licenses.”
Companies can decide which license is appropriate and pay Qt as needed. While some companies might abuse this license structure, lawyers will look at things like this in detail if the company ever decides to sell or go public.
6. Selling Other Products
As in Automattic’s case, they offer a free, open source product (WordPress.org) and a suite of related and unrelated proprietary products to generate revenue from. This model is easiest to manage if your other products support the open source one, but some companies raise money from venture capitalists to fund the open source tool’s growth while they figure out other products to build.
The downside to this model is that building and maintaining multiple products is a lot of work. Small teams will find this distracting and it might mean the open source product suffers.
If you’re interested in building a profitable open source project and you want to learn more, I’d suggest a few resources:
Are you building your own startup?
After a decade in software startups, I wrote this book to help founders learn everything they need to know.In it, you’ll learn about:
- Coming up with an idea
- Validating with real customers
- Building an MVP
- Raising funding
- And more
The book is free for subscribers, so enter your email to download today!