Redis 项目近日宣布再次开源,具体来看,Redis 决定在保留 RSALv2/SSPLv1 的同时,新增 OSI 批准的 AGPLv3 (Affero General Public License v3) 作为 Redis 8 及以后版本的授权选项。
Redis 创始人亲自宣布该消息后,发文总结了此次切换 Redis 开源许可证的一些心得。
以下是译文:
昨天,是一天非常紧张的日子。在意大利,5月1日是劳动节,所以早上我和朋友们去埃特纳山(Etna)走了4个小时 <3,我非常喜爱散步,我经常在编程时停下来散步,以便之后回到键盘前,双腿多走几公里。
在埃特纳山散步是非常棒的体验(埃特纳山是欧洲最大的活跃火山,而我恰好住在卡塔尼亚,那座城市就在它的山脚下)。
然后下午6点,我回到了家,发布了关于从AGPL许可证切换的博客文章,并开始查看评论、反馈、私信,过程中我学到了一些东西。
1、不管条款有多少不同,我认为这些条款确实有差别,AGPL与SSPL的主要区别在于AGPL是“被理解的”。一般来说,昨天这是我第一次意识到,在许可证方面,不仅仅是什么可以做、什么不可以做,而是某个许可证被理解、被测试、被采用的程度……
2、我被 Simon Willison 关于此事的言论所感动(https://simonwillison.net/2025/May/1/redis-is-open-source-again/),这种感觉很奇特——来自世界不同地区的人,但拥有相似的年龄和软件背景,对很多事情的感受竟然 如此相似。我也一样,当我编写 Vector Sets 时,我一直在想:如果它不是以 AGPL(或其他我理解的开源许可证)发布,我绝不会使用它。这种情感,乘以社区中非微不足道的一小部分,最终会让开源在当今复杂的软件生态系统中取得胜利。
3、人们仍然非常关心软件发行版。并不是我不关心,只是过去我曾因此吃过亏。我最初使用的是Linux,可能是SlackWare 3.1之类的。在这些年里,我编写了设备驱动程序,也为内核提交了一些补丁。在那些年里,Debian 系统中可能也有我写的约 10 个软件包,从hping到访客网页日志分析器,dump1090,Redis,还有一些其他软件。
但最终,我开始看到所有这些碎片化的问题,某些过程的僵化(例如Linux内核模块的二进制兼容性),缺乏一致的设计,缺乏一种包含所有库的软件分发二进制格式,等等。我转向了MacOS用于桌面系统,而在服务器上则以一种非常务实的方式继续使用Linux,很多时候,我更愿意执行“tar xvzf software.tgz; make”而不是依赖发行版提供的内容。
也许,我对软件零依赖的执着也有一定关系。但人们仍然非常关心这一点,而且在许多希望尽可能自动化和可重复的情况下,将Redis作为发行版包可能是很重要的?现在,有很多人问Redis是否会重新进入发行版。
我的看法是:Redis 和 ValKey 已经在很多方面产生了显著差异,未来还会产生更多差异。我认为发行版应该同时提供两者,这样用户就有选择的余地,有时这种选择是由于功能差异所迫。简单来说:如果你需要进行向量相似性搜索,你就需要使用 Redis;如果你的公司有无 AGPL 政策,你就需要使用 ValKey,依此类推。
4、人们对我很友善。在评论中有一些严厉的言论,这很正常,甚至是有益的(毕竟这也是许多公司越来越相信他们无法使用 SSPL 或其他许可证,而必须使用 OSI 认可的许可证的原因之一)。然而,当我直接面对个人时,我看到很多积极的评价。我只想说:感谢你们所有人的支持。
5、我们其实生活在一种“泡沫”里。在某个论坛上,有人曾经问过:“你们有没有从 Redis 切换到其中一个分支?”然后引发了一连串的评论:“从未切换过”,“我用得上就行,管它呢”等等。ValKey 也是一样,如果人们写 apt-get install redis,而 ValKey 已经安装好了,他们使用 SET、GET、DEL 等命令,就不太关心这些。
我的意思是,软件已经不再是 1998 年的那种(用一个非常关键且象征性的日期来代表开源、互联网和我自己),那时候我们所有人都对开源软件许可证非常熟悉。但现在大多数人,尤其是新一代的人,有完全不同的、更实际的看法。所以,所有这些都很重要(对我而言至关重要),但也要理解,并不是所有的敏感度都是一样的。最后,所有事情中最重要的是,尽可能地交付高质量的软件。
阅读更多
Redis 再次开源
Redis 8 正式 GA
离开 1620 天,Redis 创始人 antirez 宣布回归