如需最新信息,请阅读RSALv2 + SSPL 许可博客。
2018 年 8 月初,Redis 是首批意识到当前开源许可方案在云提供商使用方面存在不足的开源公司之一。我们希望确保开源公司能够继续为其项目做出贡献,同时在云时代维持可持续的业务。这就是为什么我们将 Redis Modules 的许可从 AGPL 更改为带有 Commons Clause 修订的 Apache2。
对我们来说,这不是一个容易的举动,而且我们可能没有足够清晰地沟通这一变化。这导致了一些混淆,因为有人错误地认为 Redis 核心变成了专有软件,但事实并非如此(详见此处)。
然而,随着时间的推移,其他受人尊敬的开源公司,如 MongoDB 和 Confluent,提出了各自的现代开源许可变体方案。每家公司采取了不同的方法,但都共享同一个目标——阻止云提供商获取他人开发的成功开源项目,将其打包成专有服务,并利用其市场力量产生巨额收入。
自去年夏天宣布以来,我们继续以管理其他开源项目的方式管理我们的 Redis Modules 项目。我们的开放和透明方式帮助我们的大多数社区成员接受了许可变更。某些大型企业甚至认为它比我们之前用于这些模块的 AGPL 更好。在此期间,我们还收到了许多用户的真诚反馈,关于如何进一步改进我们的许可以更好地满足开发者的需求。
我们确定了需要解决的三个方面
考虑到所有这些因素,并在与社区成员进行多次讨论后,我们决定将我们的 Redis Modules 许可更改为 Redis Source Available License (RSAL)。
RSAL 是 Redis 为某些运行在开源 Redis 之上的 Redis Modules 创建的软件许可。RSAL 为绝大多数用户授予与宽松的开源许可相同的权利。使用 RSAL,开发者可以使用软件;修改源代码;将其与应用程序集成;以及使用、分发或销售其应用程序。唯一的限制是该应用程序不能是数据库、缓存引擎、流处理引擎、搜索引擎、索引引擎或 ML/DL/AI 服务引擎。
如需更多信息,请参阅我们的详细常见问题。
RSAL 生效后,Redis 的许可模式如下所示
这一更改对 Redis 核心许可没有任何影响,Redis 核心许可现在以及将来都将始终采用 3-Clause-BSD 许可。与许多其他开源数据库公司不同,我们组建了一支专门的团队(由 Redis 创建者 Salvatore Sanfilippo 领导),以完全独立的方式管理 Redis 核心。此外,我们选择不通过将核心组件移至闭源来限制开源 Redis 的功能。因此,开源 Redis 包含了运行分布式数据库系统所需的所有要素——复制、自动故障转移、数据持久化和集群。
这种开放的方法有时与我们的商业利益相悖,因为云提供商无需做太多就能提供可行的 Redis 服务。但我们有一个更宏大的愿景,即帮助现代应用程序为其用户提供即时体验。要保证端到端的即时应用程序响应时间(目前认为小于 100 毫秒),唯一的方法是确保您的数据库持续且一致地在不到 1 毫秒内响应应用程序请求。当然,我们相信只有一种数据库可以做到这一点——那就是 Redis!
最近,我们看到一些云提供商正在以不同的方式思考如何与开源供应商合作。我们相信,那些构建正确合作基础设施的云提供商将最终从开源项目中获得最大收益。