1 月 20 日,Elastic 公司 CEO Shay Banon 在公司官网发文表示,他们决定将 Elasticsearch 和 Kibana 的开源协议由 Apache 2.0 变更为 SSPL 与 Elastic License,这是因为被 AWS 的所作所为逼于无奈作出的选择。
Shay Banon 在文中强烈表达了自己的不满,措辞激烈:
“亚马逊于 2015 年基于 Elasticsearch 推出自己的服务,还将其称为 Amazon Elasticsearch Service,这是很明显的商标侵权行为。NOT OK。” “我在 2011 年借了一笔个人贷款来注册 Elasticsearch 商标...... 看到商标如此公然地滥用,我特别痛苦。亚马逊问题迫使我们提起诉讼。NOT OK。” “商标问题让用户感到困惑,以为是 Elastic 和亚马逊之间有合作,这不是真的。NOT OK。” “...... 多年来这种困惑仍然存在。NOT OK。” “亚马逊针对 Elasticsearch 的 Open Distro 分支,进一步分裂了我们的社区,引发了相当多的混乱。NOT OK。” “..... 最近,我们发现了更多挑战道德底线的例子。我们已经在专有功能方面上与众不同,现在这些设计却被视为来自亚马逊的灵感。NOT OK。”
1Elastic 更改开源协议,社区有意见
1 月 15 日,Shay Banon 在公司官网发文,宣布将更改开源协议,从 Elastic 7.11 版本开始,Elasticsearch 与 Kibana 代码所遵循的 Apache 2.0 许可会调整为 SSPL 与 Elastic License 双许可。
SSPL 是由 MongoDB 制定的源代码许可。针对云服务提供商做出了限制,即要求云服务提供商在未对项目做出贡献的情况下,不得发布自己的开源产品即服务。SSPL 允许用户以自由且不受限制的方式使用并修改代码成果,唯一的要求是:如果将产品以作为一种服务进行交付,那么必须同时公开发布所有关于修改及 SSPL 之下管理层的源代码。
Shay Banon 在 1 月 15 日的博客中写道:
之所以选择这条道路,是因为这才是继续保持开放的正确思路,同时也将给我们的社区与公司提供保护。在某种程度上,这一切将使我们的开放程度进一步提高。作为后续措施,我们将逐步将免费专有功能从 Elastic License 转向 SSPL 加 Elastic License 双许可,旨在进一步增强我们希望达成的产品自由与开放目标。
Shay Banon 反复表示源代码许可的改变对绝大多数免费使用默认发行版的社区用户没有任何影响。Elastic 布道师们也宣传道:“只要你不是公有云厂商,License 的变化和你一点关系也没有,自己搭建部署 elk 没有任何合规的问题。只是针对基于它做云服务盈利还不开源出来回馈社区的这种情况。云厂商也能继续用 Elasticsearch,只不过前提是要全部开源出来,这样才有利于整个社区的发展。”
但是 Elastic 修改协议的这个行为还是引发了社区不满。
有开发者吐槽表示:“Elasticsearch 属于社区中的 1573 位贡献者,这些贡献者保留其版权,并授予 Elastic 不受限制地分发其作品的许可。开源是社区的工作......Elastic 更改协议是为了获得更多的钱,是为了建立对 Elasticsearch 的垄断...... 这是反开源的举动。Elastic 的行为辜负了社区,辜负了大家的信任。"
因为 Elastic 更改协议,也导致一些企业开始寻求 Elasticsearch 的开源替代方案。比如开源平台 Hopsworks 使用了 Elasticsearch 为 AI 资产(功能,模型,实验,数据集等)提供自由文本搜索,他们关注到自己的行为可能违反了 SSPL 的许可条款:
“如果您将本程序的功能或修改的版本作为服务提供给第三方...(适用许可条件)”
所以 Hopsworks 的开发者从 Elasticsearch 切换到了适用于 AWS(已获得 Apache v2 许可)的 Open Distro,并且 发文总结了他们的迁移过程:
2最终还是跟随了 MongoDB 的脚步
MongoDB 公司因其“NoSQL”数据库产品 MongoDB 而创立。MongoDB 并不是唯一的 NoSQL 数据库,但它是其中使用最广泛的数据库之一。
MongoDB 还引领潮流地创建了一种新的开源许可。
云厂商 AWS 或 Azure 打包 MongoDB 并将其作为基于云的 SaaS 服务(Software as a service)的一部分进行售卖,这样的问题在于,这些服务直接与 MongoDB 自己基于云的 SaaS 服务——MongoDB Atlas 形成了竞争。这种情况下,受到威胁的不是 MongoDB 的源代码,而是 MongoDB 自己的 SaaS 服务,而这恰恰是该公司的主要收入来源。
MongoDB 的 CTO Eliot Horowitz 认为,随着计算机技术进入云的新世界,有必要采取一些措施对开源软件业务进行保护。
2018 年 10 月,MongoDB 宣布其开源许可证将从 GNU AGPLv3,切换到 SSPL,新许可证将适用于新版本的 MongoDB Community Server 以及打过补丁的旧版本。
一开始,MongoDB 将该 SSPL 许可证提交给开放源代码促进会(OSI), OSI 负责监督和批准新的开源许可证。但是有些人认为,SSPL 与 OSI 的开源定义第九条是不兼容的,第九条说“许可证不能限制其他软件”。并且经过 OSI 来来回回的一系列邮件讨论后,再加上该许可证本身的措辞问题,使得 SSPL 不太可能被 OSI 批准,所以 MongoDB 又取消了对 SSPL 许可的申请。于是,SSPL 并不是开源许可,而且将来也不可能成为正式许可。
MongoDB 更改开源协议也曾引起极大关注,RedHat 等厂商纷纷表示将弃用 MongoDB。一时之间,MongoDB 似乎深陷险境。但两年过去后,这家公司不仅还活着,而且活得很好,其股价也从 2018 年的不足 100 美元 / 股涨到现在的 361 美元 / 股。
MongoDB 也绝对不是唯一一个抱怨云计算正在侵蚀其利润的公司。像 Redis Labs、 Confluent 这样的公司都更改了软件许可证,从原来的开源许可证转向更严格的条款,限制了软件的功能,使其不再属于开源软件。
Elastic 也有同样的困扰,也面临着来自 AWS 的激烈竞争。两年前,亚马逊在 AWS 上提供了 Elasticsearch,还打包了自己版本的 Elasticsearch 代码库,并将其扩展为免费提供的好几项服务。亚马逊宣布推出 ElasticSearch 开源代码独立库时,还曾造成 Elastic 股价下跌,跌幅高达 5%。
面对这样的挑战,Elastic 公司一直未采取行动,除了状告亚马逊注册商标侵权以外。
到现在,Elastic 终于觉得再不对 AWS 和 Amazon Elasticsearch Service 采取行动,“事情只会变得更糟”。
Shay Banon 希望此更改“对用户产生零影响”,不伤害“公有云”之外的友商,但还是有 Hopsworks 这样的开源平台选择迁移到 Elasticsearch 的 Open Distro 分支,所以许可证变更的影响还有待观察。
延伸阅读:
https://www.logicalclocks.com/blog/elasticsearch-is-dead-long-live-open-distro-for-elasticsearch
https://mp.weixin.qq.com/s/QsDhNDL3Vn93F4pNI7Yy7w
AWS 作出回应
AWS 作出回应
针对 Elastic 的上述决策,AWS 在 AWS 开源博客官方博客发表文章《Stepping up for a truly open source Elasticsearch》 作出了回应。