手机游戏巴士

开源已过了壮年期?开源需要被取代吗?一些公司称是的,另一些公司称纯属胡扯

发表于:2024-05-02 作者:游戏编辑
编辑最后更新 2024年05月02日,本文由云头条编译自外媒ZDnet,作者StevenJ.Vaughan-Nichols真假开源之争愈演愈烈2月19日,RedisLabs宣布筹集到6000万美元的新资金,该公司开发的Redis是...

本文由云头条编译自外媒ZDnet,作者Steven J. Vaughan-Nichols

真假开源之争愈演愈烈

2月19日,Redis Labs宣布筹集到6000万美元的新资金,该公司开发的Redis是一款大受欢迎的开源内存数据结构存储系统。Redis Labs CEO Ofer Bengal当时告诉IT外媒Ars Technica,之所以能拿到这笔融资,一个原因在于新的“开源”Commons Clause许可证。Bengal 说:“开源社区现在明白,原来的开源概念需要加以修正,因为它已经不再适合当前这个时代了;眼焉,许多云计算公司利用手中的垄断力量,采用任何成功的开源项目,对开源项目却没有任何贡献。”

不好意思,我不这么认为。引用云原生计算基金会(CNCF)首席技术官Chris Aniszczyk的话来说就是“他妈的饶了我吧”。

此外,Aniszczyk指出:“一些云提供商是开源社区的最大贡献者。”比如说,谷歌和微软一直在推动其在云开源方面的工作。的确,我们现在知道微软在公司内部正式采用开源开发方法。

Aniszczyk 绝不是唯一一个竭力反对 Redis 开源立场的人。

Apache软件基金会的联合创始人Jim Jagielski 发推文道:“谁要是认为开源界20多年来没有遇到过像目前这样必须面对的情况,他要么是毫无头绪,要么是不够诚实。”他继而指出,比如说,Apache Web 服务器的开发人员始终很乐于被商业公司“免费搭车”。这是由于,这样一来,可以进一步确保为所有Web用户提供一个开放公平的竞争环境。

Rich Bowen 是Red Hat开源宣传官,他想知道Redis是不是果真“毫无头绪”。“今天很多人进入开源社区,他们不愿意进行一番研究、阅读相关内容,想当然地以为这些都是新问题。其实,1994 年并不是很久以前。”

尽管面临重重阻力,为什么Redis采用这种方法?这主要是由于AWS ElastiCache 提供Redis 服务,而Redis没有得到相应的回报。Redis 正通过让新的代码模块采用Commons Clause来应对这个问题。正如BaenCapital的风险资本家Salil Deshpand解释的那样,“亚马逊拿来Redis后,给予很少的回馈,将其作为一项服务来运行,还改头换面、取了AWS ElastiCache这个名称。很虽然,这并不违法。但我们认为这不对,不利于可持续发展的开源社区。”因此,“Commons Clause阻止开源滥用现象。”

早些时候,面对开源方面这种博弈的做法,开源促进会(OSI)重申了对开源定义的支持。OSI得到Debian、Mozilla 和 Document基金会等众多合作伙伴的支持,声称“如果没有这一套标准的‘开源’定义,我们所知道的软件开发就不可能存在。在谁都可以自行杜撰开源定义的世界里,没有信任可言;要是没有信任,就没有社区,没有合作,没有创新。”

Document基金会的LibreOffice负责人之一Italo Vignoli在电子邮件中称,CommonsClause及之类的许可证将“破坏开源的完整性;如果置之不理,将破坏开源软件用户和贡献者的信任。”

Andrew "Andy" Updegrove是Gesmer Updegrove LLP的创始合伙人,也是大名鼎鼎的标准和开源律师,他基本上同意这个观点,但认为“开源定义永远不会变是错误的说法。”

Updegrove继续表示,开源定义“基本上体现了有关方(注意不是所有的有关方)在一个历史上很重要的时间点就公平性等话题达成的共识。”

如果你从长远的历史视角来看,在某个时间点,这个共识可能会在一定程度上发生变化,就像关于历史上涉及平等和公正等概念方面的共识已发生了变化,通常是往好的方向改变。开源定义可能也会出现这种情况,任何变化也有可能往好的方向改变,只要由所有的有关方达成共识。

话虽如此,Commons Clause不是开源。Updegrove在之前的博文中写道:

将Commons Clause添加到开源许可证使得它不再是开源许可证。其次,如果Commons Clause被人接受,它可能会带来一个不受欢迎的趋势。开源早期的许可证遍地开花毫无帮助,还导致了此后旷日持久的困惑和复杂性,因为不是所有许可证都与其他许可证相兼容。这意味着在任何一段开源代码可以添加到代码库之前,有必要确定其许可证是不是与同一个产品中所有其他软件的许可证相兼容。这是个老大难问题。

Commons Clause和类似的许可证(比如MongoDB的服务器端公共许可证,SSPL)无疑是个头痛的问题。它们试图让公司可以保住开源这块蛋糕,又能蚕食专有软件的利润。

Commons Clause禁止你销售来自采用其许可条款的代码的软件,还阻止你提供相应的咨询或提供支持服务,“作为其价值全部或大部分来自软件功能的产品或服务”。这一切的目的就是阻止你(具体来说就是AWS)将Redis作为一项服务来提供。

Redis最初做出这个举动时,OSI总裁Simon Phipps在推特上炮轰:“Redis完全走专有化道路,这糟透了。不,这不仅仅是‘影响公正使用的一种限制’,它更是取缔了软件自由。”

此那以后,这场口水和利益之争愈演愈烈。Debian和Fedora等流行的Linux已经从各自的发行版摈弃了Redis。由于SSPL,Red Hat摈弃了MongoDB。

从短期来看,Redis是成功的。6000万美元可不是笔小数目。可是从长远来看,对开源许可证和软件采用心理恐吓战术(FUD)只会害了Redis以及试图靠开源来开拓业务的其他任何公司。




0