How to turn an open source project into a profitable business

Despite the premise of open source software distribution being “free,” multibillion dollar companies like RedHat, MongoDB, GitLab and Elastic have already broken ground building profitable businesses with open source at their core.

But is it possible for a smaller open source project to find its way into this land of commercial opportunity?

COSS is accelerating

In general, the trends in commercial open source (COSS) are encouraging. New products like Meilisearch and Supabase are gaining traction exponentially faster than the legends of COSS like MongoDB, which were founded much earlier.

Let’s give some more context to the graph above. From 2010 to today, the number of GitHub users has exploded from 500,000 to 103 million. It might be tempting to suggest that this influx of new users into the community would be the driving force behind the increase in stars.

Your open source project can begin as a pet project but only if you can devote time to it.

But, at the same time, the number of projects (repositories) has grown at an even higher rate: from 600,000 to 359 million. And investments in open source products have almost tripled from 58 deals in 2015 to 144 deals in 2021.

Importantly, the average number of users per repository has shrunk from 0.8 to 0.3. This means the competition for GitHub stars is now higher than ever, which suggests the superstars above are indeed outliers and it’ll be difficult to replicate their success.

Judging from these numbers, investments and star dynamics, COSS is in a sweet spot at the moment.

That said, we must keep in mind that COSS and developer tools still only occupy a niche. After all, there are only 25 million to 30 million software developers in the world. Even though productivity in this industry is much higher than in many others, this number is only a fraction of other big markets like finance or retail.

Moreover, monetizing products built for developers is still, to a certain extent, an open question.

How to monetize open source

There are multiple strategies for earning money from open source.

Let’s start with a simple one: crowdfunding and donations. Grant money falls into the same category as donations, as the only difference is in how you raise the money. Foundations are a vehicle for collecting donations from large sponsors or from a great number of sponsors.

Sadly, such earnings are unlikely to cover the costs of a growing COSS. Take PostCSS, a widely popular CSS framework built by Andrey Sitnik. Through an Open Collective hub, with 27,000 stars on GitHub, he collects only about $12,000 per year despite the fact that massive companies like Meta or Google use PostCSS and could potentially support the product.

The second option is consulting and support. While this model has lower margins and is harder to scale, there are many benefits in consulting with your open source solution’s paying users. Solving their problems provides unique exposure to their pain points, which in turn reveals areas for improvement.

While this may change in the future, SaaS is the standard for packaging and delivering software. It’s the most common means of commercialization, as customers pay you to run, scale and manage the software. This approach has its limitations, concerns and costs, but using SaaS is simple and people value simplicity and convenience.

Another way to commercialize an open source product is by building a special extended version with a commercial license. To decide what goes into the paid version, think about customers who would get so much value from your product that they would be willing to pay for it, and then build features specifically for them.

Often, your largest clients will benefit from additional performance optimizations, scaling and clustering capabilities, enhanced monitoring and special integrations to improve developer experience and productivity.

To find your path, talk to your clients and understand their goals and pains.

How to turn an open source product into a business

Discover a pain point and try to solve it

If a problem isn’t unique to a project, try repeating it on other projects and ask your peers about it. If you find that an issue is common, open source your solution. Many sustainable COSS businesses, like Bullet Train, started with that philosophy in mind.

Devote time to your project

Your open source project can begin as a pet project but only if you can devote time to it. About 10 hours per week for a given period of time (three or six months) is a good starting point.

Get a partner

Find a co-founder who can complement your skills and experience. Your connections, friends, co-workers and Y Combinator’s co-founder matching service are good places to start. If you are an engineer, you need a business-focused partner, and vice versa.

Split your equity 50-50, but use a vesting approach with a schedule of seven to eight years. Find someone excited who’s ready to commit the same amount of time and energy as you.

Talk to potential customers

Connect with potential customers as soon as you can. There’s nothing more useful than talking to people and correcting your ideas about what they “should” think, want or do. Learn how to help them.

Define success

Try to define a measure of success. What would prove to you that it is worth giving up everything to focus solely on this? GitHub stars? Revenue? A consulting contract? Fame?

Monetize

Choose a strategy and start monetizing immediately. Just create a simple landing page or publish your product on a marketplace.

Start marketing

Let people know your product exists and the problems it solves. Write content and promote it on platforms like Twitter, Hacker News and Reddit; engage with relevant communities; launch it on platforms like Product Hunt; talk about it at meetups and conferences; launch a newsletter; partner with other existing products in the same ecosystem and build your own community.