Elastic开发者上个月向elasticsearch-py(已经合并)提交了一个PR,修改ElasticsearchPython客户端连接Elasticsearch的认证逻辑。根据PR,修改后的客户端将无法连接到OpenSearch、AWS维护的Elasticsearch分支、一些较旧的Elasticsearch开源发行版或托管在AWSElasticsearchService上的Elasticsearch。AWS对此表示:“Elastic维护开源客户端库,为多种编程语言提供方便的高级接口。不过,在过去几周,Elastic已经将上述新逻辑添加到几种不同语言版本的客户端中。虽然Elasticsearch客户端仍然是开源的,它只允许连接到Elastic的商业产品。”AWS认为,广泛采用的开源项目通常强调灵活性和包容性,这是为了避免局限于单一项目,因此这种ElasticBehavior具有破坏性,会给开发者造成障碍。因此它决定从Elasticsearch的所有客户端fork新分支,并保证这些fork可以轻松连接到任何OpenSearch或Elasticsearch集群。AWS计划分叉的客户端包括:elasticsearch-pyelasticsearch-javaelasticsearch-netgo-elasticsearchelasticsearch-jselasticsearch-rubyelandelasticsearch-phpelasticsearch-rselasticsearch-perlelasticsearch-specificationelasticsearch-hadoop对应用程序代码进行了微小的更改,与Elasticsearch和相关衍生产品的连接像以前一样工作。它还建议开发人员不要将任何Elastic维护的客户端升级到最新版本,因为这可能会导致应用程序中断。自从Elasticsearch改变开源协议后,AWS和Elastic这两家公司逐渐“脱钩”。AWS首先创建了一个号称真正开源的Elasticsearch分支,并获得了众多厂商的支持。Elastic现在正在修改Elasticsearch的客户端以阻止OpenSearch连接到AWS。双方都不想与对方有任何联系。有人认为AWS的行为是明目张胆地“抢劫”开源项目,也有人认为Elastic从一开始改变开源协议到现在限制用户正常使用客户端,不仅违背了开源精神源,也意味着以用户为筹码。本文转自OSCHINA文章标题:ElasticRestrictsElasticsearchClientstoConnecttoOpenSearch文章地址:https://www.oschina.net/news/154014/aws-fork-clients-of-elasticsearch
