1月15日,Elastic 公司 CEO Shay Banon 在公司官网发文宣布,Elasticsearch 和 Kibana 的其中一项开源许可协议将发生改变。
并且表示,此次许可协议变更对大部分免费使用默认发行版的社区用户没有影响,主要限制的就是云服务提供商。
一直关注这一领域的人可能一眼就能看出来怎么回事,但估计很多吃瓜小伙伴还不太了解,在这里给大家稍微梳理一下。
事件背景:Elastic 的业务
Elastic 原本只是一款菜谱管理APP,创始人 Shay Banon 为了妻子方便搜素菜谱就编写了一个App,后来就发展成了一个集日志分析、指标分析、BI、告警等多功能一体的大数据搜索软件公司。
不得不说,这宠妻的同时顺便还成功创业的能力真是让人服气。
Elasticsearch 和 Kibana 就是 Elastic 的两款主流产品,Elasticsearch 是做数据分析的开源软件,能用来搭建搜索引擎,其核心是迄今为止最先进、性能最好、功能最全的搜索引擎库Lucene,Kibana 则是一个与 Elasticsearch 协同工作的开源分析和可视化平台。
Elastic 作为谷歌云官宣的最大开源合作厂商,在2018年进入中国后,就和阿里云展开合作,此后陆续和华为云、腾讯云都开展了合作。
可以说,我们一般会接触到的商业云服务,几乎都与 Elastic 有关。
Elastic 的独特之处在于其核心开源组件都是可以免费使用的,任何人都可以基于这些核心组件结合自己的业务特点进行二次开发。
也是这一开源特点,让许多开发者愿意在 Elastic 上实践,从而打造了更好的大数据搜索应用方案。
之后,Elastic 再将这些方案进一步开发整合成更好的收费服务,利用其核心开源组件积累下来的巨量的深度用户,当他们不再满足于开源组件时,就会变成 Elastic 的收费客户。
事件导火索:AWS
那么这运行的好好的业务,为什么会发生变化呢?这里有一个导火索。
AWS 是国际最大云计算巨头,它也和 Elastic 有着很深的合作。
2019年4月,AWS 与 Expedia 和 Netflix 一起,创建了一个 Open Distro for Elasticsearch(开放的Elasticsearch发行版) ,本来这是获得授权的,AWS 也承诺继续给 Elasticsearch 做贡献。初始的版本主要就是补充一些 Elasticsearch 缺少的关键功能,比如安全、事件监控预警还有SQL语句的支持等等。
但是 Open Distro for Elasticsearch 的功能越加越多,自然也就有很多没有能力将 Elastic 的开源组件用于自身业务的企业,从 Elastic 的收费服务里转向了 AWS。
很多人都在说,AWS 的云服务有很多都建立在 Elastic 的开源项目之上,这些开源项目可以轻松成为 AWS 的创收项目,但是又不用非得给开源社区做贡献,这收获跟付出根本不成比例。
这也就是 Elastic 想要更改开源协议的导火索,Elastic 提到,过去三年市场不断发展,他们发现开放源码企业必须要更好地保护源码,才能维持公司利益。
由于 SaaS 交付模式越来越受到欢迎,部分云服务提供商在未做任何回馈的情况下将开源产品直接以服务的形式推出。这不仅消耗了本应投入到产品开发中的资金,也会给用户及社区造成伤害。
Shay Banon 表示,“与其他开源厂商类似,我们经历了从商标滥用、到通过 OSS 产品粉饰之后的所谓‘开放’项目、再到从我们的专有代码中提取‘灵感’并破坏项目社区的整个过程。不同的开源企业会选择不同的应对之道,但为了保护对自由软件的投资,它们通常会修改开源许可,同时努力继续保持开放、透明与协作等基本原则。同样的,我们也自然采取下一步行动,即有针对性地更改我们对源代码的许可方式。这项更改不会对绝大多数用户造成任何影响,只会限制云服务提供商将我们的开发成果转化为软件即服务的形式。”
事件结果:针对“拿来主义”
正是出于这种对开源社区的保护的目的,Elastic 决定更改 Elasticsearch 和 Kibana 的其中一项开源许可协议。
目前 Elasticsearch 和 Kibana 使用了以下三种开源许可协议:
- Apache License 2.0
- Apache License 2.0 compatible license
- Elastic License
此次变更只针对使用到了 Apache License 2.0 的源代码,Elasticsearch 和 Kibana 的默认发行版会继续在 Elastic License 许可下发布,用户可以继续免费下载和使用。
这次变更限制的就是云服务提供商,针对的是那些既不反馈开源社区又用将开源组件变成服务来牟利的云服务厂商。
此次开源许可协议的变更将会对 Elasticsearch 和 Kibana 的所有维护分支生效,从即将发布的 7.11 版本开始,使用了 Apache License 2.0 的 Elasticsearch 和 Kibana 源代码将开源许可变更为 SSPL Elastic License 双授权许可。
SSPL 是 MongoDB 创建的 source-available 许可协议,SSPL 的核心就是,允许你自由地使用和修改产品源代码,但是如果你将产品作为服务提供给他人,就必须在 SSPL 下公开发布所有修改以及管理层的源代码。
也就是说,你根据开源组件开发出来的服务,想要提供给别人,就也得开源,让人人都能免费用。
MongoDB 之所以创建的 source-available,当时也是遇到了这样的情况。
2018 年 10 月,MongoDB 宣布其开源许可证将从 GNU AGPLv3 切换到 SSPL,目的也是为了保护自己的开源产品,当时消息一出,红帽公司果断弃用 MongoDB ,甚至还有人怀疑 MongoDB 是不是要凉。
但是两年已经过去了,MongoDB 不仅活得好好的,股价还翻了 10 倍。
正如有网友所说,“当开源变成一种习惯的拿来主义,事情就变得越来越糟糕。”
当这些云服务提供商只专注于把开源项目变成服务卖钱, 挤占开源公司的市场,还不给开源社区做贡献,那么最后只会让开源公司无法生存,从而损害所有使用服务的人的利益。
显然,Elastic 不想看着这样的事情发生。