?整理 | 孙胜 出品 | CSDN(ID:CSDNnews)
自家开源项目逐渐趋于商业化,借用别人的开源产品打造自己的开源平台,到底是谁违背了开源精神,这场纠纷主角Elastic和AWS各执一词?
近期,Elastic开发者向Elasticsearch-py提交了一个PR,增加了一个验证逻辑,限制用户使用Elasticsearch客户端连接到由AWS创建维护的Elasticsearch分支OpenSearch,以及跟AWS相关的Elasticsearch产品和服务。
Elasticsearch是现在的Elastic于2010年首次发布的分布式免费开源搜索和分析引擎,具有快速实时搜索和可靠稳定的特点。因此Elasticsearch凭借自身的优势获得众多企业的青睐,比如Adobe,Cisco,Netflix和Uber等大型企业,亚马逊的AWS云计算服务也使用Elasticsearch用来存储、搜索和分析大数据。
双方纠纷的由来
早在2019年1月21日,AWS曾发布Open Distro for Elasticsearch。Open Distro for Elasticsearch项目是Elasticsearch的增强版本,基于Apache 2.0 100%开源,Open Distro for Elasticsearch包含了Elasticsearch里面的商务付费功能以及Kibana的开源代码。
2021年1月15日,Elastic的创始人Shay Banon官网发文,宣布将更改开源协议,从Elastic 7.11版本开始,Elasticsearch与Kibana代码由原先遵循的 Apache 2.0许可协议调整为SSPL与Elastic License双许可。面对Elastic公司更改开源协议的行为,AWS回应称,Elastic这种做法只是为了自己的利益垄断,而且更改开源协议后的SSPL协议丧失了“开源精神”。AWS这样的说法,也让Elastic的创始人Shay Banon在2021年1月20日官网发文怒怼AWS,他们更改开源协议完全是因为AWS的逼迫不得以而为之,同时指责AWS本身的种种恶行。
AWS也回应Elastic公司的声明,否认自己威逼Elastic公司,强调自己一系列做法完全是为了创造一个更好的开源社区。
AWS如何解决这次“危机”
这次Elastic修改了Elasticsearch的客户端程序代码,切断了Elasticsearch与AWS的OpenSearch之间的联系,无不表明两家公司已经形成“水火不容”的态势。
面对Elastic的“主动出击”,AWS表示:”Elastic这种行为破坏了开源社区的规矩,并给社区开发者带来了阻碍,同时OpenSearch 项目将添加一组新的开源客户端,以便于将应用程序连接到任何OpenSearch或Elasticsearch集群。本着开放性和互操作性的精神,我们将尽最大努力保持这些开源客户端与所有 Elasticsearch发行版的兼容性。这些开源客户端将允许开发人员继续运行其当前版本的OpenSearch或Elasticsearch,而对其应用程序代码进行最少的更改。”同时AWS也保证新客户端将提供给使用者与之前相同API功能。
如何看待双方纠纷
对于这次AWS与Elastic的纠纷,有开发者吐槽亚马逊本身就有“不回报开源”这个标签,而且Redis Labs、Confluent 和 MongoDB 这些公司曾经先后修改了开源协议,并明确表示修改的原因,主要为了避免像 AWS 这样的大型云服务提供商将他们的开源软件进行改版与销售。虽然AWS这次努力为OpenSearch打造成一个”完美的”开源社区,也不易改变人们对AWS的传统印象。
依旧有人认为AWS的行为是在“抢劫”开源项目,也有开发者表示,Elasticsearch 属于社区的开源贡献者,Elastic没有权利保留版权,也不应该修改许可协议,他们这样做违背了开源社区的精神。您有什么看法?欢迎留言评论。
参考链接:
https://aws.amazon.com/cn/blogs/opensource/keeping-clients-of-opensearch-and-elasticsearch-compatible-with-open-source/
|