开源中国-最新资讯 ( ) • 2024-03-27 00:24

Redict 是由开发者 Drew DeVault 推出的一个 Redis OSS 7.2.4.2 的独立、非商业性的分叉。基于 Redis OSS 的 BSD 3-Clause 源代码,自此之后的所有更改均采用 Lesser GNU General Public license(LGPL-3.0-only)。

在许可证的选择上,Drew DeVault 解释称,LGPL 是经过深思熟虑且平衡了多方面的考量之后的选择,是最适合 Redict 的许可证。最重要的是,这是一个不可撤销的承诺,即 Redict 将永远是免费的。

“这比 RedisLabs 联合创始人、前首席执行官 Yiftach 在 2018 年做出的承诺要有力得多。通过使用 Copyleft 许可证,Redict 的所有更改都必须使用相同的 LGPL 自由软件许可证发布,从而保证软件的修改版本将是免费的。”

此外,他保证 Redict 将不会使用任何形式的贡献者许可协议。Redict 的版权由所有贡献者共同拥有,Redict 许可证的变更将需要取得所有贡献者的同意。从而使得 Redict 未来几乎不可能出现类似 Redis 的许可证变更。

Drew DeVault 补充道,没有选择常用的 AGPL 或 EUPL 许可的原因在于,“我们希望让用户尽可能轻松地遵守 Redict 许可证,而且我们认为没有任何理由阻止云厂商使用 Redict。”

选择 LGPL 而不是 GPL,则是为了减少与 Redis 兼容模块或 Lua 插件的集成会受到 GNU GPL 的“病毒式传播”影响的担忧。选择 LGPL 既能保护 Redict 项目的未来,又能在这些问题之间取得最佳平衡。

到目前为止,项目面向用户的变更包括:

  • 可执行文件已重命名为 redict-*,例如redict-cli。
  • Lua API 提供了与 Redis OSS API 兼容的“redict” global,可通过“redis” global 实现向后兼容。
  • Module API symbols 已重命名,但是,Redict 保留了与 Redis OSS 模块(最高版本 7.2.4)的 ABI 兼容性。

Redict 旨在作为 Redis OSS 7.2.4 的直接替代品。接下来,Redict 的目的是继续开发 Redis OSS 兼容软件的自由软件发行版,暂时只进行最小程度的破坏性更改。目前正在围绕以下变更进行讨论:

  • 利用这个机会删除一些长期弃用的功能,例如“redis-trib”
  • 消除供应商依赖并转向上游 Lua、jemalloc
  • 减轻与下游的关联性,删除例如 systemd 或 upstart 服务

以及计划分叉 Redict 的内部依赖项 Hiredis

更多详情可查看官方公告

相关阅读: