Open source is great… as long as we are the ones profiting
A couple of weeks ago, Elasticsearch B.V., the company behind the ElasticSearch family of products, decided to change their open source licence from Elastic/Apache to Server Side Public Licence (SSPL). Their products will be dual licenced under Elastic and SSPL licences. Why are they doing this?
Their founder, Shai Bannon, explained his reasons recently in an article hilariously called “Doubling Down on Open, part II”. ElasticSearch was licenced under the Apache licence, a business-friendly, exceptionally flexible open source licence. ElasticSearch B.V., the company, releases the software under the open source licence (along with the Elastic licence) so that anybody can use it, and then try to make money providing professional support plus the ability to run ES instances for their customers.
This is a very common business model where many customers will use it for free but other customers, including large organisations, will happily pay for support and for not having to worry about running the product on a production environment. Totally valid model and profitable if done properly.
But a few years ago, AWS decided to compete with them and started providing a managed service called Amazon Elasticsearch Service. ElasticSearch B.V. were not happy with Amazon using their trademarked brand, but in particular, they were not happy that AWS started competing with them without any kind of compensation.
The move to the SSPL is a direct response to AWS: “It also protects our continued investment in developing products that we distribute for free and in the open by restricting cloud service providers from offering Elasticsearch and Kibana as a service without contributing back”
Of course, AWS has already responded to this move by forking the existing version that is still available under the Apache licence and will work on this fork/version moving forward. This effectively splits ElasticSearch into at least 2 mainstream versions, a situation that will create confusion and incompatibilities. I am not sure who benefits from this, but customers surely won’t.
There are multiple problems with this move by Bannon. First, while he is still defending open source and talking endlessly about the community, the reality is that the SSPL is not an open source licence. SSPL was developed by MongoDB, which has the same problem with their own product being offered as a managed service by AWS. Mongo then tried to make the OSI (the Open Source Initiative organisation) to recognize the SSPL as an open source initiative and failed.
Second, Bannon has no problem with Microsoft or Google offering similar services because they are offered “in collaboration with” ElasticSearch B.V., which means that the cloud giants are paying them. AWS is not.
It wouldn’t be unfair to suggest that ElasticSearch B.V. is afraid of competition and wants to force AWS out. Good luck with that. AWS has enough manpower and skills to successfully fork the product, maintain it and provide additional capabilities moving forward, as they have been doing with other products like their open source version of the Java Development Kit.
It is ironic that Bannon tries to picture himself as the real defender of the open source principles: “ We believe deeply in the principles of free and open products, and of transparency with the community”. That might be true, but your product is not open source anymore, as you recognize in your blog: “SSPL, a copyleft license based on GPL, aims to provide many of the freedoms of open source, though it is not an OSI approved license and is not considered open source”.
The problem is that the SSPL is a rather hostile software licence, as explained by Vicky Brasseur: “Basically, it’s a hostile proprietary license masquerading in open source clothing. By using an SSPL project in your code, you are agreeing that if you provide an online service using that code then you will release not only that code but also the code for every supporting piece of software, all under the SSPL”
Now what?
If you are a ElasticSearch user, you are now forced to make a decision as soon as you upgrade your ES version to anything higher than 7.10. If you stay with the ElasticSearch B.V. version, you will need your lawyers to look at the SSPL and see what the implications are for your company. You might be fine.
Alternatively, you can wait until AWS releases their next version of ElasticSearch, which will be under the Apache licence. They are also committed to keeping it compatible with the ES B.V. version moving forward, but it is hard to know how well this will work in practice, particularly in the context of a legal dispute between both companies (originally triggered by AWS using the “ElasticSearch” trademark).
Existing users have a decision to make, even though Bannon tries to tell us otherwise: “this change most likely has zero effect on you, our users”. This is simply not true.
I would respect Bannon more if he came out and said: “Look, we are trying to make money here and AWS is taking advantage of us so we are changing the rules”. That would be the truth. Instead, he tries to portrait himself as the Open Source Champion while turning his product into a non-open source one.