Nothing illegal here, similar to the MDB/Amazon issue.
Not really comparable.
We have multiple examples of companies taking open source code and adding proprietary code and then selling the combination … often “selling” via service contract so that there is no charge for the code itself as that would often violate the open source license for the base code. This can result in multiple differentiated code bases. It sounds like this is just what Elastic has done … an open source part and a proprietary part and you have to pay something to get the proprietary part.
The MDB/Amazon thing was different. Amazon created their own database, presumably from scratch and/or with pieces of other earlier products of theirs, but designed it such that the API for their database was congruent with the API for an earlier version of the MongoDB database, roughly the one that was current when they started the work. If they had implemented 100% of the API and done so such that the behavior was identical to the same API used against MongoDB, then one could, in theory, swap one for the other without changing anything. In practice, of course, they didn’t implement anything like 100% of the API and at least some of the behavior seems not to be identical. Plus, of course, MongoDB has had a major new release since then and nothing in that new release is reflected in DocumentDB … and can’t be because of the the new license.
Wow, thanks for posting that. Thats actually huge. I’ll need to think about what that means.
What Amazon, Netflix etc have committed to is to create their own entirely open-source version of ElasticSearch. The idea being to completely bypass Elastic’s version, and encourage developers to work on the new OpenDistro version.
ie, not be locked in to Elastics version.
“As was the case with Java and OpenJDK, our intention is not to fork Elasticsearch, and we will be making contributions back to the Apache 2.0-licensed Elasticsearch upstream project as we develop add-on enhancements to the base open source software. In the first release, we will include many new advanced but completely open source features including encryption-in-transit, user authentication, detailed auditing, granular roles-based access control, event monitoring and alerting, deep performance analysis, and SQL support.”
This is not a great development for Elastic on the face of it. Over time, there would be fewer reasons to use the Elastic version of ElasticSearch, and more reasons to use the OpenDistro version.
So Elastic will be competing on how compelling their add-on features are, support, etc.
I think whats new is they’re creating a new codebase based on the open-source ElasticSearch. Developers will contribute to that project, not the open-source ElasticSearch project that Elastic is based upon. Previously Amazon were supplying the Apache 2.0 version which was under Elastics control AFAIK (ie, what gets included in releases, when released etc).
Control of the project is completely devolved from Elastic, to solve the confusion that customers might get the ‘Elastic’ version of the license, which is actually a fair criticism. If you look at the elastic.co site, which is where you’d probably download ElasticSearch from, it takes a bit of hunting to get the open-source Apache 2.0 version, rather than the Elastic license (which contains proprietary code).
Essentially, they’re attempting to get the Open Distro version to be the one true ElasticSearch. Guaranteed OpenSource. Why wouldn’t you use that one?
They can put resources into developing that product (eg: “…including encryption-in-transit, user authentication, detailed auditing, granular roles-based access control, event monitoring and alerting, deep performance analysis, and SQL support”).
It also of course means they can release ahead of elastic.co, create their own version numbering (so Elastic can’t claim they’re always ahead of AWS which they do currently). You’ll get ElasticSearch 7.x(by Elastic) versus ElasticSearch OpenDistro v3.x.
This is a very aggressive move, which highlights how popular ElasticSearch has become. I don’t recall another instance where this has happened.
It’s definitely a fork. For those who aren’t up with the tech speak, a ‘fork’ refers to creating a new version of software, where the original version is still developed by Team A, and the new version is also developed by Team B.
So after some point in time, the original version and the new version are no longer equal, they’ve each gone down their separate fork in the road.
The thing with open-source is that there is no ‘original’ developer, it’s a community project. To the open-source community, AWS’s move might be ‘purer’ because it guarantees the ‘open-source’ license. However… it means that AWS can profit by providing the managed version, which pisses open-source people off.
I’m… a little struck with the aggressiveness of the move. The features announced:
“…including encryption-in-transit, user authentication, detailed auditing, granular roles-based access control, event monitoring and alerting, deep performance analysis, and SQL support.”
are basically the components of Elastics ‘gold’ and ‘platinum’ subscriptions.
Hi Greg, I don’t understand your reasoning behind saying, ‘It’s definitely a fork’. From the AWs blog post on 3/10/19 that initiated this thread, ‘As was the case with Java and OpenJDK, our intention is not to fork Elasticsearch’.
What is alarming is they go on to say, ‘and we will be making contributions back to the Apache 2.0-licensed Elasticsearch upstream project as we develop add-on enhancements to the base open source software. In the first release, we will include many new advanced but completely open source features including encryption-in-transit, user authentication, detailed auditing, granular roles-based access control, event monitoring and alerting, deep performance analysis, and SQL support’. This does sound like their adding back what ESTC made proprietary to again be open source.
If the open source contributions are as good as or good enough compared to the ESTC proprietary work - this does sound serious.
Sorry posted befor editing.
When I wrote, ‘This does sound like their adding back what ESTC made proprietary to again be open source.’ It would have been more clear to state, ‘My contention is that it sounds as though what AWS is adding as open source is what ESTC is charging for. And if it is as good or good enough this is a serious blow to ESTC share holders’.
Greg,
Why did’nt AWS take Mongo’s older OS version and directly build on that as they are proposing for Elastic search? Why go the tedious route of building on top of Aurora and using APIs?
Why did’nt AWS take Mongo’s older OS version and directly build on that as they are proposing for Elastic search? Why go the tedious route of building on top of Aurora and using APIs?
A couple thoughts here:
For Mongo, the underlying server can be better replicated with existing tech underpinnings in AWS. The API is most important for exposure.
For elastic, the underlyers is core open source technologies for text indexing and search. A computer science problem. AWS isn’t going to replace that, they will use it, and optimize its deployment on Amazon. This is what Amazon wants to keep pure. It feels like ESTC was trying a little of the mess that Oracle tried with MariaDB and Java. Both got forked and have pure open source versions.
Elastic is welcome to compete with Amazon’s offering by offering their product on Market Place.
Sounds like robbery. Does’nt the open source offer no protection to the original developer?
The entire reason Open Source exists is to prevent the “original developer” from having “protection” over the source code. Elastic used the Apache 2.0 License, which explicitly allows for anyone to modify the code in any way, and redistribute the code for free.
“elasticsearch” has over 1100 different contributors to the source code, most of them not working for Elastic. This is how Open Source projects get built, with the promise that the source code will always be open.
The Open Source Initiative published their version of “The Open Source Definition”. You can read more about it here: https://en.wikipedia.org/wiki/The_Open_Source_Definition
Specifically, it states: Derived Works - The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
Yep, that is correct. Open Source can be freely redistributed, and just as importantly, any derivatives from an Open Source project must also be made available to the community to redistribute. A lot of projects build upon code from other open source projects to start with, so there is a lot of code in there that gets reused and redistributed under the Open Source umbrella.
ElasticSearch is a great tool, and very broadly used on AWS, so it is not surprising that Amazon is forking it to ensure it is both freely distributed, and widely available to anyone who wants it.
----- Invest wisely my friends
CMFSoloFool - Ticker Guide / Share Holder
Profile and holdings: https://goo.gl/TYTU4S
From my initial reading, Elastic didn’t address Amazon’s primary complaint, the co-mingling of the Open and Closed code. Still, Elastic is in the best position to support and improve their own codebase.
It’s certainly worth remembering that AWS doesn’t have (AFAIK) much of a track record in open source projects like this. They certainly contribute to open-source projects, but most of the ones I have seen are along the lines of “open source project X so you can better use AWS”.
Netflix has a better track record.
Willo, re: fork, they’ve split the code-base, ie, forked it. They can say they’re going to contribute back to the original fork, but sooner or later those two code-bases will get out of sync.
This development should be monitored fairly closely. If the number of contributors to the Open Distro sky-rockets, that would be a significant warning sign, particularly if those contributors are not part of AWS/Netflix etc. I’ll check in to the github repo every now and again and see whats happening.
I’m still long ESTC. And AMZN for that matter. But I’m cheering for ESTC…