In Palark, we heavily rely on Open Source software: it’s essential for our existence since Kubernetes, Linux, and other amazing projects are the core software we use to build and operate the infrastructure for all our customers.
Open Source software refers to code that anyone can inspect, modify, and distribute, e.g. you can use it to create your own programs and distribute them then. The signature characteristic of this type of software is that anyone can see what technology it has “under the hood” and observe the Open Source project as it evolves (or even take part in developing it).
However, the fact that your code is publicly available does not mean you, as its original author, can’t profit from it. Many companies are building their businesses around OSS. Some are large software developers making hundreds of millions a year and are valued in the billions. Here are notable examples of such (among publicly traded companies):
|Market Cap., $ billion*||Revenue in 2022, $ billion|
* Based on data compiled by Companies Market Cap. The data is current as of December 2022.
These companies share three things in common:
- They offer products in high demand among a large community of developers and engineers.
- They are engaged in software development. The financial potential of this sector is estimated at more than 1 trillion dollars (which is several times higher than, for example, the estimated value of the global gaming industry).
- They use the suitable monetisation model.
The third point is the most important one: the business model or some combination thereof determines the commercial success of the Open Source company.
Open Source business models
The most popular models for monetising Open Source products are open core (offering a “core” or feature-limited version of a product as Open Source software), hosting (a cloud service), professional services, and marketplaces.
Open core is a business model for monetising Open Source software in which the “core” code of the software product is open to all. Anyone can download the code or a ready-to-use build for free and use it as they wish. Anyone can even potentially influence the product’s development – provided, of course, that the core developers accept the proposed code changes.
Typically, the open-core model involves selling an Enterprise or Premium version based on publicly available core code. The Enterprise edition can include, e.g., technical support, advanced security features, improved availability, different options for integration with third-party software, and compliance with industry and other standards, such as FIPS 140-2.
A company that adheres to the open-core model must ensure that the basic free product has enough features to render it attractive to a broad community of users and developers.
Here are some well-known companies that use the open-core model:
- Confluent develops automated, real-time big data processing solutions. These solutions are based on the third-party Open Source Apache Kafka distributed streaming platform. The company adds several additional features and releases the resulting bundle as a free Community edition. The Confluent Platform, on the other hand, is distributed under a commercial license.
- GitLab Inc. is responsible for the eponymous “DevOps platform,” which provides many features for developers, including source code management, CI/CD pipeline, Web IDE, issue tracking, wiki, etc. It comes in two editions, CE (Community Edition) and EE (Enterprise Edition). The CE version is free but has limited functionality.
- MongoDB develops the eponymous NoSQL database management system (DBMS). The Stack Overflow’s Developer Survey 2022 found it to be the fourth most popular DBMS among developers. The MongoDB Community Server plays the role of a free core software product. Of course, some premium paid options (e.g., MongoDB Enterprise Server) also exist. UPDATED (09/12/2022): However, it would be more accurate to classify MongoDB as an ex-Open Source company and solution since they changed the license for its core product from an Open Source one to SSPL in October 2018. SSPL is a source-available software license which is not Open Source.
- Elastic is another ex-Open Source example. This company offers a variety of logging, search, security, and analytics tools. Its main search and analytics engine, Elasticsearch RESTful, is originally Open Source and based on the Apache Lucene library. However, later, in January 2021, it changed the license to a source-available (but not Open Source) SSPL as MongoDB did earlier.
Hosting (cloud solutions)
Some companies offer Open Source products as managed cloud services (hosting). Their main advantage is that users don’t have to worry about the product’s infrastructure since the company is responsible for supporting it.
However, the hosting model has a significant drawback for an Open Source company: competition from large public cloud providers, such as AWS, Azure, and GCP. They offer Open Source products in their clouds. Thus, it makes sense for existing cloud provider customers to use the service the cloud provider offers rather than subscribe to the developer company’s service.
For this reason, to protect their commercial interests, Open Source companies sometimes change their product licensing format to one that prohibits selling their software as a service without paying royalties. This already happened to MongoDB and Elastic mentioned before. CockroachDB is another example of a vendor who changed its Open Source license.
The hosting model is used by such companies as:
- Databricks. It develops a cloud-based lakehouse platform for processing semi-structured data based on the Apache Spark Open Source framework. The company offers a free Databricks Community Edition and a fee-based service in major cloud providers.
- WP Engine is a developer of a cloud-based WordPress platform. In the free WP Engine version, you cannot, for example, use your own themes, download plug-ins, run your own ads, or enable Google Analytics. However, these options and more are available in WP Engine business plans.
The professional services model involves selling extended technical support, consulting, and training for Open Source software.
The professional services model is often used as an additional income source for the open-core model. This is how, e.g., HashiCorp and Confluent work.
Red Hat is probably the most well-known Open Source company that started with the professional services model. Eventually, Red Hat incorporated technical support into its product lineup and focused on the open core. It also happens to be the most successful of all the Open Source companies: it was the first to go public (back in 1999) and the first to make $1 billion (in 2012). In 2019, Red Hat became a part of IBM.
Here are some other companies that follow the professional services model:
- Cloudera develops distributions based on the Apache Hadoop framework. The framework allows for the creation of distributed Big Data-focused search systems. Cloudera offers paid support, training, and other professional services, as well as products – in essence, a hybrid model.
- Percona began as a professional MySQL support provider. Later, the company also started to develop its own solutions based on MySQL and several other Open Source DBMS.
- CYBERTEC specialises in supporting the popular PostgreSQL DBMS.
The Android app store is a classic example of a marketplace based on an Open Source solution (in this case, an Open Source operating system). This marketplace offers paid and free software for Android smartphones and profits from commissions charged to software developers. Google Play, Samsung Galaxy Store, and Huawei AppGallery are examples of popular marketplaces for Android and related systems.
Android itself is an excellent example of an open core from Google. The operating system is based on the Android Open Source Project, which, as the name suggests, is publicly accessible — anyone can see, modify, and distribute its code as they see fit. Various vendors enhance this core with their own add-ons and extensions, turning the Open Source project into a commercial one to make money on.
How a company chooses a business model
In simplistic terms, the process of turning an Open Source company into a successful business consists of two stages:
- developing an Open Source software to build a business around or selecting an already existing software;
- monetising Open Source software using one or multiple business models.
This process has many possible development scenarios for the company. One of them is shown as a dashed line in the chart below: some company forks an existing Open Source project, develops their own offering on top of it, and then runs three monetisation models at once.
The underlying software can be based on the following:
- your own Open Source project you made from scratch;
- an existing Open Source project that the company adopts without changing it;
- a fork of an existing Open Source project.
For example, HashiCorp has developed several Open Source solutions to automate multi-cloud infrastructure management. The Terraform IaC infrastructure management platform and the Vault secret manager are the company’s most successful products. These solutions are available along with others on a subscription basis (the open-core model) and in the cloud (hosting). HashiCorp also offers enhanced support and training (professional services).
Cloudera is a great example of a company that adopted an existing Open Source project. It provides paid support, training, and other professional services, as well as offers software with additional features. In other words, the company uses a hybrid of the open core + professional services model.
Many companies are gradually switching to a hybrid approach: they start off using just one model, succeed with it and then add something else. For example, this was the case with Red Hat and Percona. They started with professional services and then gradually adopted the open-core model.
Our business experience shows similar gradual evolution. We started as a service company, but while providing our services to various customers throughout the years, we saw a huge opportunity to automate many things. Creating software products that will integrate existing technologies together and incorporate the best practices for all of them seems to be the answer! That’s how our Open Source tool for CI/CD called werf emerged. Currently, we provide professional services using it, however, it has an obvious open-core model potential as well.
Which model is better?
British developer and investor Imran Ghory argues that open core is the most profitable of the four models. It is sustainable and scales well. The professional services model is inferior to the others in terms of the margins; Ghory notes that professional services revenues are often unpredictable and staff-intensive, which renders a company vulnerable to sudden profitability fluctuations.
Gorey uses the Red Hat case to back up his point: in 2019, he says, the company made three times as much money on subscriptions as they did on professional services. HashiCorp’s data also confirm this trend: in 2021, professional services brought in $5 million in revenue for the company, while support and license sales (i.e., the open-core component) accounted for $165 million and $36 million, respectively.
As Open Source expert John Mark Walker says in his Building a Business on Open Source guide, investors are reluctant to invest in companies that only provide professional services and support. Investors seek a quick ROI. However, it takes longer to create a successful service-based business than to create a successful product-based business.
At the same time, Walker mentions that the open-core model has many drawbacks, the most significant of which is the need to oversee the Open Source product developers and its ecosystem. Total control could cripple the Open Source platform. Instead, Walker proposes an alternative open-core model in which companies create their own products or services based on established and successful Open Source platforms, such as OpenStack and Apache Hadoop (see the Cloudera example). Such a platform can be the basis for developing software products and services. Applications can be proprietary or Open Source. The crucial point here, however, is that the underlying platform must be completely open and evolve through the participation of a large community.
Let’s sum it up
- Many successful companies today are good examples of the money that can be made from Open Source software.
- Choosing the right business model or a combination of them is essential for building a successful Open Source business.
- Considering the history of companies that have been successful, one can conclude that open core is the optimal basis for hosting and professional services. So, the best-case scenario is to create a solid open-core product and then experiment with additional services on top of that.
- If the business is based on an existing Open Source project, there exists a risk of becoming dependent on it because that project may develop at its own pace and take its own direction. While a company can significantly influence product development if it communicates wisely with the community, it should proceed cautiously. Both companies and users benefit from industry-wide collaboration on an Open Source product.