Redis开源项目的终极杀手? ——CRUG解读Redis开源协议变更
引言:
数据库制造商 Redis Labs 本周将公司开发的Redis 模块从 AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,对许可证涵盖的软件作了限制。许可证的变更意味着自研 Redis 模块 - RediSearch,Redis Graph,ReJSON,ReBloom 和 Redis-ML 将不再是开源软件,而是源码可用(source available)。
新许可证限制了云提供商向客户提供这些 Redis 模块的能力,Redis Labs 可能会成为包含这些附加组件的唯一服务销售商。 但是,Redis 数据库代码仍属于 BSD 许可证。
Redis Labs 并不是唯一一家做出这样改变的公司。5月,Neo4j 图数据库在其 AGPL 许可证中添加了 Commons Clause。
Redis Labs 的联合创始人兼首席技术官 Yiftach Shoolman 表示:“多年来,云提供商通过销售基于开源项目的云服务,可从中获利数亿美元,可这些项目实际上并不是他们自己开发的,如 Docker,Elasticsearch,Hadoop,Redis 和 Spark。这阻碍了社区投资开发开源代码,因为任何潜在的好处都归云提供商而不是代码开发人员或他们的赞助商。”
Redis的license变更许可证引发开源社区热议,大家比较关心的问题主要集中在这几个方面:Redis 还开源吗?新出现的 Commons Clause 到底包含哪些内容?协议变更对用户的直接影响有哪些?下面就由小编为您详细解答,关于此次Redis开源协议变更大家关心的一些问题。
Q:Redis协议到底做了哪些变更?
A:为了让大家更清楚的了解变更点,小编特意梳理了如下表格供大家参考:
|
变更前 |
变更后 |
备注 |
|
|
Redis Core |
BSD |
BSD |
不变 |
|
Redis Modules |
AGPL |
AGPL |
不变 |
|
Redis Modules(RedisLabs公司创办) |
AGPL |
Apache 2.0 with Commons Clause |
涉及模块:RediSearch, Redis Graph, ReJSON, Redis-ML, Rebloom |
表1.Redis协议变更范围
Q:新出现的 Commons Clause 到底是什么东东?
A:Commons Clause v1.0 的介绍:
本软件由许可方根据以下定义的条款提供给您,但须符合以下条件。
在不限制许可中的其他条件的情况下,根据许可证授予的权利不包括、并且不授予您销售软件的权利。
综上所述,“出售”是指根据许可证授予您的任何或所有权利,以向第三方提供费用或其他报酬(包括但不限于与软件相关的托管或咨询/支持服务的费用),产品或服务的价值完全或基本上来自软件的功能。许可证要求的任何许可声明或归属也必须包含此 Commons Cause License Condition 声明。
简单地说就是:不许销售,不存在商业环境。
Q:Redis作者对此是怎么看的?
A:Redis作者antirez表态:“对于我将开发的Redis模块,比如Disque,我会选择AGPL
我们生活在云时代,所以使用新许可证会强制其他SaaS公司重新提交回他们的改进。然而,这不适用于Redis本身。 Redis是10年集体努力的成果,是我们可以一起做其他事情的基础,这个基础必须有尽可能多的可能性,即使用BSD许可证。”
Q:Redis中国用户组(CRUG)如何解读这件事情?
A:Commons Clause 的初衷,是为了抵御一些不良行为。如那些使用源代码,却不对开源代码维护做出补偿的公司,但这个License在开源界存在很在的争议。如OSI VM Brasseur 副总裁吐槽 Commons Clause 的销售禁令表述不明晰,可能会面临法律问题。OSI 总裁则认为,这种许可证剥夺了软件自由。
的确,新许可证对使用Redis Module的商业公司影响较大,Commons Clause 并未给出支持开源软件的解决方案,而是将开源软件变成了专有软件,并将所有开发者的开源贡献成果交由 Redis Labs 来控制,因为Redis Labs 是这些组件的唯一服务销售商。
这限制了其他商用公司向客户提供这些 Redis 模块的能力。Redis Labs 是否能够通过Commons Clause获得更多好处,需要持续观望。
Q:云服务厂商的表现如何?
A:华为云分布式缓存服务DCS提供云上的Redis服务,为用户提供Redis Core的基础能力,并未提供Redis Module相关能力,此次协议变更对用户是没有影响的。华为云在积极参与开源活动的同时,尊重开源代码的知识产权,严格遵守开源协议的要求,为用户提供更优质的云服务。
Redis开源项目的终极杀手? ——CRUG解读Redis开源协议变更的更多相关文章
- 这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)
在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨.再次拿出自己的私货,在.NET平台 ...
- 这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧
注意:有网友提出部分项目停止更新的事情,这个问题我特意注意过,很多都是小功能组件,功能稳定,没有bug,没更新是正常的.够用就行了.其次技术支持的事情,对开源免费来说,不能太强求,这里发布的都是小功能 ...
- Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目
Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open- ...
- 400多个开源项目以及43个优秀的Swift开源项目-Swift编程语言资料大合集
Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提升应用性能,同时降低开发难度. Swift仍然处于beta测试的阶段,会在iOS 8发布 ...
- 使用开源项目免费申请 JetBrains 全家桶 IDEA 开源许可证
JetBrains 公司旗下的 IDEA 功能都十分强大,深受各种编程语言相关的程序员的喜爱.我个人而言,经常使用 WebStorm,也使用过 PyCharm. 正常情况下 JetBrains 公司的 ...
- React Native开源项目如何运行(附一波开源项目)
学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...
- Redis——SpringBoot项目使用Lettuce和Jedis接入Redis集群
Jedis连接Redis: 非线程安全 如果是多线程环境下共用一个Jedis连接池,会产生线程安全问题,可以通过创建多个Jedis实例来解决,但是创建许多socket会影响性能,因此好一点的方法是使用 ...
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
随机推荐
- 安装gitlab并配置邮箱
安装要求:运行内存必须大于等于2G 一.安装docker wget -qO- https://get.docker.com/ | sh 镜像加速: echo '{"registry-mirr ...
- CAD参数绘制填充(com接口)
填充是CAD图纸中不可或缺的对象,在机械设计行业,常常需要将零部件剖开,以表现其内部的细节,而这些被剖开的截面会用填充来表示:在工程设计行业,一些特殊的材料或地形,也会用填充来表示. C#中实现代码说 ...
- php 阿里云短信验证码
阿里云短信服务:https://dysms.console.aliyun.com 1.准备 1.1.创建签名.模板 1.2.创建.使用阿里云秘钥 地址:https://usercenter.conso ...
- python闭包浅见
1.个人理解定义:在一个函数A内部定义一个函数B,并在定义的内部函数B内对这个函数A的变量进行引用,那么内部函数B就是闭包. 2.特性:在内部函数内不能对A函数的变量进行更改 (但是可以将其封装到一个 ...
- IDEA打war包部署本地TOMCAT测试
在Eclipse中打war包很方便,导出即可直接选择war包,如下图所示: 但是在IDEA中有点麻烦,网上很多教程,做的也都很好,我自己也做一份,加深一下印象. 首先打开File->Projec ...
- LINUX系统---中级相关操作和知识
LINUX系统的中级,来搞一些LINUX安全相关的东西,还有在公司生成中长搞的集群. RHCS集群 什么是高可用 什么是热备 什么是分布式
- LLVM 概览
下面是 LLVM 首页对 LLVM 介绍的中文翻译. LLVM 项目是一系列模块化.可重用和工具链技术的集合.不必在意它的名称,LLVM 和之前的虚拟机基本没什么关系了,然而也确实提供了对构建这些虚拟 ...
- js给对象添加属性
obj.prototype = shuxing: shuxing['属性']=值: function Person(){}; var person = new Person(); person.nam ...
- hihoCoder#1114 小Hi小Ho的惊天大作战:扫雷·一
原题地址 回溯+搜索 枚举每个位置上能否放地雷,当第i个位置枚举完成后,第i-1个位置的情况就确定了,此时,检查第i-1个位置是否满足要求,即左右间隔为1的范围内地雷数是否等于申明数字,如果满足条件, ...
- HDU 3664 (水地推)
http://acm.hdu.edu.cn/showproblem.php?pid=3664 题意:给出数字n,问n的所有的排列中满足Ai>i 数字恰好为 k的排列的个数. sl : dp dp ...