亚马逊AWS官方博客

站出来打造真正开源的 Elasticsearch

原文链接:

https://aws.amazon.com/cn/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch/

前段时间,Elastic宣布他们将变更软件许可策略,不再基于Apache License Version 2.0(ALv2)发布Elasticsearch与Kibana的新版本。取而代之的是,新版本的软件将遵循Elastic License(限制了软件的使用方式)或Server Side Public License(有一些限制让开源社区中的多数成员无法接受)下提供。这意味着,Elasticsearch与Kibana将不再是真正的开源软件。为了确保两款软件包的开源版本仍然可用并继续获得良好的支持(特别是在AWS产品当中),我们今天正式宣布,AWS将出面创建并并维护一个ALv2授权的开源Elasticsearch与Kibana分支。

这对Elasticsearch社区的Open Distro意味着什么?

我们于2019年发布的Open Distro for Elasticsearch,旨在为客户及开发人员提供一套功能齐备的Elasticsearch发行版,且全面遵循ALv2许可提出的自由使用权限。Open Distro for Elasticsearch是一个100%开源的发行版,它提供了几乎每个Elasticsearch用户或开发者都必需的功能,包括支持网络加密及访问控制。在构建Open Distro时,我们遵循了“上游优先”的推荐开源开发实践。所有对Elasticsearch的改动都以上游pull request的形式进行发布(#42066#42658#43284#43839#53643#57271#59563#61400#64513),然后我们将Elastic提供的开源版本构建包含在我们的发行版中。这确保了我们始终与上游开发人员及维护人员开展协作,而不是创建一个软件的分支版本。

选择分支一个项目并不是一个轻率的决定。但是当一个社区需求出现分歧时,这可能才是正确的前进道路。开源软件的一大核心优势是,如果各方对项目的未来走向有着不同的思路,那么任何开发参与者都可以接管现有工作成果并设定出属于自己的发展路线。以Jenkins CI工具为代表的不少社区开发项目已经证明了这种方式的可行性。

 

当AWS决定提供一个基于开源项目的服务时,我们确保有足够的能力并准备好在必要时全面接管维护工作。AWS拥有多年代码库使用经验,同时为Elasticsearch以及Apache Lucene(构建Elasticsearch的核心搜索库)做出了上游代码贡献——仅2020年就有超过230多项Lucene贡献。

 

我们对Elasticsearch与Kibana的分支将为基于最新的ALv2授权代码库7.10版本。我们将在接下来的几周内发布新的GitHub repo。随着时间的推移,这两个版本将包含在现有的Open Distro发行版中,取代Elastic提供的ALv2版本。我们将长期参与其中,并将以促进健康且可持续的开源实践的方式开展工作——包括实现与贡献者社区共享项目的协同治理。

Amazon Elasticsearch Service客户会受到哪些影响?

请大家放心,无论是Elastic的许可证变更,还是我们做出的分支决定,都不会对您当前使用的Amazon Elasticsearch Service (Amazon ES)产生任何负面影响。目前,我们在Amazon ES上提供了18个版本的Elasticsearch,这些版本都不会受到许可证变更的影响。

未来,Amazon ES将由Elasticsearch与Kibana的新分支提供支持。我们将继续提供新功能、修复与增强功能。我们致力于提高兼容性,尽可能消除您更新客户端或应用程序代码的硬性要求。就像我们今天所作的那样,我们将继续为您提供通向软件最新版本的无缝升级路径。

这一变更也不会减缓我们为客户提供更多增强功能的速度。事实上,一个社区拥有的Elasticsearch代码库反而给我们带来了新的机会,让我们能够更高效地提升项目稳定性、可扩展性、弹性与性能。

这对开源社区意味着什么?

开发者往往出于不同的理由而选择开源软件,其中最重要的考量在于可以自由在他们希望的地方和方式使用这些软件。

自1998年 “开源”一词被提出以来,它就用了明确而特定的含义,而Elastic方面关于SSPL是“自由开放”的说法是误导和错误的。他们试图一方面宣扬开源代码的好处,同时又在破坏开源代码自身的定义。事实上,SSPL是一个非开源许可证,它的设计看起来像一个开源许可证,模糊了两者之间的界限。正如Fedora社区做出的评论,“SSPL既不「自由」也不「开源」,它的出现给FOSS生态系统中的一切其他许可蒙上了阴影。”

 

2018年4月,当Elastic将其专有授权软件与Alv2代码混合起来时,就曾提到“我们并没有变更Elasticsearch、Kibana、Beats以及Logstash——我们也永远不会这么做。”但就在上周,在违背了这一承诺之后,Elastic更新了同一页面,并在脚注中表示“情况有所改变。”

Elastic很清楚他们在干什么,社区也用行动回应了这种行为(包括BrasseurQuinnDeVault以及Jacob)。正因为如此,Elastic才决定专门发布一篇博文,宣称“这一切都是被AWS逼的”。群众的眼睛是雪亮的,我们没有做出任何逼迫行为。很明显,他们的限制性许可只是为了阻止其他人提供托管Elasticsearch服务,帮助Elastic建立起更庞大的业务体系。Elastic当然有权变更其许可,但也需要为自己的决定承担后果。

 

与此同时,我们对与Open Distro for Elasticsearch一起踏上的长期旅程感到振奋。我们期待着为Elasticsearch与Kibana提供一个使用ALv2许可证的真正的开源选项,并携手社区一同建设这个光明的未来。

本篇作者

Carl Meadows

AWS公司产品管理高级经理,负责Amazon Elasticsearch Service与Open Distro for Elasticsearch项目。Carl自2015年Amazon ES推出以来就一直是团队中的创始成员。他在企业软件与云服务领域拥有丰富经验。在业余时间,Carl喜欢制作和录制音乐作品。

Jules Graybill

AWS公司搜索服务总监,负责Open Distro for Elasticsearch项目的开发工作。他在Amazon工作了三十年,曾参与涵盖技术乃至人力资源的各种项目。他住在西雅图,业余时间进行修复电子产品和各种早期操作系统。您可以在@JulesGraybill上关注他。

Kyle Davis

AWS公司Open Distro for Elasticsearch项目高级开发者布道师。虽然加入Amazon不久,但Kyle在软件开发及数据库领域拥有丰富的从业经验。闲暇时,Kyle喜欢尝试3D打印和拾掇自己的小花园。

Mehul A. Shah

AWS公司搜索服务总经理,负责管理Amazon Elasticsearch Service, Open Distro for Elasticsearch以及Amazon CloudSearch等多个项目。他热衷于使用云计算构建起更智能、更高效、更易用的数据系统。在空闲时……抱歉,他有三个女儿,所以没有空闲时间。