继 CentOS 后,红帽又惹“众怒”:限制访问 RHEL 代码,要“杀死”下游发行版?
回顾 2020 年,红帽在宣布将终止对 CentOS 8 和 CentOS 7 的服务支持时,曾在开源社区引起了轩然大波。而时至 2023 年,本周红帽官方发布的一条公告,又一次引起了广大用户们的强烈抗议:
“现在,CentOS Stream 将成为公共 RHEL 相关源代码发布的唯一仓库。而对于 Red Hat 客户和合作伙伴,依然可以根据其订阅协议通过 Red Hat Customer Portal 获得 RHEL 源代码。”
虽然没有明确表明,但这句话意味着红帽将限制第三方对 RHEL 源代码的访问——也就是说,如 AlmaLinux、Rocky Linux、Oracle Linux 等基于 RHEL 的下游发行版本,其未来发展将严重受阻,因为它们无法再继续提供与 RHEL 版本 100% 兼容的 1:1 构建。
RHEL 源代码,未来只会对付费客户提供
事实上,在 2020 年宣布停用 CentOS 时,红帽曾隆重介绍过 CentOS Stream,并表示会将 CentOS 项目的工作和投资集中在 CentOS Stream 上,以进一步推动 Linux 创新。
在本次公告中,红帽也再次明确了 CentOS Stream 的定位:“两年多前,红帽推出了 CentOS Stream,以此作为围绕 Red Hat Enterprise Linux(RHEL)合作的焦点。CentOS Stream 缩短了红帽工程师与合作伙伴、客户和社区之间的反馈窗口,同时也为 RHEL 的下一步创新提供了更大的知名度。由于 CentOS Stream 的存在,RHEL 的开发比以前更加透明和开放。”
从开发流程上来看,CentOS Stream 属于 RHEL 的上游,或者说是一种对未来 RHEL 的预览:在发布新的 RHEL 版本之前,红帽会在 CentOS Stream 中开发 RHEL 的源代码,其中会包含下一个 RHEL 发行版的预期功能和相关更新。
因此,总体而言 CentOS Stream 与 RHEL 有许多相似之处,不过具体在发布和支持周期、软件包、安全性等方面,二者还是有很多不同的。作为上游的 CentOS Stream,也并不总是包括 RHEL 的所有补丁和更新。
好在 CentOS Stream 出现之前,红帽会把 RHEL 的公共源代码同步到到 git.centos.org;而当宣布 CentOS 项目将转向以 CentOS Stream 为中心后,红帽也依旧如此:“尽管不再构建基于 RHEL 的 CentOS Linux,但我们仍然维护了这些仓库。”
因为 git.centos.org 的存在,当红帽决定停止开发 CentOS 后,不少开发者就通过借此实现 1:1 复制 RHEL 构建版本,例如被称作“CentOS 继承者”的 AlmaLinux。
而此次红帽的决定,表示它将不会再把 RHEL 源代码同步至 git.centos.org,理由是:“围绕 CentOS Stream 的参与,工程投资水平,以及我们为客户和合作伙伴解决的新优先事项,使得现在维护独立、多余的存储库的效率降低。”
同时,红帽还补充道:“最新的源代码仍可以通过 CentOS Stream 获得。而红帽的客户和合作伙伴,可以根据其订阅协议通过 Red Hat Customer Portal 获得 RHEL 源代码。”
简单来说就是:RHEL 源代码,未来只会对付费客户提供——而毫无疑问,这个决定将严重影响一系列基于 RHEL 的下游发行版。
红帽企图“杀死”下游克隆?
正如上文所说,CentOS Stream 虽是 RHEL 的上游,但它终究与 RHEL 不同。对于大多 RHEL 用户群体来说,他们可能也并不关心 CentOS Stream,因为不论是 AlmaLinux、Rocky Linux 还是之前的 CentOS Linux,它们都是 RHEL 的下游版本,即由相同的源代码重建,以此确保 100% 的兼容性。
所以对于多数用户来说,即便 CentOS 停服在即,也可以运行 AlmaLinux、Rocky Linux 等任意重建版本,不仅能使用相同的驱动程序,获得与 RHEL 应用的完美兼容性,还不需要向红帽支付费用。
可如今,红帽已决定限制第三方对 RHEL 源代码的访问,即这些下游发行版之后将无法再通过 git.centos.org 免费获取 RHEL 源代码。换句话说,目前这些下游发行版需要做出选择:要么此后把上游从 RHEL 换成 CentOS Stream,要么成为红帽的付费客户,才能继续获取 RHEL 源代码。
其实早在红帽宣布这个决定之前,AlmaLinux 就发现了一些“猫腻”。上周 Red Hat 8 的一些更新,并没有像以往那样在 git.centos.org 上同步。为此,AlmaLinux 方面还向红帽提交了报告,但对方始终没有给予回答或解决,直到看到这次公告 AlmaLinux 才恍然大悟:
“昨天,红帽宣布了一项巨大的转变,影响了 RHEL 的所有重构建和分支。今后红帽将只在其 Red Hat Customer Portal 中发布 RHEL RPM 的源代码 。由于所有 RHEL 克隆都依赖于发布的源代码,这对整个红帽生态再次造成了破坏。”
AlmaLinux 承认,它受到了 RHEL 源代码发布变化的影响:“这一变化意味着,作为 RHEL 克隆的构建者,我们现在除了要遵循软件源中包含的许可协议外,还要负责遵守围绕红帽接口的许可和协议。不幸的是,按照我们今天的理解,红帽的用户接口协议表明,重新发布通过 Red Hat Customer Portal 获得的资源将违反这些协议。这意味着我们需要一个新的解决方案。”
面对这个问题,AlmaLinux 内部花费了很多时间研究解决方法,目前它给出的方案是:
▶在短期内,AlmaLinux 将与 RHEL 生态系统的其他成员合作,跟踪 CentOS Stream 的变化和 Oracle Linux 等,确保能按照之前的速度和稳定性继续提供安全更新。
▶从长远来看,AlmaLinux 将与其他 RHEL 下游产品和社区伙伴合作,争取找到一条最佳的前进道路。
在 AlmaLinux 发布的声明最后,还回答了一些常见问题,其中有一个提问是“红帽是否企图杀死下游克隆?” 对此,AlmaLinux 的回答是:“我们无法谈论红帽的意图,只能指出他们公开说过的话。在 AlmaLinux 操作系统的发展过程中,我们与红帽公司建立了令人难以置信的工作关系,我们希望看到这种关系能继续下去。”
红帽“背叛开源”、“违反 GPL 协议”
红帽的这个操作,再次在开源开发者圈内引起了广泛讨论,其中很多人都在谴责红帽“背叛开源”、“违反 GPL 协议”等等:
▶“不是 GPL 吗,为什么还能限制访问代码?”
▶“因为在许可证上附加了额外的限制,红帽已经违反了 GPL 的规定,并失去了分发 GPL 代码的许可,因为他们并不拥有这些代码的版权,也没有从版权所有者那里获得一些额外的许可。红帽应该期待律师来信,来提醒他们的义务。”
同时,也有部分开发者已在考虑是否要彻底脱离 RHEL 及其衍生产品:
▶“我可能会放弃对 RHEL 衍生产品的测试,虽然红帽可能并不在意,但随着时间的推移,会有越来越多开发者做出跟我一样的决定,届时红帽就会发现他们的平台已逐渐变得不那么可靠了。”
对于红帽的这个决定,你又是否有什么想说的吗?
参考链接:
https://www.redhat.com/en/blog/furthering-evolution-centos-stream
https://almalinux.org/blog/impact-of-rhel-changes/
https://www.theregister.com/2023/06/23/red_hat_centos_move/
推荐阅读: