Last month DrupalCamp Poland 2020 kicked off with amazing talks by industry leaders and experts, all coming together online in another awesome Drupal event. As Open Social CTO, I was invited to present a talk titled Building an open-core SaaS business and share a little bit about how we have tried to build Open Social’s business model in a way that strikes a fine balance between being open-source, and growing a profitable SaaS company.
What is the difference between COTS, SaaS and Open-core?
To give some context to the discussion, I firstly set out some key differences between Commercial Off The Shelf (COTS), Software as a Service (SaaS) and Open-core business models and how they grew out of one another.
COTS is the traditional commercial software model where clients buy a CD-ROM at a once-off price and install the software on their computer where they can use it until the software becomes redundant or outdated. With the advent of high-speed internet and cloud-based storage, the software development process changed, along with the standard software business model.
Software shifted to being a subscription service, rather than a once-off product you purchase. This allowed developers to work on a product throughout its lifespan, offering clients constant updates, new versions, bug fixes and maintenance throughout a software’s lifespan. This model also allowed businesses to subscribe to package deals for teams or even whole companies, rather than buying numerous single copies of a software. (A good example of this transition is Adobe’s Creative Suite products. In the past, you could buy a single version of Adobe Photoshop off-the-shelf as a boxed product. Now you can subscribe to Adobe Photoshop as a cloud-based software service and benefit from continual new updates and version releases).
Both the above approaches present fundamentally commercial or proprietary software business models. In recent years, however, a new model of software production and distribution has become popular. Open-core, coined by Andrew Lampitt in 2009, is a software business model that advocates for moving away from the strictly commercial and opening up the software ecosystem a little bit. The open-core model promotes a specific way of structuring a software company around a core open-source product that is freely available, while also offering a commercial version of this technology for paying clients.
Open core is a business model for the monetization of commercially produced open-source software… the open-core model primarily involves offering a “core” or feature-limited version of a software product as free and open-source software, while offering “commercial” versions or add-ons as proprietary software. - Andrew Lampitt
Resolving the conflict between open-source and open-core
The most obvious criticism against open-core is, of course, that open-source is per definition non-commercial. So the open-core approach of ‘commercial open-source’ software is seems like a logical contradiction (not to mention an ethical one!). While there are a number of purely open-source software business that actually do make it work, such as Red Hat and Hortonworks, open-core argues that you can meet somewhere in the middle and benefit from the best of both worlds.
Striking the balance between commercial interests and open-source technology is not black and white. There are a lot of different models of open-core depending on how much of your product is, in fact, open-source. These models range from ‘Skinny’ to ‘Thin’ to ‘Lean’ to ‘Thick’. The differences between these are in terms of the amount of the product that is open-source and the amount of the product that is ‘closed’ or proprietary. For example, the two models at the ends of the spectrum are:
- +-90% open-source / +-10% closed
- Light commercial plugins or extensions that go easy on top of the core.
- Fixes for commercial parts are pushed to the core.
- User control is still at maximum.
- +-10% open-source / +-90% closed
- Fundamentally based on an open-source software project, but almost always completely closed. Materialized as SaaS service.
- Fixes for commercial parts are never pushed to the core.
- User control is minimum.
How Open Social makes open-core SaaS work
Throughout our history, first as a Drupal agency, and then as a SaaS company, we’ve worked towards developing an open-core model that fits our values and drives business. This is largely due to our fundamental use of the open-source Drupal Content Management System as a framework for our online community platform.
As a result, Open Social’s core software is available as a public distribution and any member of the Drupal community can download the core Open Social code-base and use it in their own projects, or deploy an Open Social instance on their own servers. There are over 1,000 reported Drupal users who have implemented the Open Social open-source distribution. These are sometimes small clubs, non-profits or even small businesses.
The benefit of having all these open-source users use our product for free is that they contribute back to our core technology, helping with bug-reporting and contributing code to improve our core product. One characteristic of open-core companies is that usually around 90% or more of the work is done by the employees of the company, with the rest being from open-source community contributors. In addition, of course, we believe in the value of our product for connecting people and helping organizations drive real-world change. So why not make it more freely available?
But as a SaaS company, we also offer Open Social as a subscription-based software to clients who need more advanced features, and more hands-on services. It took us a long time to figure out what our unique value can be for larger organizations or businesses, and how to consequently position ourselves and our SaaS product in the market.
At the moment we offer 3-tiers of Open Social SaaS, depending on the client’s needs. The idea is that we always start with the open-source core, and then grow the product offering to match the client’s ambition.
Firstly, as a SaaS product Open Social includes a number of technical and business services, including:
- Set-up & deployment
- Customer support
These are key services that certain businesses and organizations require to make sure their online communities run smoothly, are constantly maintained and professionally set-up and deployed. Moreover, their subscription ensures that they have access to our developers in case anything ever goes wrong.
Another big part of the 3-tier SaaS product is our ‘extension marketplace’:
- Basic subscribers have access to the standard tools and features, with the option to add single extensions such as Courses or Crowd Innovation for a nominal fee per extension.
- Premium and Enterprise subscribers have access to the whole range of extensions we offer. This makes a huge difference for a mid- to large- organization who needs a more complex online community platform.
The extensions really sell Open Social as a uniquely powerful online community solution, allowing clients to customize the core-platform and transform it into something that is perfectly suited to their needs. Smaller organizations or users might get by using simply the core product, or opt for the Basic subscription if they still need us to take care of hosting, maintenance, support and deployment.
Finally, we also have Enterprise clients that require custom platform development. These are large multi-national organizations such as Greenpeace or the UN that want a platform built to their specific needs and requirements. In such cases, our developers work closely with the client to come up with tailored solutions (for example, Greenwire for Greenpeace and SparkBlue for the UN).
A key lesson we’ve learned as an open-core SaaS company, however, is that these Enterprise projects take a lot of time and effort. Even as a SaaS company, you still need to think about what is your core product and how to better develop that, rather than spending all your resources building custom products.
Striking the right balance
Marten Mickos, once the CEO of MySQL said:
You need to come to terms with the idea that some people will spend any amount of time to save money. Other people will spend money to save time. It is that philosophical difference between people that makes the business model. You reach out with the open source software to reach everybody. You reach out with a business model to those who are ready to spend money in order to save time.
Striking a balance between open-source and SaaS is tricky. It is important for the open-source community to not feel that essential functionality is being held back from the core product. But it is also important to have enough marketable features as a commercial SaaS product if you want to drive a sustainable business.
Open Social is always working on striking this balance. And looking at our customer-satisfaction, it is clear that they are getting good value out of our SaaS product. Looking at the high-usage of our public distribution, it is also clear that the open-source community finds our core product useful.
Of course, it would be easier to simply opt for being a proprietary or closed-source SaaS company. But Open Social has always strived to show that using open-source as our core can help us create a successful SaaS business that is at the same time responsible, transparent and gives back to the community. Open Social’s business model is based on the same ideas that we promote in our product itself:
When a community gets together to collaborate and share knowledge, amazing things happen!
It’s in our company’s DNA to be open and to share knowledge and experiences. And it is in all our DNA as human beings! That is, after all, what makes being part of DrupalCamp 2020 a unique experience. It is a chance for us, and for me personally, to share with the open-source Drupal community and exchange ideas, experiences and knowledge.