Antirez归来,Redis重披“开源”战袍?解读Redis 8与AGPLv3的双重变革

请点击上方蓝字TonyBai订阅公众号!

大家好,我是 Tony Bai。

五一假期,科技圈也没闲着。一个足以让许多开发者,尤其是 Redis 用户和开源社区关注者心头一震的消息传来:Redis,再次拥抱了 OSI 批准的开源许可证! 伴随这个消息的,是 Redis 8 的正式 GA (General Availability),带来了包括性能巨大飞跃和备受瞩目的新数据类型在内的一系列重大更新。

更具象征意义的是,这次变革的背后,我们看到了 Redis 创始人 Salvatore Sanfilippo (antirez) 的身影。他不仅在去年 11 月回归 Redis,更是在这次的官方公告和个人博客中,毫不掩饰地表达了对 Redis 重归“开源”(以 AGPLv3 形式)的喜悦,以及对他亲手打造的新功能能够以开源形式发布的巨大热情。

那么,这是否意味着 Redis 真的“重披开源战袍”了?这次增加 AGPLv3 授权选项和发布 Redis 8,对 Redis 的未来、对我们开发者,究竟意味着什么?这绝非一次简单的版本升级或授权微调,而是一场关乎 Redis 灵魂与未来的双重变革。让我们一同解读。

背景:在商业现实与开源理想间的反复拉扯

要理解这次变革的意义,我们需要回顾 Redis 近几年的授权“颠簸”之路:

  1. 初心与挑战: Redis 最初是完全基于 BSD 协议的开源项目。但随着 AWS 等云巨头将其作为托管服务并从中巨额获利,却未能对项目本身做出相称的回馈,Redis Labs(现 Redis Inc.)等开源商业公司开始面临生存和持续投入研发的挑战。

  2. 初步尝试 (Redis Stack): Redis 公司尝试将高级功能(如 JSON、Search、Time Series 等)打包成 Redis Stack,采用 RSALv2/SSPLv1 的双源可用许可证,与核心的 Redis Community Edition (遵循 BSD) 分开。这虽保护了部分商业利益,但也造成了版本分裂、开发者体验不一致的问题。

  3. 激进转向 (SSPL): 2024 年 3 月,Redis 决定将主线版本也切换到 RSALv2/SSPLv1 双许可证。SSPL (Server Side Public License) 由 MongoDB 创造,旨在限制云服务提供商“白嫖”开源项目。然而,SSPL 并未获得 OSI (Open Source Initiative) 的认可,此举引发了社区的巨大争议和不满,许多人认为 Redis 不再是真正的“开源”软件。这次变更虽然达到了阻止 AWS 等继续使用官方 Redis 代码的目标(他们选择了 Fork),但也严重损害了 Redis 与开发者社区的关系。Linux Foundation牵头fork redis形成了valkey开源项目。

正是在这样的背景下,Antirez 的回归和 Redis 内部对于授权策略的反思,最终促成了这次新的变革。

变革一:AGPLv3 —— 一份迟来的“橄榄枝”?

根据 Redis CEO 和 Antirez 的博文,经过内部(包括 Antirez 本人)的持续推动和评估,Redis 决定在保留 RSALv2/SSPLv1 的同时,新增 OSI 批准的 AGPLv3 (Affero General Public License v3) 作为 Redis 8 及以后版本的授权选项

  • 什么是 AGPLv3? 它是一种强大的网络 copyleft 许可证。简单说,如果你修改了基于 AGPLv3 的代码,并通过网络提供服务,你也必须以 AGPLv3 开源你的修改版本。这被认为是能有效约束云厂商行为的 OSI 批准的许可证之一。

  • 为何增加 AGPLv3?

    • 回应社区关切: 承认 SSPL 对社区关系的伤害,提供一个 OSI 认可的选项,试图修复与开发者社区的关系。Antirez 本人也强烈希望他为 Redis 8 编写的新代码(如 Vector Sets)能在真正的开源许可下发布。

    • 统一开发者体验: 这是与 Redis 8 技术变革相辅相成的举措,旨在将 Redis Stack 的功能整合回核心,提供单一、强大的 Redis 发行版,而 AGPLv3 为这个统一后的版本提供了一个被社区广泛接受的开源基础。

  • “重披开源战袍”?需要客观看待:

    • 积极信号: 新增 AGPLv3 无疑是一个积极的姿态,表明 Redis 公司愿意在开源框架内运作,并重视社区的反馈。

    • 并非完全回归: 值得注意的是,AGPLv3 只是一个新增选项,原有的 RSALv2/SSPLv1 授权依然存在。用户可以根据自己的情况选择。这意味着 Redis 的授权模式变得更加复杂,但确实为偏好 OSI 批准许可证的用户打开了一扇门。

    • AGPLv3 的影响: AGPLv3 本身的“传染性”也可能让一些商业公司在使用和修改时有所顾虑。

变革二:Redis 8 —— “One Redis”的技术大融合与性能飞跃

如果说 AGPLv3 是对社区关系的一次重要修复,那么 Redis 8 的发布则是一次实打实的技术大升级,兑现了“One Redis”的承诺,其亮点令人瞩目:

  1. 核心功能大整合 (One Redis): 这是 Redis 8 最重要的变化之一。原先作为 Redis Stack 模块提供的核心功能,如 JSON、Time Series、Bloom filter、Cuckoo filter、Count-min sketch、Top-k、t-digest 等概率数据结构,以及 Redis Query Engine(支持二级索引和搜索),全部被整合进了 Redis Open Source (即原 Community Edition) 的 Redis 8 版本中。这意味着开发者不再需要在不同版本间纠结,一个 Redis 搞定所有核心高级功能!

  2. 拥抱 AI:Antirez 打造的 Vector Set (Beta): 在 AI 和向量数据库竞争白热化的当下,Redis 8 迈出了关键一步。由 Antirez 亲自操刀、受 Sorted Set 启发的新数据类型 Vector Set 正式发布(目前 Beta)。它专门用于高效存储和查询高维向量嵌入,极大地增强了 Redis 在语义搜索、推荐系统等 AI 应用场景中的能力。这与 Redis Query Engine 中已有的向量搜索功能形成了补充。

  3. 性能“核爆级”提升: Redis 8 带来了超过 30 项性能改进,堪称史上性能提升最大的版本之一:

  • 命令延迟显著降低: 多达 90 个命令的 P50 延迟降低了 5.4% 至 **87.4%**!

  • 多线程吞吐量翻倍: 改进的 I/O 线程模型,在多核 CPU 上设置 io-threads=8 时,吞吐量最高可提升 **112%**。

  • 复制效率提升: 新的复制机制使主节点在复制期间写入性能提升 7.5%,复制时间缩短 18%,峰值复制缓冲区大小降低 **35%**。

  • 查询引擎扩展性: 支持集群模式下的查询,并通过垂直扩展将查询吞吐量提升高达 16 倍。官方甚至展示了在 10 亿向量规模下进行实时、高精度向量搜索的能力。

  • 其他实用增强: 继承自 Redis 7.4 的Hash 字段过期功能(HGETDELHGETEXHSETEX)现在是 Redis 8 的标配,同时 ACL 权限控制也针对新数据结构进行了更新。

  • 对开发者的意义与展望

    这次 Redis 的双重变革,对我们Go开发者来说意味着什么?

    • 性能红利: 几乎所有使用 Redis 的 Go应用都能从 Redis 8 的性能提升中直接受益,无论是作为缓存、消息队列还是更复杂的场景,更低的延迟和更高的吞吐量将带来显著的应用性能改善。

    • 功能扩展: 内置的 JSON、Time Series 数据结构,使得在 应用中处理半结构化数据和时间序列数据变得更加原生和高效,无需再引入额外的库或服务。概率数据结构则为大规模数据分析提供了轻量级解决方案。

    • 拥抱 AI 更便捷: Vector Set 的加入,结合 Go 在 AI/ML 领域的生态发展(如 LangChainGo 等),使得在 Go 应用中集成向量搜索、构建 RAG 应用等变得更加容易和高效。Redis 作为许多系统本就依赖的基础设施,现在原生具备了核心的 VSS 能力。

    • 授权选择: 对于需要 OSI 批准许可证的 Go 开源项目或对 SSPL/RSALv2 有顾虑的商业项目,AGPLv3 提供了一个新的官方选项。当然,也需要评估 AGPLv3 对自身项目的潜在影响。

    • 生态整合: “One Redis”策略简化了技术选型和版本管理,Go 开发者可以更放心地在一个 Redis 实例上使用全部核心功能。

    结语:务实的平衡,拥抱未来

    Antirez 的回归无疑为 Redis 注入了新的活力和灵魂。Redis 8 的发布,以及增加 AGPLv3 授权选项,是 Redis 公司在经历了授权风波后,试图在商业现实(保护投入、应对云厂商)与开源理想(维系社区、统一体验)之间寻求的一种新的、更务实的平衡

    这是否是完美的“回归”?或许并非所有人都这么认为,毕竟双重授权依然存在。但这无疑是朝着修复社区关系、拥抱未来技术趋势(特别是 AI)迈出的坚实一步。Redis 8 展现出的强大技术实力和整合决心,结合 Antirez 这位灵魂人物的愿景,让我们有理由对 Redis 的未来保持期待。

    对于我们开发者而言,现在是时候认真评估 Redis 8 带来的价值,无论是性能提升、新数据结构,还是那个重新可选的“开源”标签。

    这个五一假期,不妨关注一下 Redis 的这场变革。你对 Redis 的新授权策略和 Redis 8 有什么看法?欢迎在评论区分享!


    深入探讨,加入我们!

    关于 Redis 的授权、新特性、性能优化,以及它在 Go 和 AI 领域的应用,还有很多值得深入挖掘的话题。在我的知识星球 “Go & AI 精进营” 里,我们经常就这些紧跟技术前沿、影响开发者实践的话题进行探讨。

    如果你想:

    • 与我和更多资深 Gopher 一起剖析 Redis 8 的细节与影响;

    • 交流 Go 应用中集成向量数据库的最佳实践;

    • 探讨开源商业模式与社区发展的挑战;

    欢迎扫描下方二维码加入星球,和我们一起精进!


    感谢阅读!

    如果觉得这篇文章对你有启发,请帮忙 点赞 👍、在看 👀、转发 🚀,让更多朋友了解 Redis 的最新动态!


    点击下面标题,阅读更多干货!

    -  Go开发者必知:五大缓存策略详解与选型指南

    go-yaml归档背后:Go开源生态的“脆弱”与“韧性”,我们该如何看待?

    Go安全版图再添利器:OpenPubkey SSH开源,用SSO彻底改变SSH认证

    Go的简洁神话?转Go前你需要知道的5个“真相”

    BPF和Go:在Linux中内省的现代方式[译]

    InfluxDB 3.0 GA:四年Rust重构,是新生还是挑战?

    深入GOCACHEPROG:Go构建缓存的自定义扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值