任何企业都有合法权利捍卫其模型和产品。撇开大量不真正了解开源许可证如何工作的人不谈,我们的印象是,有很多人觉得仅仅因为这是Linux,他们就有某种权利免费获得它。但事实上,他们没有。这不是自由软件中的“自由”的意思,而且从来都不是。 |
整理丨诺亚
日前,红帽发布公告,停止公开提供企业版Linux(RHEL)的源代码。正如我们之前在《公然竖起“付费墙”,RedHat违背开源吗?》一文中报道的那样,这一决策引发的连锁反应扎堆来了。Oracle Linux开发负责人剑指IBM,SUSE也宣布分叉RHEL,相关的下游组织也都各想”自救“策略……
“伤敌1000,自损300。“,一些社区的用户也如此评论。距今已有20余天,此事引发的多米诺骨牌效应彻底呈现出来。
1、Oracle:从我们这里获取!
Oracle早在2006年就推出了现在被称为Oracle Linux的系统,其计划是提供一个与RHEL兼容的Linux发行版,以便不分裂Linux社区,并为客户和ISV提供一个通用平台。在红帽限制了对RHEL源代码的访问之后,Oracle Linux 也发表了他们的看法。
在本周一发布的文章《保持Linux的开放和自由——我们不得不如此》中,Big Red首席企业架构师Edward Screven和Oracle Linux开发负责人Wim Coekaerts指出,IBM正试图扼杀Linux发行版之间的开源竞争进而提高其利润空间,与此同时,他们做出承诺:
“只要Oracle分发Linux, Oracle将公开和免费提供该发行版的二进制文件和源代码。此外,Oracle欢迎各种下游发行版,包括社区和商业发行版。”
Oracle二人还提到了CentOS,声称IBM“实际上扼杀了它作为RHEL免费替代品的地位”。而针对CentOS位置上出现的两个新的RHEL替代品——AlmaLinux和Rocky Linux,“通过扣留RHEL源代码,IBM直接攻击了他们”。
“也许这就是为什么要这样做的真正答案:淘汰竞争对手。竞争对手减少意味着IBM有更多的收入机会。”
此外,Screven和Coekaerts还针对红帽的回应进行了抨击。他们引用了红帽核心平台副总裁Mike McGrath的声明,即免费RHEL发行之所以不能继续下去,是因为“在红帽,成千上万的人花时间编写代码来启用新功能,修复错误,集成不同的包,然后长期支持这些工作……我们必须付钱给做这些工作的人。”
在他们看来,这一理由是站不住脚的。因此在文末他们来了一波嘲讽输出:
“你说你不想为那些RHEL开发人员付费吗?你可以节省金钱的方法很简单:从我们这里获取。成为Oracle Linux 的下游发行商。我们将乐意承担这一责任。”
Oracle与红帽的这场口水仗孰是孰非,围观群众肯定各有见解。不过,单就Oracle开嘲红帽一事就让事态值得深思起来。因为大众印象里,红帽是名副其实的开源先锋,而Oracle则向来对开源不太友好。且不论Oracle对于Sun遗产的挥霍,也不论Oracle与谷歌之间那场旷日持久的Java API版权诉讼之战,甚至于数年前红帽接替Oracle担负起OpenJDK 8和OpenJDK 11的维护一事至今仍让人记忆犹新。
针对RHEL引发的事件,软件自由保护协会的政策研究员布拉德利·库恩的评论颇为犀利,言辞间隐约透露出“屠龙少年终成恶龙”的感叹。
“长期以来,红帽一直以自己比Oracle站在道德制高点而自豪。Oracle的整个商业模式都围绕着使用激进的专有许可来让他们的客户感到恐惧。看到RHEL的商业模式越来越倾向于这个方向,我感到很遗憾。”
2、SUSE表态:分叉RHEL,计划投入1000万美元
在Oracle Linux 发表声明后不久,作为Rancher、NeuVector和SUSE Linux企业版(SLE)背后公司的SUSE也有了动作。
SUSE宣布,它将fork公开可用的RHEL,并开发和维护一种可供所有用户自由使用的RHEL兼容发行版。在接下来的几年里,SUSE计划在这个项目上投资超过1000万美元。
SUSE的首席执行官Dirk-Peter van Leeuwen说:“几十年来,协作和共享成功一直是我们开源社区的基石。我们有责任捍卫这些价值观。这项投资将在未来几年保持创新的流动,并确保客户和社区都不会受到供应商锁定的影响,并在明日和今朝都有真正的选择。”
据公告表明,SUSE致力于与开源社区合作,为RHEL和CentOS用户开发一个长期、持久的兼容替代方案。 SUSE计划将这个项目贡献给一个开源基金会,该基金会将提供对替代源代码的持续免费访问。此外,SUSE还将继续致力于投资Linux解决方案,如SLE和openSUSE。
通常来说,一个主要的开源公司去分叉另一个主要的开源公司的项目是非常罕见的。但SUSE现在这样做是有原因的,而且它可能会得到开源社区中许多人的支持。
自开源运动商业化以来,商业利益与开源中更受社区驱动、更激进的一面之间一直存在着某种紧张关系。在大多数情况下,双方多年来一直保持平衡,并找到了共存的方法。但争论依旧无法避免,就像过去几周,红帽、众多Linux发行版以及提供RHEL兼容发行版的供应商这几方玩家之间发生的那样。
Dirk-Peter van Leeuwen 认为,SUSE之所以涉足这一领域,是因为它相信“变得更加专有不应该成为开源公司之间竞争的基础。我们都为开源社区做出了贡献——就像我们都从中受益一样。这比我们各部分的总和还要大。
可见,SUSE作为一家较大的Linux供应商的介入并不奇怪。除了Oracle之外,较小的供应商没有资源来维护分叉并围绕分叉创建一个社区。SUSE已经经历了30多年发展,虽然也几经沉浮,但依然是一个知名且值得信赖的实体。
“这项合作努力表明了SUSE对促进创新和培育社区驱动型发展的根深蒂固的承诺,并加强了开源软件的基本价值。我们邀请社区积极参与和协作,塑造这一基本软件的未来,“SUSE首席技术官兼首席运营官Thomas Di Giacomo说。“我们坚信,这个新的RHEL兼容Linux发行版,以及SUSE的产品组合,将帮助社区和客户在企业Linux,云计算,容器化,边缘,AI / ML和其他新兴技术方面取得前所未有的进步。”
3、Rocky Linux 自救:这些方法使我们能够合法地获取RHEL二进制文件
对于红帽的决策,大公司有大公司的应对之法,小团体也有小团体的求存之道。尽管在外界看来,在这场连锁反应中,红帽的做法对于AlmaLinux和Rocky Linux 来说是毁灭性的打击,但两者目前均已表示将克服困难继续推出RHEL克隆版。
在名为《保持开源开放》的博文中,Rocky Linux详细介绍了两种可用于获取源代码的替代方法。
其一,是使用基于RHEL的UBI容器映像,可从多个在线来源(包括Docker Hub)获得。使用UBI映像,可以轻松可靠且不受阻碍地获取红帽源。我们已经通过OCI(开放容器计划)容器对此进行了验证,它完全按预期工作。
其二,是按使用付费的公共云实例。有了这个,任何人都可以在云中启动RHEL映像,从而获得所有软件包和勘误表的源代码。这对我们来说是最容易扩展的,因为我们可以通过CI管道完成所有这些工作,启动云映像以通过DNF获取源代码,并自动发布到我们的Git存储库。
Rocky Linux在文中强调,由于GPL的强大功能,这些方法成为可能。没有人可以阻止GPL软件的重新分发。“这两种方法都使我们能够合法地获得RHEL二进制文件和SRP,而不会损害我们对开源软件的承诺或同意妨碍我们权利的TOS或EULA限制。我们的法律顾问向我们保证,我们有权获得我们收到的任何二进制文件的源代码,确保我们能够按照我们的初衷继续推进Rocky Linux。”
当然,他们也指出,上述方法可能会发生变化,因此还在继续探索其他可能。“如果不幸,Red Hat决定加大力度对社区产生负面影响,Rocky Linux将继续为整个开源社区的最大利益服务。”
4、红帽的回应:在健康的开源生态系统中,竞争和创新是齐头并进的
将时间倒转至6月21日。红帽宣布停止向第三方提供RHEL源代码,CentOS Stream 成为公共RHEL相关源代码发布的唯一仓库时,这起事件中的第一张多米诺骨牌应声倒地。
其实这系列事件的肇因可以追溯至更久。之前在很长一段时间里,CentOS本质上是RHEL的免费版本,但2020年底,红帽改变了一切。它没有与RHEL版本重合的常规点发布,而是推出了CentOS Stream,这是“RHEL下一步的'滚动预览',”Red Hat的Chris Wright当时解释说。这使得CentOS 7 成为最后一个长期支持的CentOS版本(将于2024年结束)。
红帽当时表示,这个想法是为了缩短RHEL生态系统中开发人员之间的反馈循环。“请记住,我们是一家上游优先的公司,我们所做的一切都首先进入上游,然后流经系统。这意味着我们在CentOS下游所做的更改现在必须进入上游社区,进入Fedora,然后进入红帽企业Linux,然后流入CentOS。所以它实际上大大减慢了我们的速度,我们无法像我们想要的那样快速移动。”
但這也意味著CentOS和RHEL將不再是100%相容的。这一举动在社区中引起了不小的轰动,许多CentOS贡献者分道扬镳并推出了新的发行版:Rocky Linux 和Alma Linux。
然后某天,Red Hat发现Rocky和Alma等公司正在构建他们的下游Linux发行版,并声称具有bug-for-bug兼容性。当然Rocky和Alma所做的是合法的,并且在他们的权利范围内。但是红帽对此显然有不同看法。
Red Hat副总裁兼RHEL总经理Gunnar Hellekson认为,这相当于“我正在运行红帽企业Linux,其他人来了,拿走了我的开源项目,声称bug对bug的兼容性,从而承诺根本不做任何创新,不以任何方式改进它。在上面放上他们自己的标志,然后积极招募我的用户去使用他们的版本而不是我的版本。在开源社区中,这是不良行为。这是合法的,但它是不受欢迎的。这会适得其反,对生态系统不利”。
6月26日,红帽核心平台副总裁Mike McGrath在回应相关争议时也发表了相似的观点:
在健康的开源生态系统中,竞争和创新是齐头并进的。Red Hat、SUSE、Canonical、AWS和Microsoft都创建了具有相关品牌和生态系统开发工作的Linux发行版。这些变体都利用并贡献了Linux源代码,但没有一个声称与其他变体“完全兼容”。
McGrath直言:“最终,我们没有找到重新构建RHEL的价值,并且我们没有义务让重新构建者的工作更加容易。”对于控诉红帽“违背”GPL协议的批评,他的反驳是:CentOS Stream 的位于GitLab的源代码仓库就是我们构建RHEL发布版的地方,对所有人都是公开的。称RHEL为“闭源”是绝对不真实且不准确的。CentOS Stream 的更新速度比RHEL快,RHEL虽不一定指向最新代码,但代码就是在那里的。
5、尾声:多数批评者忽略的关键点
在此次事件中,多数批评者忽略的关键点是:GPL只要求红帽为向它提供二进制文件的各方提供源代码,而不是向全世界提供源代码。红帽客户仍然可以获得源代码,因此红帽没有违反GPL。GPL并没有将他们从红帽合同中解放出来:如果他们愿意,他们可以重新分发源代码,但同样的,红帽也可以通过终止他们的客户合同来回应他们这样做,这是100%符合GPL的。
任何企业都有合法权利捍卫其模型和产品。撇开大量不真正了解开源许可证如何工作的人不谈,我们的印象是,有很多人觉得仅仅因为这是Linux,他们就有某种权利免费获得它。但事实上,他们没有。这不是自由软件中的“自由”的意思,而且从来都不是。