欢迎进入后Redis时代——关于Redis修改许可之后的问题、现状和未来¶
本文是同名视频的文字稿,欢迎观看:https://www.bilibili.com/video/BV1rx421S7CT/
Redis闭源了吗?¶
没有,只是修改了软件的许可协议,从原来的BSD三条款许可改成了RSALv2或SSPLv1的双重许可。
Redis软件和源代码现在仍然可以从官方网站或GitHub资源库上获取,跟之前没有任何变化。
但是由于今后Redis将不再根据传统的开源协议进行许可使用,所以尽管它的源码是公开的,但是却不能被称为传统的“开源软件”,因此今后Redis公开源码的版本将被称为“社区版”而不是“开源版”,类似于现在MySQL和MongoDB。
新许可跟旧许可有什么不同?¶
新许可对云服务供应商提出了限制,要求他们在使用Redis提供商业服务的时候,要么向Redis公司付费,要么就公开与Redis相关的全部源代码。
Redis公司之所以这样做,是认为自己和社区免费开发了开源版的Redis,但是云服务供应商却拿着免费的Redis去提供收费服务,并且没有向Redis提供贡献或回馈,又或者说Redis认为这种贡献或回馈跟云服务供应商的收入不成正比,所以最终决定修改许可协议,强制要求云服务供应商付费或者开源他们的代码。
那新许可对个人或非云服务公司有影响吗?¶
没影响,个人或公司仍然可以免费使用Redis和Redis源码,不会受到任何限制。
比如像我这种学习和使用Redis的人,仍然可以通过使用Redis和研究Redis代码来写书。
至于使用Redis储存数据的公司也可以继续使用,反正只要不利用Redis向第三方提供云服务就行了。
不过现在对于“Redis”这个名字和Redis的LOGO有更严格的限制,不能随便在商业场合上使用他们。
但为什么有人反对Redis公司这一做法呢?¶
首先,Redis项目之前一直是开源软件,这种由多人协作产生的协作项目,是大家共同努力的结果,Redis公司现在单方面宣布将它归为己有并且修改许可协议是很不厚道的。
此外,虽然Redis项目主要由包括Redis原作者antirez在内的Redis公司的员工主导和开发,但诸如AWS和Aliyun在内的云服务供应商的雇员同样也作为贡献者甚至核心贡献者深度参与到了这个项目中,此外还有数以千计的独立开源开发者也参与了这个项目。
现在Redis公司公然掀桌子想独占整个Redis项目,大家自然也会有很大的意见,这是很正常的,我个人也支持他们利用一切手段追求自己的合法权益。
Redis社区是否会分裂出新的分叉项目?¶
很有可能,实际上,现在之前提到的AWS和Aliyun的核心开发者,已经分叉出了一个当前版本的分支,并准备对该分支继续进行开发以实现一个全新的开源的Redis。
虽然我个人精神上支持这种开源项目,但是出于实际考虑,我还是比较担心这种新出现的分叉能否坚持下去的。毕竟Redis项目之前还是由Redis公司主导开发的,现在如果脱离了Redis公司,这种独立的新分支该如何往前走,之后由谁领导,新版本新特性该如何抉择,是继续兼容Redis还是自己开发新的特性集,从而走出一条新路……总而言之,要考虑的事情太多了,我个人觉得还是静观其变吧。
Redis未来的新版本会怎么样?¶
Redis公司肯定想到社区会推出新的开源分叉版本来跟自己抗衡的,所以他在宣布该许可的同时也发布了雄心勃勃的新版本计划。
其中最重要的一点就是在未来的Redis 8.0版本中,将现在开源的Redis核心部分和Redis Stack部分合并在一起,提供更多数据类型和处理引擎,并且通过集成最近收购的Speedb,大幅提升Redis速度。
可以预见的是,全新的Redis 8.0将会非常强大,我个人是非常期待的。
Redis的未来会如何?¶
很可能会像MySQL那样,Redis公司维护一个版本,而开源社区维护一个版本。
不过我觉得百家争鸣的情况对于整个Redis生态来说并不一定是坏事,甚至可能会是有利的。
比如说,Redis公司为了保持Redis项目的竞争力,肯定会把Redis新版本做好,而开源社区的Redis分叉也会为了争夺Redis用户而使出浑身解数的。
从某种程度上来说,我觉得接下来的Redis会比前两年更有趣,自从antirez退居二线之后,我好像很久没觉得Redis那么有趣过了。
我个人作品相关的信息¶
目前计划的2024年出3本Redis书的计划还是没有变化。
其中第一本《Redis经典应用实例》马上交稿了,就这一两周,因为距离8.0出来还有一段时间,并且应用方面的改动不会受到太大影响,所以这本会如常出版。
但之后的两本会根据Redis 8.0的出版时间来决定具体何时出版,如果8.0出来晚的话,就如期在下半年出,如果出来早,比如今年下半年或者明年年初,那就顺延到和8.0一起出。