Redis Labs 再次更改开源许可证,但 Redis 本身不受影响

by admin on 2020年3月22日

Redis 近日因变更许可证引发开源社区热议,最直接的问题是,Redis
还开源吗,新出现的 Commons Clause 到底包含哪些内容?

Redis 变更模块开源许可证,不想让云提供商白白获利…

其实「Redis Labs 再次更改开源许可证」这个说法有标题党的嫌疑,但看到Redis
Labs 的CTO
也表示这次的变更确实是关于许可证的变更。既然如此,笔者就顺道借题发挥一下,还请各位轻喷。

Redis 是否开源

Redis Labs 的联合创始人兼首席技术官 Yiftach Shoolman
于8月22日发表了Commons Clause
许可证介绍及常见问题解答正在翻译中,期待你的参与。

(文/开源中国)    

数据库制造商 Redis Labs 本周将公司开发的 Redis 模块从 AGPL 迁移到将
Apache v2.0 与 Commons Clause
相结合的许可证,对销售许可证涵盖的软件作了限制。许可证的变更意味着自研
Redis 模块 – RediSearch,Redis Graph,ReJSON,ReBloom 和 Redis-ML
将不再是开源软件,而是源码可用(source available)

图片 1

新许可证限制了云提供商向客户提供这些 Redis 模块的能力,Redis Labs
可能会成为包含这些附加组件的唯一服务销售商。 但是,Redis
数据库代码仍属于 BSD 许可证

△ Redis Labs 的官方公告https:// redis labs.com/ blog/redis-
labs-modules- license-changes/

Redis Labs 并不是唯一一家做出这样改变的公司。5月,Neo4j 图数据库在其
AGPL 许可证中添加了 Commons Clause。

先解释一下Redis Labs 这次对许可证的变更具体是什么情况。

Redis Labs 的联合创始人兼首席技术官 Yiftach Shoolman

首先要明确的是:由始至终,Redis 本身都没有变更过其开源许可证。Redis
作者antirez 也早已澄清过,Redis 从前,现在,将来都会继续使用BSD
开源许可证。所以对于「Redis
不再开源」这种以讹传讹的说法,就让它到此为止吧。

旨在掌控

根据 The Register 的报道,美国爱达荷州国立实验室提供咨询的开源许可专家
Paul Berg 认为,这么做是为了将合作开发 Redis 模块的开发人员的成果交由
Redis Labs 来控制,而不单单是帮助开源开发者

Paul 说:

这是一种传统的专有软件许可证,旨在支持传统的商业软件销售商业模式。由于近期没有成功型企业对其进行使用,使其面临着过时的危险

虽然云服务对开源许可证的原则提出了挑战,但这些原则并不涉及软件开发者是否能从中获利。开源许可证的广泛采用,使得限制性原则遭受固有的经济劣势,如 Commons
Clause 的采用。

开源许可证的存在消除了垄断,用户可以自己支配软件。但云服务带来的问题是,云提供商并非通过知识产权取得垄断,而是通过物流优势(logistical
advantages),注重知识产权的许可证无法解决这个问题。

图片 2

许可证变更遭抨击

OSI(开源项目组织)VM Brasseur 副总裁吐槽 Commons Clause
的销售禁令表述不明晰,可能会面临法律问题。OSI
总裁则认为,这种许可证剥夺了软件自由。

一位开源开发者表示:“自己无法从自己的开源工作中获利,却让其他企业利用你的开源成功谋取暴利,这听起来的确很糟糕。但 Commons
Clause 并未给出支持开源软件的解决方案,而是将开源软件变成了专有软件
。”

△ 坚定BSD 开源许可证不动摇

Commons Clause 开发者回应

Commons Clause 开发者兼 FOSSA 创始人 Kevin Wang 回应道:“起草 Commons
Clause 是为了抵御一些不良行为。如那些使用源代码,却不对开源代码维护做出补偿的公司。”

而 Google 软件工程总监 Daniel Berlin
反驳道:“这不是不良行为。倒是这种协议误解了开源经济模式,它只是想从中为己牟利。”

那改变许可证的是什么产品?根据开源中国此前的报道,Redis Labs
自研的某些Redis 模块(RediSearch, Redis Graph, ReJSON, ReBloom
和Redis-ML)从AGPL 变更为Commons Clause 和Apache-2.0
相结合的许可证(Apache2 modified with Commons
Clause)。也就是说,这些模块将根据Common Clause 发布(使用Apache-2.0
作为基本许可证)。其中,Commons Clause
是在开源许可证的基础上实施商业限制的部分。Commons Clause
禁止使用方销售来自采用其许可条款的代码的软件,还阻止他们提供相应的咨询或支持服务。所以该消息一经发布就在业界引起了不小的轰动,许多声音都认为这是在和云厂商正面硬刚。

最后

Paul Berg
认为,开源分摊了技术成本,就像云计算公司分摊了基础设施成本一样,正因如此,开源项目才会更占优势。Redis
Labs 未必能在 Commons Clause 保护下获得更多好处。对此你怎么看?

编译自:The
Register

(文/开源中国)    

为什么要这样做?很简单的道理,天下熙熙皆为利来,天下攘攘皆为利往。Redis
Labs
认为,现代云计算公司凭借其垄断性的市场地位,利用成功的开源项目赚得盆满钵满,但到头来却不为这些项目做出任何贡献(矛头直指AWS,认为它是主犯)。

所以说到底,还是商业利益诉求。

而今天,刚获得6000万美元融资的Redis Labs 宣布再次改变其自研Redis
模块的许可证—— 变更为Redis 源码可用许可证(Redis Source Available
License, 简称RSAL)。

图片 3

△ 有了RSAL 之后,Redis Labs 旗下产品使用的许可证构成

Redis Labs CTO 表示这次变更许可证的举措考虑到了以下三个方面的因素:

使用Commons Clause 和Apache-2.0
相结合的许可证引起了用户的困惑,他们认为只受Apache-2.0
开源许可证条款的约束

Commons Clause 中对一些条款的描述不够清楚(比如包括“实质性”的含义)

某些Commons Clause 支持的限制条款与Redis Labs 计划围绕Redis
模块发展生态系统的意图相违背

考虑到所有这些因素,并在与社区成员进行多次讨论后,Redis Labs
决定移除Commons Clause,并将Redis 模块的许可证更改为Redis
源码可用许可证。

什么是Redis 源码可用许可证?

该许可证适用于Redis Labs 自研的某些Redis
模块。用户仍可以获取代码、修改代码,将代码集成到应用程序中并进行分发或提供支持服务,但该应用程序不能是数据库产品、缓存引擎、流处理引擎、搜索引擎、索引引擎或者机器学习/深度学习/AI服务引擎。根据定义,开源许可证不得有限制。而这个新许可证却有很多限制,所以严格来说它不是一种开源许可证。

Redis Labs CTO
写道:“云厂商一再利用成功的开源软件坐享渔翁之利,却没有对社区产生贡献。这些云厂商使用并非由它们开发的开源软件重新打包成竞争性的专有服务产品,并利用其市场地位从这些开源软件中获取可观的收入。”

由此可见,新许可证的目的正是为了阻止这个现象。Redis Labs
不希望其他公司以任何方式从Redis 身上赚钱。

谈到钱,不可避免就会引起争论。尤其是在「开源」这个背景下。

所以,对于Redis Labs 的开源立场,云原生计算基金会首席技术官Chris
Aniszczyk 毫不客气地“开喷”了:

图片 4

Aniszczyk
还指出:“一些云提供商正是开源社区的最大贡献者。”比如说,谷歌和微软一直在推动其在云开源方面的工作。实际上,微软也在公司内部正式推动开源的开发模式。

Aniszczyk 并不是唯一一个反对Redis 开源立场的人。Apache
软件基金会的联合创始人Jim Jagielski
在推特写道:“谁要是认为开源界20多年来没有遇到过像目前这样必须面对的情况,他要么是无知,要么是故意说假话。”他还表示,Apache
Web
服务器的开发者一直很乐于被商业公司“搭便车”,因为这可以进一步确保为所有Web
用户提供一个开放公平的竞争环境。

图片 5

早些时候,开源促进会重申了对开源定义的支持,这个举动也得到了Debian、Mozilla
和Document 基金会等众多组织的支持。OSI
表示:“如果没有对开源的标准定义,软件开发是不可能走下去的。如果任何人都可以提出自己对开源的定义,那么这个世界就会缺乏信任,而如果没有了信任,就不会有社区,不会有合作,也不会有创新。”

围绕Redis Labs
等开源软件和云厂商之间的纠葛已经产生了足够多的争论。现在,Redis Labs
又使用了新的RSAL
许可证,并且不是开源的。最后的结果会是如何?我们静待观察吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图