How do Open Source companies make money?
One of the things I get asked a lot is "How do open source projects make money"?
This week I chatted with Vlad Matsiiako from Infisical - an open source secrets management tool. So I decided to delve into the how's and why's of Open Source companies.
- SaaS/cloud - like any other SaaS, they sell a hosted version of their software. Within this there might be parts of the product that aren't open sourced, e.g. management features. Examples include GitLab, Supabase and Infisical. There is a lot written about this under Open Core. Users could potentially self host but it's easier to just subscribe and sometimes the open source code lacks some features (especially enterprise/management features like SSO).
- Licenses - some companies sell commercial licenses to some parts of their code e.g. AG Grid (a grid component library) offers a mixture of MIT licensed and commercial licensed software. For AG Grid, commercial users need to pay to use some parts of the code.
- Support/consulting - building a successful open source project puts the creators in a unique position as the de facto experts. Then they can offer premium consulting services to organizations using the project internally. E.g. Juri from Nrwl spoke about doing this with Nx.dev (build system, optimized for monorepos). These services could be consulting or support. Enterprises are often happy to pay for Service Level Agreements (SLAs).
- Sponsorship - some projects have sponsors to fund the maintenance. E.g. Colin from Zod (a schema validation tool) has various sponsorship levels on their GitHub project. My friend Jeremy who built Bulma (a css framework) also does this via Patreon and GitHub. Note: as I understand it, both Zod and Bulma are less companies and more passionate creators who enjoy working on open source projects.
Most open source guests I've spoken to have been focused on providing SaaS/cloud offerings. It seems like the most straightforward option for a VC backed startup.
But I do think that the license model employed by AG Grid and Tailwind is very interesting.
Let me know if I missed any above and I'll append to the next edition.
What's the point of your business being Open Source?
Now we've covered how open source projects can make money, the next question is why bother with open source?
I mean, you are at risk of creating a free competitor to yourself. And you have to spend a lot of time assessing, responding to and fixing issues. So why not just build a closed source SaaS?
Here are some of the reasons I've come across for being open source:
- Origin as a work related library - Lots of open source projects begin at work as libraries to solve specific problems for a company. This is what happened with David Cramer, the founder of Sentry - as written about in their origin story. "Disqus was also an enabler to my open source contributions, and importantly they relied on
django-db-log
. That meant that at various times I had a financially motivated reason to invest more time into it". I'm not a lawyer but if your project has an MIT license, it seems you might be able to juggle the whole "who owns the IP?" question better. In many ways this feels like the smartest way to build a DevTool. - Ease of doing business with enterprises - if your project is open source, Vlad from Infisical explained, that you can bypass legal. This means individual developers can autonomously adopt your project internally at huge enterprises. Then, later on they are likely to come to you to buy licenses/support/SaaS/SLAs and you already have a foot in the door. Another thing I hear often is that enterprises are actually happy to spend money to have more reassurance. And they want to pay you so you don't go out of business. I have also heard this from Flagsmith - I recommend this episode.
- Trust - the harsh reality is that most startups fail. So there's a good chance if you buy from a startup, they'll go out of business. Additionally, from a buyers perspective, there is a chance the startup's code is janky and full of bugs or security holes (arguably this is just as true from bigger companies but it will have been road tested a bit more). Open source goes a long way to addressing these: a) if the startup goes out of business, there is the option to self host the code and run it yourself. b) you can inspect the code and you know that others will inspect the code, and you can make contributions to it.
- Feel good factor - this is the most tenuous one but I think it is a pretty common reason - open source makes your DevTool sound cooler/better to some developers than closed source tools. Also, some VCs are specifically investing in open source alternatives.
- Some things are better if they're open source - My friends at Digger (a Terraform cloud alternative) are open source and a primary reason is that it is a superior experience for developers to be able to self host it and make modifications. I interviewed them here.
- Philosophy - this is kind of hard to quantify but there are true believers in open source (amazing people). They start with an open source project just because they want to solve something. And then it takes off and they look for an opportunity.
Did I miss any reasons? Or do you disagree on any? Let me know.
If you want more context, listen to this week's episode with Vlad.