Redis 采用双重源代码可用许可

Redis 有哪些变化

  • 核心 Redis 从 3-clause BSD 改为双重许可:
    • SSPLv1 作为源代码许可(copyleft,未获 OSI 批准)。
    • RSALv2 作为“source-available”使用许可,限制“竞争性产品”(例如 Redis-as-a-service)。
  • 博客和 FAQ 强调:
    • 自托管 / 内部使用仍然免费。
    • 托管服务提供商要么遵守 SSPL(公开其整个服务栈),要么签商业协议。

对用户和发行版的影响

  • 大多数评论者认为:
    • 把 Redis 作为依赖项的普通应用开发者在法律上不受影响。
    • 提供类似 Redis 服务的 SaaS/DBaaS 产品面临很大的法律/运营风险。
  • 许多人预计:
    • Linux 发行版(Debian、Fedora 等)会像对待 MongoDB 一样,把 Redis 下架或移到 non-free 仓库。
    • 用户会越来越多地通过厂商镜像/容器安装,或切换到分支/替代方案。
  • 也有人担心最后一批 BSD 许可版本及其回移补丁的长期安全更新问题。

信任、治理与贡献者反应

  • 一些人把这看作“诱导后反转”:
    • 之前公开保证核心会保持 BSD 许可并采用“社区主导”治理,与突然重新许可以及治理页面被移除形成对比。
    • 新的强制 CLA 让 Redis 能够重新许可未来的贡献;一些贡献者表示他们会停止贡献。
  • 另一些人则认为:
    • BSD 明确允许这样做;贡献者本应了解这种风险。
    • 这个项目一直都在很大程度上受收购商标的公司影响。

分支与替代方案

  • 讨论了多个分支和替代方案:
    • 在变更前的提交上冻结的 BSD 分支。
    • 正在开发中的社区分支(“redict”)在 Codeberg 上。
    • 可直接替换或协议兼容的选项:KeyDB(有 MIT/BSL 历史)、Dragonfly(BSL)、Microsoft Garnet(MIT)、Memcached,以及各种 Redis 协议后端(例如 kvrocks)。
  • 许多人预计,一个由云厂商和前核心开发者支持的强势分支会成为事实上的“开源 Redis”,并引用 MariaDB、OpenSearch 和 OpenTofu 作为先例;但也有人指出,并非所有分支都会成功。

云厂商与公平性

  • 一派观点:
    • 认为 SSPL/RSAL 是对“巨型云公司寄生者”合理的防御,这些云厂商几乎不为 Redis 提供财务支持,却拿去转售。
    • 认为可持续的 OSS 商业模式需要截取部分托管收入。
  • 另一派观点:
    • 反驳说,大型云厂商确实贡献代码和工程师,并且是在 BSD 赋予的自由范围内运作。
    • 认为真正的问题是风险投资支持的“卖支持/卖托管”模式,而不是 OSS 本身。

许可理念与 OSI 争论

  • 普遍同意 Redis 按 OSI 定义已不再是开源;它现在是“source-available”。
  • 争议在于:
    • 有人称 SSPL 是“更真正的 copyleft”,并符合自由软件目标(强制整个服务开放)。
    • 也有人说 SSPL 施加了不可能满足的义务(例如所有“hosting software”),本质上是一种按用途限制。
  • 讨论串突出显示了以下概念的混淆:
    • “permissive” 与 “copyleft”。
    • “open source” 与 “source-available”。
    • “free as in beer” 与 “free as in freedom”。

FOSS 商业模式的可持续性

  • 反复出现的主题:
    • 在云竞争下,open core 和托管服务往往失败;收紧许可(Redis、HashiCorp、Elastic、MongoDB)被视为一种“权利棘轮”。
    • 基金会并非灵丹妙药,但常被拿来与(Postgres、Kubernetes、Linux)相比,作为比 VC 支持公司更稳定的长期维护者。
  • 提出的替代方案:
    • 从第一天就使用 AGPL。
    • 将核心交给中立基金会;通过专有扩展或 SaaS 层变现。
    • 让主要用户通过直接资助和内部贡献成为常态。
  • 对未来的看法分歧:
    • 有人预测会从 FOSS 退回到专有/shareware。
    • 也有人认为,这一事件会促使更早分支、以及更谨慎的许可选择,而不是终结大规模开源。