本文共 2026 字,大约阅读时间需要 6 分钟。
本周一AWS宣布与Expedia Group和Netflix合作推出开源软件项目Open Distro for Elasticsearch。
Elasticsearch是由Elastic创建的开源软件项目,因其自身的优势受到了广大企业的欢迎,Adobe,Cisco,Netflix和Sprint等大型企业争相采用,Uber和Tinder等应用程序也使用其来存储、搜索和分析大数据。近年来,随着云计算的发展,云提供商也在提供Elasticsearch服务。
本周一,,其将可以作为免费的开源软件来使用,同时该版本还将提供Elastic只向付费客户提供的高级功能,例如传输加密、用户身份验证、详细审计、基于角色的细粒度访问控制、事件监控和警报、深度性能分析和 SQL 支持等。
从企业应用来看,Elasticsearch已经可以算是一个比较成功的开源项目了,AWS为何要在此时机上推出Elasticsearch开源发行版?之后又将如何推进呢?
首先,我们可以看到这次推出的Elasticsearch开源发行版是100%开源的,支持Apache 2.0 license,且AWS官方博客也表明其利用了Elasticsearch和Kibana的开源代码,而且还要在开源版本上增加Elasticsearch原有的商业功能。那么作为Elasticsearch背后的商业公司Elastic会没有什么意见吗?
依据常理来看,Elastic也不会有多情愿,但AWS方面也表示很委屈啊:“因为Elasticsearch项目中专有代码和开源代码混合已经给用户使用带来不便,而我们和Elastic讨论了这件事,而且还提出可以提供大量资源来帮助和支持社区驱动非混合版本的Elasticsearch,但Elastic并未采纳,所以我们只好自己动手来做了。”
至于利用已有的开源代码,AWS表示云架构战略副总裁Adrian Cockcroft回应称:现在很多的开源项目都得益于访问不受限制的开源软件,如果没有在现有开源软件基础上快速组装和创新的能力,那么很多项目现在不可能存在。
Elasticsearch珠玉在前,Elasticsearch开源发行版有何特别之处呢?Adrian Cockcroft表示:AWS发布此发行版的目的并不是为了支持Elasticsearch,所以Elasticsearch开源发行版并不会落后于原有的Elasticsearch,将会在开源软件的基础功能上附加增强功能,为上游项目提供贡献。
事实上,这半年多来AWS过得并不是那么顺心,“不回馈开源”这个标签似乎和AWS绑定在了一起,Redis Labs、Confluent和MongoDB等公司先后修改了开源协议,并明确表示修改的原因是阻止像AWS这样的大型云服务提供商将其开源软件作为一项服务来接受和销售。
也因为此,AWS和开源之间的关系如履薄冰,有人认为修改开源协议破坏了开源基础,但也有人认为云厂商是开源吸血鬼,使用了开源产品却没有回馈开源社区。所以,在开源大行其道的今天,撕掉“不回馈开源”这个标签也是AWS的“急事”。
在开源方面,AWS和谷歌、微软相比还有一些差距,但是从2018年起,我们可以看到AWS在开源方面的决心还是很大的,例如,此次发布Elasticsearch开源发行版,AWS也表示是为了回馈开源。
但笔者认为在此时间节点上推出Elasticsearch开源发行版的动机很值得探究,其很大程度上是为了规避掉开源协议的限制,如果将开源代码和专有代码混合到一个Elasticsearch项目中,很难追踪管理,违反开源许可的概率也会增加,甚至有可能导致项目不能使用,给用户带来麻烦。
看到“规避开源限制”这个动机是不是很眼熟呢?没错,这与2019年1月份AWS发布数据库服务Amazon DocumentDB有异曲同工之妙。而且MongoDB也不是第一个享受AWS这样待遇的项目,如果再往前推,我们还可以看到当Oracle宣布停止为Oracle JDK提供免费更新时,AWS马上自己发布了一个免费的、跨平台生产就绪的 OpenJDK 发行版——Corretto。
写到这里,不知道大家是不是嗅到了一丝不一样的气息。基于此,我们是否可以合理猜测,如果Correto和DocumentDB只是在投石问路,那么Open Distro for Elasticsearch会不会是在敲山震虎,“即使开源项目收紧协议,AWS也找到一条路径来抗衡。”
在外媒的报道中,Cockcroft表示:“当AWS和我们的客户所依赖的重要开源项目开始限制访问、更改许可条款或混合开源和专有软件时,我们将投资支持开源项目和社区。”
转载地址:http://jmsdx.baihongyu.com/