Given the widely public reaction to the Commons Clause licensing change from another vendor, we felt it was important to let the community at large know that Hazelcast’s 10-year consistent stance on open-source licensing is not changing. In fact that was one of the first public questions posed by InfoQ to our new CEO, Kelly Herrell, last month, and his affirmation was unequivocal to that end.
Stephen O’Grady, RedMonk co-founder has written Tragedy of the Commons Clause, an excellent summary and analysis of the issues.
Our Position on Open Source Business Models
Hazelcast is a commercial open source company. This means we have open source projects such as Hazelcast IMDG and Hazelcast Jet, and a lot of open source modules and connectors. We also have “Enterprise” versions of IMDG and Jet, which add operations features. This is made clear by the following architecture diagram for Hazelcast Enterprise HD, which shows the enterprise features in blue (Enterprise) and dark blue (Enterprise HD).
The Enterprise versions use the open source projects unchanged. The open source projects are not restricted in any way and have all hooks in them for the enterprise features to integrate. This business model is known as open core. We sell support on the open source versions and we sell software subscriptions on the enterprise versions.
We think this is a proven and effective business model which has been used successfully for many years.
This is consistent with my 2015 Blog Post on Open Source, Open Core and Open Standards.
Which Open Source License?
We use the Apache 2 License for all of our open source projects. Like BSD, it is a permissive license. The only restriction is that of attribution meaning that if you use the code, you simply have to attribute the original copyright owners. There is no restriction other than that. So if you want you can fork it and create a paid product with it.
It also avoids the copy left provisions of the GPL which would cause practical problems for our users, because our projects and clients tend to be embedded in user software.
And for our closed source, it is a commercial license. There is no in-between.
The Commons Clause Rider
The Open Source Initiative (OSI) reviews licenses to ensure they comply with accepted open source principles. Apache 2 is an accepted license.
Recently we have seen some vendors add a “[Commons Clause]” to Apache 2. Despite the name the clause is simply a prohibition on selling the software. We agree with the OSI: in our view the Commons Clause rider makes these licenses not open source. Adding the clauses to well-established licenses like Apache 2.0 conflates two opposite things, and is confusing and misleading.
Businesses making a business from your software
Most open source users do simply that, use the open source. A small minority contribute on discussion boards and mailing lists, and an even smaller number contribute code. That has always been the way with open source and is not new. It is also the point of open source. You want to create high quality software that can simply be used.
For commercial open source companies, there has always been the issue of other businesses benefiting from selling services around your software or ecosystem. While cloud providers offering managed service versions of open source is a new phenomenon, the general problem is not new.
Some longstanding examples are:
- CentOS, which packages and supports forks of Red Hat Enterprise Linux
- JFrog which makes Artifactory, a widely used repository which initially was for Maven artifacts, in competition with Sonatype who created and funded Maven and has a competing repository.
Yet Red Hat and Sonatype manage to have good businesses. The other players enrich the ecosystem, provide choice and further popularise the software.
And Hazelcast has a good business. Some business benefits that come from the open source model:
- Sales costs are reduced. Hazelcast has 60 million phone homes per month! That is an army of people who know how to use our software. Often they come to us when they want a commercial relationship. Compare that with closed source enterprise software where you need to run multi-month POCs before purchase.
- The community comes up with questions and ideas on what they want to see and can provide this feedback in a very low cost way to them. Compare that with closed source enterprise software where feedback comes through Solution Architects to Product Managers.
- Sometimes the community builds what they need and contribute it. This tends to happen mostly with smaller modules but it can lead the way with rapid innovation.
- The community leads to higher quality software. As Linus said, “With a million eye balls, all bugs are shallow”.
We at Hazelcast have used Apache 2 for the last decade and do not plan on changing.