Elastic 限制 Elasticsearch 客戶端連接到 OpenSearch
Elastic 開發(fā)者上個(gè)月向 elasticsearch-py 提交了一個(gè) PR(已被合并),旨在修改 Elasticsearch Python 客戶端連接到 Elasticsearch 的驗(yàn)證邏輯。根據(jù) PR 的描述,修改后的客戶端將無法連接到由 AWS 維護(hù)的 Elasticsearch 分支 OpenSearch,以及一些版本較低的 Elasticsearch 開源發(fā)行版,或是托管到 AWS Elasticsearch Service 的 Elasticsearch。
AWS 對此表示:“Elastic 維護(hù)的開源客戶端庫為多種編程語言提供了方便的高級接口。但在過去的幾周里,Elastic 向多個(gè)不同語言版本的客戶端增加了上述的新邏輯。雖然 Elasticsearch 的客戶端仍然開源,不過只允許連接到 Elastic 的商業(yè)產(chǎn)品。”
AWS 認(rèn)為被廣泛采用的開源項(xiàng)目通常強(qiáng)調(diào)靈活性和包容性,這是為了避免被限制在單一項(xiàng)目上,所以 Elastic 這種行為具有破壞性,并給開發(fā)者帶去了阻礙。因此它決定從 Elasticsearch 的所有客戶端 fork 出新分支,并保證這些分支可以輕松連接到任何 OpenSearch 或 Elasticsearch 集群。AWS 計(jì)劃 fork 的客戶端包括:
- elasticsearch-py
- elasticsearch-java
- elasticsearch-net
- go-elasticsearch
- elasticsearch-js
- elasticsearch-ruby
- eland
- elasticsearch-php
- elasticsearch-rs
- elasticsearch-perl
- elasticsearch-specification
- elasticsearch-hadoop
AWS 表示,開發(fā)者只需對其應(yīng)用程序的代碼進(jìn)行細(xì)小的改動,即可像以前一樣正常連接到 Elasticsearch 以及相關(guān)的衍生版本。它還建議開發(fā)者不要將任何由 Elastic 維護(hù)的客戶端升級到最新版本,因?yàn)檫@可能會導(dǎo)致應(yīng)用程序中斷。
自 Elasticsearch 變更開源協(xié)議以來,AWS 和 Elastic 這兩家公司就開始逐漸“脫鉤”。AWS 先是創(chuàng)建了一個(gè)自稱真正開源的 Elasticsearch 分支,并獲得了不少廠商的支持?,F(xiàn)在,Elastic 修改 Elasticsearch 的客戶端,以阻止連接到 AWS 的 OpenSearch。雙方彼此都不想產(chǎn)生任何關(guān)聯(lián)。
有人認(rèn)為 AWS 的行為是在赤裸裸地“搶劫”開源項(xiàng)目,也有人認(rèn)為 Elastic 從最初的變更開源協(xié)議,到現(xiàn)在限制用戶正常使用客戶端,不僅違背了開源精神,更是有拿用戶當(dāng)做籌碼的意味。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Elastic 限制 Elasticsearch 客戶端連接到 OpenSearch
本文地址:https://www.oschina.net/news/154014/aws-fork-clients-of-elasticsearch