Open source software has been around for decades. In recent years, it’s become a principle and a go-to-market strategy for many software companies.
In this essay, we’re going to dig into what open source is, whether you should use it and the different business models you can use if you decide to open source.
What is open source?
Open source software allows anyone to inspect, modify and enhance source code (the code used to write that software).
In practical terms, this means that I can take the software someone else has built, run it on my computer and do what I need to do. Better yet, depending on the type of license, I can use that software within my application and build on top of it.
You’re wondering why anyone in their right mind would offer software for free? We’ll get to that.
Let’s look at a few examples to bring this to life:
React is an open source library developed by Facebook. It a framework to build web and mobile applications. This CSV package is an open source module that allows you to import and export CSV files. React is massive and the CSV package is tiny; this is intended to show that open source software comes in all shapes and sizes. As a side note, the CSV package is downloaded 822k times every week.
Why has it gained traction?
Open source has really taken off over the last few years:
- Control: people want control over the software they use. Open source allows you to inspect code before using it.
- Learning: Everyone learns by doing. Contributing to open source is a great way to learn as a software developer.
- Efficiency: no one likes duplication. Open source allows you to build off my work, and me to build off yours.
- Community: open source helps build a vibrant community of software developers around your product.
- Security: open source software offers security advantages. The user could deploy it on their own codebase and analyse the source code end to end.
The community and security aspects of open source have made it a go-to-market strategy for many software-as-a-service companies.
Should you go open source?
If you’re building a technology product, you might want to consider offering an open source alternative.
Offering an open source version allows customers to try the product for free. This sounds very similar to a freemium model but there is nuance. In a freemium model, the user needs to pay once a threshold is exceeded (e.g. you have more than 1,000 users on Slack). With open source, customers do not convert based on usage. Open source companies need to find a different way to monetise customers. We’ll discuss a few of these models shortly.
Community-led product development is another key aspect of open source. Your open source alternative is used by people day in and day out. This gives you critical feedback about your product and is arguably better than any quality control one can think of. You end up with a very high quality product.
The community can also be an incredible sales channel if your product targets developers. They come to you instead of you going to them. It’s a sales strategy.
What to be wary of?
There are aspects of open source you should be aware of before going down this route.
Licenses are a key concern. Marko Saric, founder of Plausible Analytics, called this out in a post. You should assume that people will take your open source version, build on top of it and monetise it. You can try and solve this using licenses, but assume this will happen anyway.
The other key call out is carving out time for community management and issue resolution. Members of your community will report bugs or have issues setting up their open source version. This can’t be ignored. Like any other community, it needs to be nurtured and built from the ground up.
How do you monetise?
Let’s talk about how you monetise an open source business.
The simplest and age old way is through donations. Don’t do this if you’re trying to build and scale a company.
Offering consulting and setup of the open source model is another way to monetise. Companies like Redhat popularised this model and it’s been around for a while (29 years to be precise). The disadvantage of this model is that it is very difficult to scale. Your revenue is dependent on people and scales with it.
Some open sources companies use something called an “open core” model. The open source version has a basic set of features. The commercial version builds on top of it and targets certain clients. Gitlab is a good example of this. The basic version is open source and the enterprise edition, which includes features that big companies will want, is a paid product. The big question here is what you put in the open source version, which needs to be enough to be useful, and what you put in the paid version, which needs to be sufficient for customers to pay.
I love open source and have used it so many projects. Open source is a great route if security is a concern for your prospective clients and you are targeting developers / technical folks. On the flip side, you’ll need to be wary of copies and dedicate enough time to the community.
Here’s a list of open source SaaS companies that I think are worth checking out:
- Appsmith: low-code platform that allows anyone to build software applications.
- Supertokens: user authentication and authorization.
- Dune (Crypto analytics): strictly speaking, this is not open source but it has the principles in it’s product. It helps you query blockchains (all blochain data is public). By default, your code is public. This means that someone can build off your query and start from there.
- Plausible Analytics: Website analytics product