LWN: CentOS中道夭折!

Posted Linux News搬运工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LWN: CentOS中道夭折!相关的知识,希望对你有一定的参考价值。

关注了就能看到更多这么棒的文章哦~


Changing CentOS in mid-stream

By Jonathan Corbet
December 10, 2020
DeepL assisted translation
https://lwn.net/Articles/839523/

多年来,大家都希望能部署稳定的、有好的维护的基于 Linux 的系统,希望能一上来就 "just works",针对这种需求,CentOS 发行版一直是一个可靠的选项。据报道,它一度成为 30% 的网络服务器的运行平台。多年以来,CentOS 的发展起起伏伏,对许多人来说,12 月 8 日宣布 CentOS 将 "shifting focus" 的消息,可以说是决定人们想法最终改变的因素。不管这种改变是否是一件好事,它肯定标志着一个始于 2004 年的时代的结束。

How we got here

CentOS 的诞生,是来自于人们从 Red Hat 提供的 RHEL 源码中构建和发布软件包。最初的 CentOS 版本——CentOS 3.1(基于 RHEL 3 版本)于 2004 年 3 月发布。还有一个 CentOS 2 版本(基于 RHEL 2),但那是在两个月后出现的。CentOS 很快就吸引了那些正在寻找相对稳定的系统的用户的注意,当时的发行版提供商们正在努力将免费的 "社区(community)" 发行版和付费的 "企业(enterprise)" 变种分开。LWN 在 2004 年 2 月首次提到 CentOS,并在 2005 年初进行了更细致的报道。

事实证明,CentOS 如它所承诺的那样保持着稳定。比如说,CentOS 2 版本一直支持到 2009 年 6 月仍得到支持,CentOS 3 的支持则持续到 2010 年 11 月。不过也有一些挑战,同样是发生在 2009 年,项目联合创始人 Lance Davis 离开了,同时他也不再拥有对项目的域名和银行账户的控制权。令人高兴的是,这个问题最终得到了解决(https://lwn.net/Articles/344874/),但在此之前,此项目经历了大的动荡,使得它也在努力把管理治理和财务方面改革地对公众更加透明。

该项目在 2009 年也遇到了不能按时发布的问题,这个问题在接下来的一年里再次出现,其实此后也经常出现这种情况。创建一个 CentOS 版本并不是一个简单或者有趣的工作,所以往往很难找到志愿者。2011 年的时候,这个问题导致该项目在试图制作 CentOS 6.0 版本时无法及时提供安全更新(security updates),这是很危险的信号。这个问题在那一年的大部分时间都在困扰着这个项目。2012 年,甲骨文(Oracle)就试图利用 update 的延迟来作为向 CentOS 用户推销 Oracle Linux 的一个突破口。

2014 年初,Red Hat 收购了 CentOS 项目,取得了商标的所有权,并雇佣了几名 CentOS 开发人员。当时成立了一个管理委员会,Red Hat 承诺项目将以 "公开、开放、包容 "的方式运行。在版本号问题上的一些小混乱,让人们对收购后的 CentOS 将如何运行产生了担忧,但大多数情况下,情况还是和从前一样,并且更加稳定可控。该项目在当年年底宣布了一个 rolling release(滚动发布版本)。

在那之后,CentOS 似乎进入了相对可预测的版本发布周期中。它通常总是不希望出现新闻之中。另一个基于 RHEL 的流行产品 Scientific Linux 发行版在 2019 年停止了新版本,赞助商 Fermilab 表示将改用 CentOS 8。由于承诺支持 CentOS 8 到 2029 年 5 月,这似乎是一个很合理的决策。CentOS 发布已经变得非常规律、准时和可靠了。

CentOS Stream

2019 年 9 月,Red Hat CTO Chris Wright 在博客中介绍了 CentOS Stream,并这样描述:

CentOS Stream 是一个面向生态系统开发者的 upstream 开发平台。它是一个唯一的、连续的 stream of content,每天更新数次,囊括了 RHEL 代码库中最新、最棒的内容。从它可以看出 RHEL 下一个版本的改变,可以供更广泛的社区所用,而不仅仅是一个测试版或 "preview" release。

Wright 说,这个新产品与现有的 CentOS 发行版平行,"这意味着对于 CentOS Linux 和服务的现有用户来说,没有任何变化"。而对于这些用户中的大多数人来说,也确实没有什么变化,他们对 CentOS Stream 产品的关注度不高。

不过情况在 12 月 8 日发生了变化,从 Wright 的另一篇博文中可以看到:"我们已经通知 CentOS 项目理事会,我们正在将今后的投资方向从 CentOS Linux 完全迁移到 CentOS Stream 上"。CentOS Stream 将不再是一个并行发售的产品,现在它是唯一的产品。他补充说:

CentOS Stream 并不是 CentOS Linux 的替代品,而是一个自然的、不可避免的发展步骤,目的是为了实现项目的目标,即进一步推动 Enterprise Linux 创新。

为了说明决策真的发生变化了,Red Hat 宣布将 CentOS 8 的支持结束日期提前到 2021 年年底,放弃了曾经承诺为该版本提供的 7 年多时间的支持。担心 CentOS Stream 可能不适合生产环境使用的 CentOS 用户则被鼓励 "联系 Red Hat 了解其它选项"。

乍一看,CentOS Stream 和 CentOS 很像,但这两个发行版同 RHEL 之间的关系有区别。传统的 CentOS 来自于官方的 RHEL 版本,而 CentOS Stream 会比 RHEL 更早拿到(大部分)更新。实际上,它是一个快速变化的下一个 RHEL 版本的快照。一个可能在 CentOS 中只需要从 RHEL 中拿过来更新一次的 package,可能会在 CentOS Stream 中更新好几次,然后才成为一个真正的 RHEL 包。

这种新的安排对一些用户来说是比较好的。任何人如果想确保自己的代码能在下一个 RHEL 版本中使用,可以在 CentOS Stream 中进行测试,从发生的任何问题中得到预警。希望更快地得到修复的用户可能也更喜欢 CentOS Stream。不过对于很多生产环境用户来说,"每天更新几次" 的做法对他们缺乏吸引力。这些用户往往希望他们的平台是稳定的,变化最小的。这个看起来很像 RHEL 测试版的系统并不是他们心中所希望获得的。因此,CentOS 用户群体中的反对情绪也就不难理解了。"Furthering enterprise Linux innovation" 并不是他们使用 CentOS 的目标。

Now what?

大多数用户都明白,Red Hat 从来没有任何义务为他们维护一个稳定的平台且不求任何回报。但他们中的许多人是基于对 CentOS 8 的支持一直会延续到 2029 年的承诺而做出了自己的决策。Red Hat 背弃这一承诺的决定让人觉得是背叛了他们的信任。如果 Red Hat 没有改变 CentOS 8 的时间表,而是宣布不会发布 CentOS 9,那么抱怨就会少很多。

在很多人看来,这个决定也是对 CentOS 项目管理所谓的 open nature(开放性)的嘲讽。这个决定是由 Red Hat 公司办公室下达的,而正如 CentOS 长期贡献者和董事会成员 Johnny Hughes 的这条消息(https://lwn.net/Articles/839553/)所表明的那样,CentOS 董事会并没有意图改变此项目的前景。CentOS 项目的性质和目标(是指给用户们所看到的那些特征)已经被公司的命令来从根本上改变掉了,而 "community" 在这件事上几乎没有发言权。

所以现在 CentOS 8 的用户有一年的时间来实现他们对支持周期结束后的相应调整。(请注意,CentOS 7 的支持时间表保持不变,支持到 2024 年 6 月)。有些人可能会发现,CentOS Stream 实际上对他们来说已经足够好用了。毕竟,目前还不清楚这个发行版到底有多么不稳定。据推测,所有添加进来的软件包都会经过 RHEL 的 QA 流程。CentOS Stream 可能被证明主要是一种营销手段——让 CentOS 看起来显得更危险,从而推动 RHEL 订阅的销售量,而并不会真正让 CentOS 变得更糟。

不过,许多用户可能不想冒这个险。有些人可能会注册 RHEL 订阅,但大多数人可能会去寻找替代方案。有很多关于创建一个新的基于社区的、类似于 CentOS 的项目来重新按照以前的方式重建 RHEL 的讨论。这些努力可能会成功,但值得注意的是从 CentOS 在获得适当的财政支持之前的痛苦挣扎中吸取教训。创建这种发行版涉及到很多繁琐、细致的工作,而且做这些工作的志愿者仍然很难找到。

当然,还有其他的已经存在的基于社区的发行版可以给大家提供一个长期稳定的平台。包括 Debian、Ubuntu LTS、openSUSE Leap 以及其他各种选择。其中大部分可能完全适用于各种各样的生产环境部署。每一个都有自己的一些问题,但 CentOS 也是如此。

有些人可能会考虑的另一种选择是完全放弃 "enterprise" 发行版。这些发行版是在人们购买一台真实计算机、将其部署在某个地方并期望它能持续工作多年的时代产生的。这样的系统仍然有,但越来越常见的是,当有工作要做时,就订购新的虚拟机;不再需要时,就直接废弃这些虚拟机。在这个新的玩法里,长期稳定的发行版所提供的价值就不那么明显了。许多此前部署在 CentOS 上的系统,实际上如果使用更加新的 mainline kernel 和更加新的软件版本的时候也许会表现得更加好。

这一改变的影响需要时间来沉淀下来,Red Hat 可能已经破坏掉了社区对它的一些信任,而这些信任将很难再得到。但社区也应该记住,CentOS 一直是整个自由软件社区的实干家们送出的一份非常宝贵的礼物,Red Hat 在它的制作和支持中扮演了重要角色。我们可能会喜欢也可能不喜欢这种改变,但对 Red Hat 在 CentOS 的 15 年(到目前为止)生命中所扮演的角色表示 "感谢" 也是合理的。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~



以上是关于LWN: CentOS中道夭折!的主要内容,如果未能解决你的问题,请参考以下文章

汉语-词语-中道:百科

运维道中道之“Shell脚本日志关键字监控+告警”

LWN:Lua in the kernel!

LWN:让GPU的工作也依赖进程优先级!

LWN: 如何验证代码是否被编译器优化后出错?

网页优化-缓存并加载本地js,css等资源文件(有坑,内容中道出)