2024年3月20号,Redis Lab宣布,从redis 7.4开始,redis的开源协议,将从宽松的BSD协议,使用者可以任意使用和商用,转成SSPL v1(Server Side Public License)和RSAL v2(Redis Source Available License)协议,使用者可以内部使用,但是不能商业化和提供给他人使用。这意味着,在没有得到redis官方的许可下,云厂商不能再继续免费试用redis的代码。
注:
SSPL:SSPL 是 MongoDB 创建的一个源码可用的许可证,以体现开源的原则,同时提供保护,防止公有云供应商将开源作品作为服务提供而不回馈此开源作品。SSPL 允许自由和不受限制的使用和修改开源作品,但如果你把此开源作品作为服务提供给别人,你也必须在 SSPL 下公开发布任何修改以及管理层的源代码。
RSAL:RSAL是 Redis 授予的宽松、非排他性、免版税许可证。用于使用、分发和修改专为与 Redis 一起工作的某些软件组件,但须遵守协议中概述的特定限制和条件。
看来,继Elasticsearch、MongoDB之后,redis也走上了对抗云厂商“白嫖”的道路。 —— 但是,云厂商是否真正“白嫖”,还是有大量反馈,这个公道自在人心,网上也有不少的文章,比如《Redis 社区的发展与国内开发者的贡献》
那么,在redis改变开源协议之后,各个云厂商的反应如何。根据我们跟云厂商的接触,目前他们的态度是这样的:
(一)aws:
1. 推进serverless 服务(包含redis serverless和Memcached serverless)
推进elasticache serverless服务(兼容redis和memcache语法),注意,redis serverless的版本,估计会停留在redis 7.4之前的版本,但是redis serverless的版本会不断演进,也就是从这个版本开始,aws的elasticache redis,会变成老的、7.4版本之前的elasticache redis,和新的、redis serverless,两种类型。根据aws的预估,老的redis版本,他们会保持继续支持7年左右的时间。
2. valkey project
aws也加入了linux基金会的valkey项目。他们的elasticache和memorydb,均会支持valkey。
可以理解成,在elasticache的这个产品大类下,后续可能会多一个valkey的具体产品出来,这个产品是并列于redis的。在elasticache菜单下的原来的redis,会保持在redis 7.1版本,而新加入的valkey,将会替代redis 7.4之后的版本,进一步发展。
同理也符合memorydb。目前memorydb只有memorydb for redis,估计在不远的将来,会出现memorydb for valkey的一类新品。
并且,虽然说aws上目前的elasticache redis和memorydb for redis会支持valkey,但是他们之间的的差异会逐步增大,aws是建议如果后续是走valkey的路,那么推出valkey服务后的7~12个月内完成切换到valkey。
3. Amazon MemoryDB for Redis(注意,这是memorydb,不是aws elastiCache中的Memcached)
Amazon MemoryDB for Redis是2021年推出的一款兼容redis的内存数据库。可以用来做内存数据库和持久化数据库的统一载体。支持global cluster,将来支持向量搜索。
和redis相比, MemoryDB是提供微秒级读取和个位数毫秒级写入延迟, 而redis能提供微秒读写性能。
综上,aws后续的产品可能是这样分类:
IN-Memory大类下的产品:
(1)elasticache
(1.1)redis
(1.1.1)一般redis
(1.1.2)redis serverless
(1.2)memcache
(1.2.1)一般memcache
(1.2.2)memcache serverless
(1.3)valkey
(2)memorydb
(2.1)memorydb for redis
(2.2)memorydb for valkey
(二)阿里云:
在redis改变了开源协议之后,我也咨询了阿里云的应对策略,阿里云的回复,比较官样文章。
1 2 3 4 5 |
阿里云Tair团队一直是Redis社区最大的贡献群体之一,在6.0、7.0、7.2版本的贡献均仅次于Redis labs官方团队。截止至2024年3月21日,Tair团队在社区有Core Member 1人(of5),Contributor 3人(of 25),Jedis Reviewer 1人(of 3)等。Tair一直在积极回馈开源社区,将无数国内用户,开发者的诉求提交至社区,按亚太区尤其是中国区客户的需求来推进Redis的发展,同时Tair一直坚持“拥抱开源,自研为主”的研发策略,具备全自研且100%兼容社区的独立企业级引擎,在各项测试中均处于业内领先。拥有完整的知识产权,参与起草、制定国家KV内存数据库标准和分布式缓存标准两项并均获得优秀级评测,具有核心专利30余项。 公有云阿里云Redis企业版(增强性能,持久内存,容量存储)和经济版均采用非社区内核,用户无需担心。Redis服务后续的发展和兼容性和长期发展等问题,阿里云Tair团队将持续与社区合作并高质量保证云Redis社区/企业/经济版的稳定服务。Redis企业版(Tair)同样具有多活(Multi-Active),多模结构(TairStack),通过数据闪回接时间点恢复数据(PITR)、代理查询缓存、TLS链路加密。透明数据加密TDE等企业级能力,同时支持多种介质(NVMESSD)等,性能较Redis更好,成本更为低廉。 由于Redis社区商标的商业化和法务需求,我们将近期和社区协商并更改Redis服务的名称。 |
但是可以体会的到,阿里云redis今后的发展,由于阿里云也加入linux基金会,所以阿里云也会提供对valkey的支持。目前阿里云相关数据库分类:
NOSQL数据库大类下的产品:
(1)云数据库 Redis 版
(2)云原生多模数据库 Lindorm
(3)云数据库 MongoDB 版
(4)云数据库 HBase 版
(5)时序数据库 TSDB
(6)图数据库 GDB
(7)云数据库 Memcache 版
(8)云原生内存数据库 Tair
其中Tair虽然是单独的一大类,但是在购买菜单中,他其实是在redis的购买选项卡中。我猜测阿里云会把内存数据库这样分类:
内存数据库:
(1)云数据库 Redis 版
(1.1)Redis
(1.2)Tair
(1.3)Valkey
(2)云数据库 Memcache版
就serverless来说,阿里云目前在rds上已经实现了serverless,但是在内存数据库上,还没有。
综上,从目前加入linux基金会的成员来看,aws、阿里云、google、oracle、Percona、Verizon、Snap都在支持和背书valkey,大部分的云厂商,应该会把valkey逐步作为替换redis的产品来进行。在云厂商的产品目录中,会今后会分成企业版的专属内存数据库(比如aws的memorydb,阿里云的Tair),和社区版本的内存数据库(逐渐被淘汰的redis老版本,和新进的valkey)。
从跨云使用的通用性看,选择valkey的道路,尽快从redis切换到valkey的使用,势在必行。
参考:
Why AWS Supports Valkey
REDIS ADOPTS DUAL SOURCE-AVAILABLE LICENSING
WHAT REDIS’ LICENSE CHANGE MEANS FOR OUR MANAGED SERVICE PROVIDERS
Redis Switches to SSPLv1: Restrictive License Sparks Fork by Former Maintainers
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新