|
最近,Redis 从开放源代码的 BSD 许可证过渡到了更加限制性的 Server Side Public License (SSPLv1)。一石激起千层浪,Redis 的这一举动,不仅分化了前 Redis 维护者,也再次引发业界对于“开源项目可持续性以及许可证决策对其社区的影响”的讨论。
这一变化将从 Redis 7.4 版本开始生效,我们预计多个 Linux 发行版将把 Redis 从它们的代码库中剔除。然而,这种干扰很可能是暂时的,因为已经有替代方案可供选择 - 比如由 Linux 基金会支持的开源替代品 Valkey。微软的 Garnet 也是一个选择,它是一个用 C# 编写的开源、速度更快的缓存存储,完全兼容 Redis 客户端。此外,像亚马逊这样的云服务提供商也可能会创建自己的 Redis 分支,就像他们在 Elastic Search 转向 SSPL 时的操作一样。
向量数据库国产厂商在此背景下,我想和大家聊聊对于这件事情的一些思考。
01.云端吞噬开源
开源软件虽然有着悠久的历史,但近年来开源业务模式发生了重大变革。
从传统来看,这种模式依赖于公司为使用开源软件时提供商业支持和企业级功能而付费。然而,云计算的兴起颠覆了这一模式。一方面,公共云的增长使得像 MongoDB 和 Elastic 这样的公司可以专注于基于云的服务产品而取得巨大成功;另一方面,云服务提供商可以轻松地二次开发和转售开源产品,受益于开源公司在代码和开发者社区方面的大量投资,利用云的成本优势和分销渠道快速变现……即使是非常成功的开源公司也难以与之竞争。
因此,不仅是 Redis,此前的 MongoDB 和 Elasticsearch 也采用了更加限制性的 SSPL 许可证。类似地,HashiCorp 也放弃了 Mozilla 公共许可证(MPL),转而采用了商业源代码许可证(BSL) 1.1。这一举动引来了许多开源倡导者的批评,他们认为任何限制公共云提供商的许可证,都违背了由 OSI 定义的开源精神。此前,这些开源许可证的转变已经引发了一波关于"保持开放"的讨论,例如 OpenSearch 和 OpenTofu。未来,关于开源许可证的争论仍在持续……
02.个人观点:是时候让 OSI 改变了
作为之前在云厂商工作(托管开源产品的内核负责人)、现在在一家开源公司工作(其主要收入模式为全托管服务)的人,我不得不戴着两顶帽子。如果能找到一种让云服务提供商和开源公司协作并共享利润的方式,我会乐意投入更多精力来改进开源产品,造福广大用户、开源公司和云服务提供商。
云保护许可证似乎是一个可行的解决方案。它们不会限制 99.99% 的用户使用和修改软件的权限,但却能有效保护开源公司的未来利润。这样开源公司可以将更多的"绝密武器"释放到开源社区,大大减轻开源开发者的维护负担,增强开源用户的体验。
从 GPL 等 copyleft 许可证到更加宽松的 BSD、MIT 和 Apache 许可证的演变,大大加速了开源软件的发展进程。这种变化得益于大型企业参与到开源社区,为其贡献代码及维护社区发展。
|
|