Do we need a new open-source license? Amazon Vs. Elastic Part I

(5 Min Read) Apache 2.0 vs SSPL vs ?? Which is right for protecting OSS future.

Photo credit

There is a fist-fight going on between Elastic and Amazon. Honestly, it could be between <any open-source-based company> and <big giant cloud provider>. But, we will be using them for this discussion.

Let me quickly catch you up. 

Both Elastic and Amazon offer ElasticSearch (ES) and Kibana as a managed solution. While Amazon offers many things, Elastic’s main business is the managed solution of ES, Kibana, and other things Elastic.

ES and kibana were both under Apache 2.0 license. Elastic recently changed them to SSPL. This makes ES and Kibana not open-source (debatable). 

Below you will find the timeline about the events and my views on them.

Why should you care?

If you are an engineer that uses and cares about open-source software, you want to follow this conversation. I can sense that this is going to be good. It might lead to the biggest change in how software is built in the future and what it means to be open-source. Please read articles from both Elastic and Amazon and form your own views and opinions. As always, these are my views and not my employers.

Timeline: (I will try to keep this up to date)

Jan 14th, 2020: Elastic announces that it’s changing the license of ElasticSearch and Kibana from Apache V2 to SSPL. There are 3 blog posts that elastic has published on this topic. 

Jan 21, 2020: Amazon announces they are forking ES and kibana

Jan 23, 2021: This blog post Part I & Part II.

Why Elastic changed the license?

Elastic has their own reasoning but it’s all about the money, and I don’t blame them. 

Elastic is a public company and has a fiduciary duty towards its shareholders to make money. Elastic makes money by providing a managed cloud service of all their products to their enterprise users. 

Elastic also maintain(ed) and contribute(d) to ES and Kibana under Apache V2 license. As per the post, in 2015, player 2 entered the game.

And player 2 is Amazon. 🤦‍♂️ 

Competition can be scary, especially when it comes from giants like Amazon. It reminds me of the questions that venture capitalists (VC) ask, what if Google/Amazon builds it. In this case, Amazon did. Now what?

For startups, that will be an instant kill, but Elastic is not a startup. It can fight 🔪

And so it did.

Why Amazon did it?

They are not going after Elastic. They are going after customers. Remember, they are customer focussed

AWS Customers wanted a managed solution, and Amazon gave them one. I, too, have been guilty of asking Amazon to provide a managed version of some open-source software 😶. Not ES or kibana because we did that in-house but other things.

But why would people want a managed solutions from Amazon as opposed to the main company?

Amazon Pros for running a managed OSS:

  • All of the company’s other services/platforms are running on AWS. Bringing up new services in the same cloud is easy to maintain and work with.

  • AWS is cheap. Especially when you stack up everything else you are running on AWS, individual managed solution providers cannot compete (over a long haul).

  • Engineers don’t WANT to deal with two different vendor channels if they can avoid it.

Amazon Cons for running a managed OSS:

  • When things break, AWS technical support is 🤢. Trust me, I’ve tried.

  • AWS is always one or more versions behind.

  • AWS focuses on fixing things that impact most of the customers. And sometimes, you may not be in that bucket. 

Please leave any additional reasons in the comment section I might have missed.

So, is Elastic wrong changing the license?

Yes and No.

From an open-source community point-of-view, Yes. Elastic is not the only contributor to the open-source version of ES, kibana, and other Elastic products. There are 1573 other contributors. So it’s unfair to take all that contribution and say it’s mine. Here are views from other community members (BrasseurQuinnDeVault, and Jacob. Taken from AWS blog post.)

From a business point-of-view, No. Elastic is the biggest contributor to all things Elastic. Apart from contributing to the open-source, Elastic spends money on researching, marketing, training, certification, support, conferences, etc., and raises awareness about the products. I don’t see Amazon doing that. Those things take time, money, and effort. Elastic is a business, and a business needs to do what it needs to do to make money. Elastic has more than 2000 employees working to make this a business happen. 

Is Amazon wrong in offering directly competing managed services?

Yes and No.

From the open-source community point-of-view, Yes. Imagine being a developer who spends years building open-source software, getting the community involved, raising funds, starting a company to provide a managed solution, and then fighting Amazon. Where is the community incentive? No VC is going to fund such startups anymore. 

From a business point-of-view, No. It’s a business. You do whatever it takes. 

As per Elastic, they have tried to work with Amazon, but things didn’t pan out (to put it mildly). I think that Elastic wants a similar deal that they have with GCP. Elastic provides the support, and Google provides the cloud. Win-win. But Amazon is not Google. And I suspect Google is right behind Amazon in offering managed services. But then again, Google has engineering DNA, and Amazon has business. They are two separate beasts. 

So, what’s next?

I want to discuss many things, but this post is already too long. I will be splitting this into multiple parts. In the next post, I will elaborate (blab) on

  • Is SSPL really the right answer?

  • Can Amazon scale?

  • What does this mean for the next generation of startups?

  • What does this mean for open-source? Do we need a new type of license?

  • And anything new that comes from either side.

If you are interested in reading the next post in this series, please consider subscribing to the free newsletter.