MongoDB 是一款广受欢迎的开源 NoSQL 数据库。不同于一般开源软件,MongoDB 创始人一开始就决定使用 GNU AGPLv3 协议来代替 Apache 授权。这个协议要求采用它的人也要照样开源相关源代码。这就限制了很多云厂商不能直接使用开源的 MongoDB,而 MongoDB 自己提供的云服务也因此挣得金钱满钵。
但 AGPL 依然挡不住某些云厂商使用 MongoDB。去年十月,MongoDB 宣布其开源许可证从 AGPL 切换到 Server Side Public License (SSPL),希望从 SaaS 服务或云计算业务上获取收入。从那以后,因为 MongoDB 的这一举动,开源界和云厂商不断给出反应,动作连连。今天,在红帽 RHEL 8 测试版的发行说明中,红帽明确表示将弃用 MongoDB。
因为 MongoDB 使用了 SSPL 协议,所以将不会在 RHEL 8.0 系统中提供对 MongoDB 的支持。
MongoDB 的多事之秋
去年 10 月份,MongoDB 将开源许可更改为 SSPL,重点提到一些云厂商,尤其是亚洲地区,在使用 MongoDB 的开源代码,在此基础上提供 MongoDB 的商业托管版本,从中获取丰厚收益却没有其他代码分享。当时,MongoDB 的 CEO 特意点名了中国的阿里云和腾讯云以及俄罗斯的 Yandex。
就在 MongoDB 更改协议后不久,Linux 发行版 Debian 在 12 月份的时候就已经在邮件列表中讨论并决定不使用 SSPL 协议下的软件。
昨天,Linux 发行版 Fedora 也宣布将不在存储库中使用 SSPLv1 协议下的软件。
根据 Phoronix 的消息,Fedora Legal 不承认 SSPLv1 协议为开源协议。
Fedora 认为 SSPLv1 不是自由软件许可证。SSPL 专门针对特定类别的用户,对他们造成了一定的歧视。另外,似乎很明显,许可证作者的意图是对该许可下软件的商业用户造成恐惧,不确定性和怀疑。将 SSPL 视为“免费”或“开源”会导致该阴影被投射到所有 FOSS 生态系统中的其他许可证中,即使它们本身都没有带来这种风险。
上周,AWS 也对 MongoDB 进行了回击,宣布发布可兼容 MongoDB 的 DocumentDB。
Amazon DocumentDB 是一种可支持 MongoDB 工作负载的快速、可扩展、高可用并完全托管的文档数据库服务。开发人员可以像现在一样使用 MongoDB 应用程序代码、驱动程序和工具来运行、管理和扩展 Amazon DocumentDB 上的工作负载,并享受更好的性能、可扩展性和可用性,而无需担心管理底层基础设施。
矛盾点所在
对于 SSPL 协议的争论点在于:如果使用 SSPL 协议下提供的软件服务,SSPL 要求必须开源所有用于使该软件作为服务提供的程序。
MongoDB 的 CTO、联合创始人 Eliot Horowitz 曾在 SSPL 的开源倡议(OSI)讨论中解释了其中的逻辑:
在当今世界,程序和互联网程序的连接已经成为了程序组合的主要方式。目前尚不清楚现有的公共版权的许可是否能明确适用于这种程序组合的形式,我们打算让 SSPL 成为开发人员的选择,用于解决这种不确定性。
但是显然对这样的说法大家并不买单。此前,OSI 拒绝承认 SSPL 为开源许可证。拟议的 SSPLv2 也在 OSI 中没有什么进展。
MongoDB 变更许可协议背后的利益点是想迫使云厂商使用 MongoDB 的商业云产品。但是事情表明这也没有奏效。
离不开 MongoDB 的云服务
对于 AWS 的回击,MongoDB 表示不开心了。MongoDB 的 CEO Dev Ittycheria 说:
模仿是最真诚的恭维,所以也不奇怪亚马逊会想要利用如此受欢迎的 MongoDB。但是,开发人员是足够精明的,他们能分辨真实的东西和糟糕的模仿。
但我们从近期的事实来看,云厂商和 Linux 发行版的接连弃用,MongoDB 将协议变更为 SSPL 的结果似乎适得其反了。
但是 MongoDB 确实是一款很好用的产品。徐飞博士在他的公众号“飞总聊IT“的一篇文章中总结道,既然没有授权,大家就开始规避协议推出兼容 MongoDB 的产品:
CosmosDB。微软的 CosmosDB 之前名为 DocumentDB,采用兼容 MongoDB API 的方法来支持 MongoDB。后来升级成为 Cosmos DB,支持除了 MongoDB 以外的其他一系列开源接口。[1]
AWS DocumentDB。AWS 推出的 DocumentDB 也是通过兼容 MongoDB API 来支持 MongoDB。
阿里云数据库 MongDB 版。据悉,阿里云数据库 MongoDB 版采用了三节点副本集高可用架构,100%兼容 MongoDB 协议。[2]
当 InfoQ 记者就此事询问徐飞博士的看法时,徐飞博士还是很看好 MongoDB 的前途,但是认为 MongoDB 需要“傍上大款”。也有使用 MongoDB 的专家表示:“就 MongoDB 产品来说,将长期面对各类云供应商,以及各类数据库共同成长互相比较的时期。相信这对业界是好事”。
正如 EnterpriseDB 的首席系统工程师 DevrimGündüz 所说:“我非常感谢 MongoDB 决定转向 SSPL。云厂商巨头从流行的开源项目获得的收益远远超过开发和维护这些项目的贡献者。“ 但是,开源创建者之一 Bruce Perens 评论说,没有人阻止“你使用任何许可证。只是不要把它称为开源。”
参考链接:
新闻源:
https://www.zdnet.com/article/mongodb-open-source-server-side-public-license-rejected/
https://www.phoronix.com/scan.php?page=news_item&px=Fedora-No-SSPLv2-License
评论