Open source is free. So how do you build a company around it?
There are certainly some people who argue that open source and money shouldn’t mix, and that true open source should always be free and community-driven. That’s an attitude I find naive — after all, software engineers who maintain and contribute to open source need to eat.
Not only that, but open source is used in commercial settings. If open source projects are used by companies to make money, why shouldn’t the people who create them be paid in some way?
This is the first installment of a monthly column addressing various aspects of entrepreneurship for software engineers. In the coming months, I plan to write about various aspects of monetizing open source projects, starting and scaling a software infrastructure company, and generally how to transition from being an engineer to an entrepreneur, whether that means starting a venture-funded company or building a one-person shop.
There are many ways to approach the subject of open source software and, well, money. In this column, I’m going to address open source business strategies from the point of view of a group of founders who set out with the original goal to create a software company. This is in contrast to someone who starts an open source project, nurtures and grows the project for years, and then decides to monetize it. These two approaches often lead to the same place, but the first steps are different and the initial strategy is different as well.
The Challenge of Getting Paid
For many people with a background in infrastructure engineering, the idea of starting a closed-source company is a non-starter, for philosophical reasons, practical reasons, or both.
“Open source has become almost a default adoption pattern for infrastructure tooling in enterprises,” said Rajoshi Ghosh, co-founder of data API company Hasura. “We decided very early on that the data access piece [of the Hasura platform] is going to be open source.”
“When we started HashiCorp, we wanted to solve a specific set of problems, but I don’t think we had any sense of what HashiCorp, the business, would be,” Dadgar said. “It was a C corporation, we were starting a company, but we had no clear idea how we would commercialize it and in that sense, we were really starting with a set of open source products.”
But if you’ve decided to give away a certain amount of your intellectual property for free, how do you eventually get paid?
- Support and services (i.e., consulting). This is often called the Red Hat Model, after the most famous practitioner.
- Enterprise distributions, in which the company sells proprietary software that has some additional functionality and customers run the software themselves.
- Software-as-a-Service (SaaS) options.
So how do each of these options work? How would an individual or company decide which is the best for a particular situation? Let’s dive in.
The Red Hat Model
The support and services model is the oldest, most established open source business model.
“If we go back to 2015, there weren’t a lot of great examples of open source success stories,” Dadgar said, about the process of figuring out how to translate HashiCorp’s open source projects into a viable, profitable business. “It was Red Hat. That was it. And nobody had really replicated Red Hat to any meaningful extent.”
This model is a consulting model — there is no software product other than the open source project, but the company provides professional services. This is generally the least profitable way to monetize an open source project, but it also requires less initial investment in product development — because there is no product other than the free open source project.
In this model, there’s a version of the software that’s sold under a commercial license but does generally the same thing as the open source project. This is sometimes crudely described as the open source project with a pretty user interface, but there’s usually more than just a fancier UI to enterprise editions. Enterprise editions usually also come with support contracts.
In most cases, the enterprise edition would be based on the open source project — but this is not always the case. Regardless, the product development process is not that different from developing a closed-source software product.
More recently, SaaS versions of open source projects, like MongoDB’s Atlas, have become increasingly popular. It is about as far from an open source experience as you can get — the SaaS provider takes care of absolutely everything, all the user has to do is enter a credit card.
This means the SaaS company is on the hook for everything related to operations. It also means that the SaaS company has to worry about the same things that all SaaS companies worry about, like how their cloud costs relate to actual usage and pricing.
Making a Choice
The options for monetizing an open source project are not limitless, but it’s an important choice nonetheless — especially if you’re working with limited resources.
The first question would-be open source entrepreneurs need to ask in determining their strategy, Dadgar said, is “Who’s our customer?” At Hashicorp, “that was our first and biggest soul search.”
If your customer is a small or mid-sized business, he said, you want them to be able to swipe a credit card, pay a few hundred dollars a month and use the product. If your customer is in Forbes’ Global 2000, they are not going to swipe a credit card and they are going to make you go through a procurement process.
For those who want to go after both markets, Dadgar said that’s fine — when you’re a 1,500-person company, like HashiCorp is now. In the beginning, with one, five or 15 people, it’s important to focus on one market and one monetization strategy.
“Open source businesses are hard,” Ghosh said. Intentionality is key. Being clear on what to make open source, what to reserve for a paid option and what business strategy to follow will make the process much easier.
Do you have any topics related to entrepreneurship you’d love to see covered? Reach out on Twitter and let me know.
HashiCorp, MongoDB and Red Hat are sponsors of The New Stack.