Redis 将继续采用 BSD 许可证
今天,Redis Labs 网站上一个介绍新 Common Clause 许可证的页面,被解读成了 Redis 本身更换了许可证。事实并非如此:Redis 现在采用 BSD 许可证,今后也将继续采用 BSD 许可证。然而,在信息传播已不可控的时代,我试图提供正确信息的努力失败了,我仍然到处看到“Redis 不再是开源软件”的说法。事实是,Redis 仍然采用 BSD 许可证;实际上,Redis Labs 支持我让 Redis 核心保持开源的努力,做了正确的事情。
实际发生的情况是,Redis Labs 内部开发的某些 Redis 模块现在根据 Common Clause 发布(以 Apache license 为基础许可证)。这基本上意味着,某些企业级附加组件本来完全可以是闭源软件,但现在将以更宽松的许可证提供。
我认为,Redis Labs 的 Common Clause 页面没有提供清晰、完整的信息,但软件公司经常会在沟通上犯错,这种事情难免会发生。不过在我看来,更重要的是:对于一家在“云时代”(哈哈)经营系统软件业务的公司来说,采用开源许可证极具挑战性,但 Redis Labs 完全理解并支持这样一个理念——Redis 核心是一个开源项目,采用的是有史以来最宽松的许可证,也就是 BSD 许可证;多年来,Redis Labs 还为该项目提供了大量资金支持。
Redis Labs 内部开发的某些模块之所以要更换许可证,是因为这些模块属于 Redis Labs 希望仅向那些愿意自行编译和安装系统的终端用户,或使用 Redis Labs 服务的客户提供的增值功能。但不能把这种价值拱手送给任何愿意转售它的人。RediSearch 就是这样的一个模块:它原先采用 AGPL,现在将改为 Apache + Common Clause。
至于我自己,我会继续为 Redis 编写 BSD 代码。对于我将开发的 Redis 模块,例如 Disque,我会改用 AGPL,理由类似:我们生活在“Cloud-poly(云寡头时代)”,因此,采用能够迫使其他 SaaS 公司回馈并重新发布其改进成果的许可证,是一个不错的选择。不过,这并不适用于 Redis 本身。Redis 发展到今天,已经是十年集体努力的成果,是我们可以共同开展许多其他工作的基础;这个基础必须尽可能广泛地向所有人开放,也就是说,必须采用 BSD 许可证。
我们 Redis Labs 对 Common Clause 页面造成的混淆表示抱歉,我的同事们正在努力用更好的措辞修正该页面。
随机一篇博客