今年5月份,Elastic宣布扩大与 AWS 的合作,围绕 AWS 上的 Elastic Cloud 为客户打造更好的交付体验,同时能够通过 AWS 的全球影响力推广Elasticsearch的云服务。
Elastic宣布和AWS扩大了合作范围,涵盖以下方面:更流畅的注册和入门流程、更简单的数据采集、全新的面市计划,以及拓展的 AWS 能力和认证资格。Elastic 也宣布已获得多项AWS认证资格)。
看起来两家公司的合作进展非常好,但是曾几何时,这两家公司可还闹得很僵,甚至打起了官司,也因此导致开源世界对于开源许可和商业化的热烈讨论,直至目前,仍然有不少的开发者对Elasticsearch的开源许可表达了担忧。
一、Elastic与AWS的恩怨
Elastic开源的Elasticsearch和Kibana在市场上受到了非常大的欢迎,在众多业务场景被应用。基于此,2015年,AWS基于开源的Elasticsearch推出了自己的云服务:Amazon Elasticsearch Service。
Elastic是基于Elasticsearch和Kibana进行商业化的公司,其提供了自己的云服务Elastic Cloud,Elastic Cloud可以结合公有云设施进行部署,然后与公有云厂商进行分成,这是Elastic的商业模式。而AWS则认为其基于开源的Elasticsearch,可以给用户提供特定的搜索功能,于是推出自己的相关服务,也并没有违背开源的许可。
但是这明显对于Elastic Cloud的品牌有所混淆,这引起了Elastic的极大的不满,两家公司因此打起了官司。
开源世界也对此进行了热烈的讨论,Elasticsearch本身是一个开源的软件,那么AWS提供的服务到底是否符合开源的意志的呢?Elastic标榜的开源是否是真正的开源?
二、Elasticsearch的软件许可
基于Elastic和AWS的矛盾,Elastic在2021年1月宣布将采用Apache License 2.0的Elasticsearch和Kibana的源代码变更为双重许可模式,即Elastic License+SSPL,其中Elastic License有了明确的限制条件:不得将产品作为托管服务提供给其他人,这不明显的就是面向AWS提供的Amazon Elasticsearch Service服务的。
SSPL对于商用也有比较严格的限制,虽然可以将基于开源产品修改的产品作为服务提供给第三方,但是根据条款的要求必须通过网络免费向所有人提供产品服务的源代码。
从Elasticsearch 7.11版本开始,Elastic License+SSPL的双重许可正式生效。另外从Elasticserach开始,X-Pack默认采用了Elastic License开源,也就是说,如果启用了X-Pack功能,那么也需要遵循Elastic License,所以基本上通过Elasticsearch向第三方提供服务是行不通的了,幸运的是,如果不向第三方提供服务,企业自己内部使用暂时是不受影响的。
三、如何看待开源许可
如何看待开源软件背后商业运作公司进行“有限许可”?明确表达一下个人的意见,我认同也尊重这种有限许可,前提是这个商业运作公司或者甚至个人能够让这个开源软件更好。
2021年开始,开源社区开始有越来越多的开源软件创作者放弃开源软件的维护、删除开源项目、控诉众多商业公司免费使用开源软件而没有给予任何的项目支持。我觉得这是正常的,无论是个人还是背后的商业公司,作为一个主体,他们需要能支持自己的运作,支持自己的生活,这意味着他们必须花时间去赚取生活的成本,是个人就需要为自己活下来而努力。如果没有对给予他们对应的赞助或者支持,那么有什么理由要求他们不断迭代更新开源项目甚至是生态,又有何理由要求他们及时修补漏洞,毕竟没有任何人逼迫必须使用这些开源项目。
目前社区一些人担心Elastic增加了双重许可以后Elasticsearch未来的不稳定?而我恰恰相反,这种模式目前与AWS达成了和解,Elastic有了更好的商业模式,可以更好地推动Elastic整个生态的发展,而这又完全不影响个人和企业非提供第三方服务地使用Elasticsearch,这是一个可持续发展的方案。
对此你怎么看呢?