1. The race to replace Redis (lwn.net)
Redis 许可证变更引发开源替代竞争
2024年3月21日,Redis公司宣布Redis 7.4及后续版本将从开源的BSD许可证转向非自由的“源码可用”许可证(SSPL和RSAL)。此举旨在限制云服务商直接利用Redis提供托管服务,但背离了其过去对开源社区的承诺,并立即引发了社区的分裂和替代项目的竞争。
背景与争议
Redis由Salvatore Sanfilippo创建,自2010年起先后被VMware、Pivotal等公司支持,并迅速成为主流内存数据库。Redis公司(原Redis Labs)曾多次调整其附加模块的许可证,并承诺核心数据库将保持BSD开源。然而,面对巨大的商业压力和投资回报期望,公司最终改变了核心许可证。
公司声称此变更是为了应对云服务商“免费利用”开源代码的垄断行为。但数据显示,自Redis 7.0以来,腾讯、阿里巴巴、AWS等外部公司贡献了超过60%的代码提交。此次变更意味着,未来只有与Redis公司达成商业协议的云服务商才能提供Redis 7.4以上的托管服务,这对依赖Redis的开发者和企业构成了潜在风险。
主要替代项目涌现
许可证变更后,多个开源替代方案迅速出现:
Valkey:由Linux基金会于3月28日宣布支持,是Redis 7.2.4的直接分叉,沿用原始BSD许可证。获得了AWS、Google Cloud、Oracle等科技巨头的支持,被视为最有可能的社区继承者。
KeyDB:一个2019年创建的、技术导向的Redis多线程分支。2022年被Snap收购后完全开源(BSD许可)。但它在功能上落后于Redis 7,维护重心偏向Snap内部需求。Snap已参与Valkey项目,KeyDB的长期角色有待观察。
Redict:由SourceHut创始人Drew DeVault创建的Redis 7.2.4分叉,选择LGPLv3许可证。该许可证具有copyleft特性,旨在平衡商业使用与社区贡献,且不要求贡献者许可协议(CLA)。
Garnet:微软研究院开发的远程缓存存储,兼容Redis序列化协议,采用MIT许可证。它并非直接替换品,但可作为许多Redis客户端的起点,目前仍在完善功能兼容性。
发行版与用户的抉择
Linux发行版面临紧急的打包和迁移问题。Fedora、openSUSE、Debian的开发者正在评估替代方案。其中,Valkey因其广泛的行业支持和与Redis的高度兼容性,被多数发行版视为首选的未来替代品。然而,迁移不仅涉及打包更新,还包括调整依赖Redis的软件服务(如代码托管平台Pagure、论坛软件Discourse)。
商业逻辑与行业影响
Redis的决策反映了风险资本驱动的软件公司的一种趋势:在获得足够市场地位后,转向限制性许可证以寻求更高的货币化(如MongoDB的SSPL先例)。尽管公司盈利不稳定,但资本市场对此反应积极。然而,此次Redis可能低估了开源社区和云厂商的快速反应能力。迅速出现的Valkey等替代项目表明,单方面脱离开源可能导致项目主导权流失。行业竞争格局正在重塑,开源社区与商业利益之间的平衡再次成为焦点。