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