In the original days of the new software stack evolution, there was a fringe section which consisted of developers getting together in old fashioned chat rooms, offline and online, and coding for the love of it. When Linus Torvalds started the project to create a new operating system it was a way of community activation. Back in university, open source wasn’t known as such, Linux wasn’t the paragon of open source, instead it was a good enough version that allowed one to not pay for Microsoft Windows.
But it’s fringe no longer. Just in the last decade we’ve seen close to $10B of capital go into bigger and bigger deals in the open source software world. We saw MySQL get bought for $1B by Sun, which seemed incredible in the days before unicorns came to existence. But after that there was a Cambrian explosion in the offerings. New, incredibly successful, enterprise offerings came into being. Cloudera, Map and Hortonworks with Hadoop, GitHub with git, MongoDB for its eponymous database, Elastic providing Elasticsearch and beyond. Some went public, like Elastic, and some got acquired, like Mulesoft. And that’s not even including the incredible sale of Red Hat to IBM for $34B.
While it started with operating systems and databases, extremely nerdy pursuits that developers like to work with, to show improvements in doing something that’s hard and to contribute something to problems they spent most of their time working on.
Origins of open source used to be through individual coders who had a shared sense of vision. This changed in the late 2000s and 2010s. That’s when companies, sometimes venture backed, created codebases and engaged the community to act as evangelists and product managers as opposed to code contributors. But the sheer size and scope of effort required to build something truly useful has also increased. So the projects tend to start in large organisations with unlimited resources, either educational institutions like Berkeley, or technological institutions like Google or LinkedIn. The technological byproducts then get turned by their creators into businesses, as with Hadoop, Spark or Kafka.
The three major business models…
There’s three main business models that open source companies have pursued, all successfully. As the market landscape has shifted some of them have become more dominant than others, though the businesses that have been built exploit the key needs that larger enterprise customers have, above and beyond just functional code. They need SLAs, they need resilient tooling around the code, modules around accessibility, security and monitoring purposes, and so on and on. It’s worth noting that this isn’t just bureaucratic overhead, but actual functionality needed for larger companies to run.
- Service and maintenance: This was the main business model, especially in the old days when open source was an ideal more than a way to build a company. Red Hat was one of the originals here, with the code being written and maintained by the community, and the company providing service and maintenance to the larger enterprises.
- “Open core”: The second evolution of the open source business model, when an actual business model started to emerge. This was an extremely hard one to pull off, because it required the company who started and maintained the project to choose which components to be made available for free, and which ones need to be made ‘enterprise only’. Some of the most successful companies fall in this bucket, like Elastic and Hashicorp.
- Saas model: This is the most recent evolution in the business model. As the whole world has gone saas, there is increasing demand for successful open source projects with strong communities, to provide that software as a service, so that a company can abstract away the whole pain of using the software. Databricks is the best example here, where they created a successful software company on top of a highly successful project Apache Spark.
Necessary (but not sufficient) conditions for a successful project
As projects increase in size and scope, and venture backed companies try to exploit this new method of creating value for its end customers, the roadmap that needs to be followed for success has become more rigorous, if harder.
- Build a community: To build a codebase that attracts enough talented developers who are intrigued by the premise, and excited by the solution, so that they’re willing to spend time and effort in contributing to the project.
- Build a product: With the help of community (doing product management), build a sufficiently robust separation between the freely available codebase, and value-added components for a smaller sub-group of customers — most prominently the enterprise customers who need specialised features.
- Find paying customers: To create a strong internal culture that enables you, as a company, to both continually listen to community feedback and improve the technology, and also continually increase the value-adding components to bring business value. Successful businesses will need to use the bottom-up developer-led sales motions, and craft a top-down enterprise sales motion simultaneously.
One of the interesting aspects of this new method of building enduring enterprise companies is that the initial adoption amongst its chosen market participants, in this case developers, go through stages that would be excruciatingly familiar to anyone who has looked at consumer focused businesses. A clear bias towards brand building, bottom up product adoption, focus on ease of use and integrations, and in creating a sense of belonging and community amongst its users and adherents.
The overall trendlines in the market meanwhile continue to be; a) increasing dominance of the cloud and incredible proliferation of saas and paas solutions, b) far better interconnectivity amongst the larger apps which enable movement of data and metadata amongst systems, through APIs and smarter middleware (some of the best of which were open source, like Mulesoft), c) enterprises are tired of having large scale vendor lock-in, which reduces their agility, resiliency and in some cases their security.
Open source in a cloud world: an investment perspective
As we are buffeted by the tailwinds of several trends coming together, it’s worth assessing how they might impact the next wave of open source enterprise companies that will emerge.
- Considering the increasing dominance of cloud solutions amongst both individual users and enterprises, Saas solutions are emerging as the business model of choice for most startups, and similarly open source projects.
- Due to the proliferation of saas solutions, now that we have passed the cusp of “is cloud fast/ secure/ better”, and the difficulty has moved from technological challenges to one of discovery — since open source solutions, to become successful, have to have a community behind it, it’s become a safer bet.
- Startups will continue to have a large market to sell into as the number of verticals also increase — going beyond big data infrastructure to now focus on all sorts of verticals — fintech, IoT, industrials, martech etc.
- As every large and small company now has part of their IT stack composed of open source solutions, it’s imperative even more to have a clear and defined thought process around how one wants to think about the value that’s to be created. This means different ways of considering security, monitoring and testing. It also requires different skill sets internally that need to be leveraged, and different recruitment strategies.
- There’s a case to be made now for verticalised saas solutions — thus far they haven’t taken off because the community size was smaller, but as the barrier to trying new software gets lowered, and interoperability increases, open source solutions become an easier solution to adopt for most industry problems.