澳门新葡萄京官网注册 1

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

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

地平线上出现了一片乌云。亚马逊等云基础设施提供商的行为威胁到了开源的生存。

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

澳门新葡萄京官网注册 2

我是一名风险投资者,在13年中先后投资了许多开源项目背后的公司:

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

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

  • Spring

  • Mule

  • Ruby Rails

  • Groovy

  • Grails

  • Maven

  • Gradle

  • Redis

  • SysDig

  • Hazelcast

  • Akka

  • Scala

  • Cassandra

  • Spinnaker

  • 以及其他公司

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

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

开源已经在为社会服务,开源商业模式已经大获成功、有利可图。

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

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

亚马逊的行为

我很钦佩亚马逊的执行力。在风险投资行业,我们习惯于大型软件公司(比如IBM、Oracle、惠普、Compuware、冠群、EMC、VMware和思杰等)主要成为庞大的销售和分销渠道,这需要获得创新(即收购初创公司)为渠道提供活力。亚马逊则不然。2015年7月,《华尔街日报》引述我的话说:“亚马逊的执行力太强了,几乎就像一家初创公司。这对于生态系统的每个人来说都很可怕。”那个月,我在投资者网站Seeking
Alpha上撰写了《提防亚马逊巨无霸》(

但对于其客户之外的任何人来说,亚马逊可不是一家温情脉脉的公司。好多文章详述了其残酷无情的企业文化。为什么它对开源的使用会有何不同?

进入到AWS,将鼠标悬停在顶部的“产品”菜单上,你会看到亚马逊并不创建,但是作为服务来运行的无数开源项目。这些项目每年为亚马逊带来了数十亿美元的收入。

比如说,亚马逊享用Redis(StackOverflow的开发者调查中最受欢迎的数据库),几乎没有回馈,将其作为服务来运行,改头换面后取名为AWS
Elasticache。其他许多流行的开源项目同样被拿来后作为AWS产品来提供,包括Elasticsearch、Kafka、Postgres、MySQL、Docker、Hadoop和Spark等。

要说明的一点是,这并不违法。但我们认为这是错误的,不利于可持续发展的开源社区。

旨在掌控

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

Paul 说:

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

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

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

澳门新葡萄京官网注册 3

共用条款(Commons Clause)

2018年初,我召集了20多家大型开源公司(其中一些已上市)的创始人、首席执行官或首席顾问,畅谈该如何是好。3月份,我向GeekWire介绍了这项工作。大家在经过一番建设性的深入讨论后一致认定,我们应制定一种禁止这种行为的简单条款,而不是拐弯抹角,混合搭配多种开源许可证以阻止这种行为。我们邀请备受尊敬的开源律师希瑟•米克(Heather
Meeker)起草该条款。

2018年8月,Redis Labs宣布决定将这个名为共用条款(Commons
Clause)的附加条款(即另增一段条文)添加到其针对某些附加模块的自由开源许可证。Redis仍然采用宽松的BSD许可证,Redis本身却没有任何变化!但是Redis
Labs附加模块将包括共用条款这个附加条款(它使源代码具有可用性),但无法“出售”模块,其中“出售”包括将它们作为商业服务来提供。目的是明确防止云基础设施提供商的不良行为。

包括通用汽车(GM)或通用电气(GE)在内的其他所有公司仍可以对软件做它们之前所做的一切,即使添加了共用条款。它们可以查看和修改源代码,提交合并请求,以便将经过修改的内容添加到产品中。它们甚至可以在内部将软件作为服务提供给员工。共用条款阻止商业服务与别人的开源软件一起运行,就像云基础设施提供商所做的那样。

不出所料,这则宣布在开源社区引发了热烈的反响,有点赞,也有炮轰。说到过于简化的风险:那些点赞的人认为这是开源许可道路上合理而积极的演变,让开源公司得以在投入于开源项目的同时成功运营业务。Ansible的开发者迈克尔•德哈恩(Michael
DeHaan)在《为什么开源需要新的许可证?》中特别清楚地阐述了一个方面:

我们看到运营开源“基金会”和网站的一些人简直就是电视评论员,就“开放源代码促进会”之类的组织所描述的“开源”的定义发表政治论调,该组织旗下的许多项目拥有一定的人气或拥趸。他们试图声明源代码免费可用但使用场景有限的这种许可证“不是开源”。遗憾的是,这艘船已启航了。

那些持中立或反对态度的人指出,共用条款使得软件不是开源软件,这很准确;使代码库的一部分成为专有代码违反开源精神;Redis
Labs准是走到了绝路,很难赚钱。

首先,别为Redis
Labs而操心。这家公司做得非常好。Redis比以往任何时候更强大、更受宠、更恪守BSD。

更重要的是,我们认为现在是时候在当今的环境下重新审视开源的精神了。开源变得流行时,它旨在供从业人员拿来实验和改进,同时回馈开源社区。当时没有一家公司将基础设施作为服务来提供,也没有一家公司拿来开源项目后改头换面另取名称,将其作为服务来运营,攫取利润,但回馈甚少。

我们认为,开源软件从来就没有打算让云基础设施公司拿去后售卖。这不是最初的开源精神。共用条款在重扛最初的开源精神这面大旗。希望使用流行的开源项目用于其应用程序的组件的学者、业余爱好者或开发人员仍可以这么做。但是如果你想拿来实际上别人开发的同一软件,将其作为服务来提供以牟取私利,那就不符合开源社区的精神。

事实证明,以共用条款为例,这会使源代码严格上来说不是开源的。但是为了捍卫最初的开源精神,这是我们必须忍受的。

许可证变更遭抨击

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

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

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

Apache +共用条款

Redis Labs发布的某些附加模块采用Apache +共用条款。Redis
Labs明确表示,运用共用条款让这些模块不是开源产品,Redis本身仍然开源和采用BSD许可证。

一些偏激的开源人士指责Redis
Labs试图诱骗开源社区认为模块是开源的,因为它们使用了“Apache”这个字眼。

没有什么花招。共用条款是附加到任何宽松的开源许可证的补充条款。由于各种开源项目使用各种开源许可证,因此使用共用条款发布软件时,必须指定共用条款附加到哪种宽松的底层开源许可证。

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
禁止使用方销售来自采用其许可条款的代码的软件,还阻止他们提供相应的咨询或支持服务。所以该消息一经发布就在业界引起了不小的轰动,许多声音都认为这是在和云厂商正面硬刚。

为什么不用AGPL?

这种场景下不使用AGPL有两大原因。AGPL是一种开源许可证,表明你将采用AGPL许可证的代码作为服务来运行时,必须向公众发布所做的任何修改。

首先,AGPL只是让云基础设施提供商有上述的滥用行为很不方便,但阻止不子。它只是表明它们有这类行为时必须发布所做的任何修改。其次,AGPL含有的软件专利方面的条文毫无必要,许多企业不喜欢。

我们投资的许多拥有AGPL项目的公司已接到了大企业的要求,要求转而采用更宽松的许可证,因为使用AGPL违反了它们公司的政策。

最后

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

编译自:The
Register

(文/开源中国)    

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

平衡之道

云基础设施提供商不是什么坏人,也不是恶意行事。开源始终是一种平衡之道。我们许多人信任客户和同行查看我们的源代码,进行改进和回馈。别人免费分发其工作产品,并相信你能够有所回馈始终是一种信任的飞跃。有时候对于一些项目而言,无需太刻意的努力,就会自然平衡。但在其他时候,自然平衡并不出现:我们从基础设施开源身上越来越多地看到这一幕,尤其是云基础设施提供商试图通过走向堆栈的上游:从大众化计算和存储走向更高级的基础设施服务,以此实现差异化。

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

修订

截至本文发稿时的共用条款版本是1.0。将来会进行修订和调整,确保共用条款实现目标。我们想听听你们的意见。

我们看到的迄今为止就共用条款所表达的不同观念实际上是理念上的差异。许多批评来自并不属于用软件来赚钱这个行当的开源人士。他们有不同的理念,但这不足为奇,因为他们的工作是成为政治活动家,而不是为公司打造价值。

一些人误以为共用条款阻止人们提供维护、支持或专业服务。这是一种对该条款的误读。一些人声称,共用条款与AGPL有冲突。共用条款旨在与比AGPL更宽松的开源许可证一起使用,因此不必使用AGPL!不过,即便使用AGPL,也很少有使用作者开发的软件产品的人会认为完全无视作者运用共用条款的意向声明是明智的。

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

保护开源

一些开源利益相关者感到困惑。他们应该站在哪一边?共用条款是新的,我们认为有争论实属正常。支持这个倡议的人是铁杆的开源倡导者,我们的目的就是保护开源、远离事关生存的威胁。我们希望其他人能团结起来、支持共用条款,那样开源公司能赚钱,开源能存活下来,开源开发者能为他们的贡献得到报酬。

关于共用条款 Commons Clause
的更多介绍请点此查看 

作者:贝恩资本风险投资公司的常务董事Salil Deshpande

来源:云头条 
原文:https://techcrunch.com/

澳门新葡萄京官网注册 4

△ 有了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 毫不客气地“开喷”了:

澳门新葡萄京官网注册 5

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

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

澳门新葡萄京官网注册 6

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

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