滚动版 CentOS Stream 和 Fedora  的关系
RHEL CentOS Fedora
![](/data/attachment/album/201910/02/093523xigcv6mx7ximcmzc.jpg)


*一封来自 Fedora 项目负责人办公室的信件：*


（LCTT 译注：背景介绍 —— 红帽宣布与 CentOS 同步构建一个 CentOS Stream 滚动构建版。我们知道 Fedora 是红帽企业版 Linux [RHEL] 的上游，经过 Fedora 验证的特性才会放入 RHEL；而 RHEL 发布后，其源代码开放出来形成了 CentOS。而新的 CentOS Stream 则位于 Fedora 和 RHEL 之间，会滚动添加新的实验特性、更新的软件包等。）


嗨，大家好！你可能已经看到有关 [CentOS 项目变更](https://wiki.centos.org/Manuals/ReleaseNotes/CentOSStream)的[公告](http://redhat.com/en/blog/transforming-development-experience-within-centos)。（如果没有，请花一些时间阅读它，我等你看完回来！）现在你可能想知道：如果 CentOS 现在位于 RHEL 的上游，那么 Fedora 会发生什么？那不是 Fedora 在 Red Hat 生态系统中的角色吗？


首先，不用担心。整体有一些变化，但是一切都变得更好。


![](/data/attachment/album/201910/02/093405qx085a0pu535dui5.jpg)


如果你一直在关注 RHEL 领导者关于 Fedora、CentOS 和 RHEL 之间关系的会议讨论，那么你就听说过 “<ruby> <a href="https://www.youtube.com/watch?v=1JmgOkEznjw">  彭罗斯三角 </a> <rt>  Penrose Triangle </rt></ruby>”。形状就像 M. C. Escher 绘图中的形状：在现实生活中这是不可能的！


我们已经思考了一段时间，*也许*几何不可能实际上是最好的模型。


一方面，想象中的流向最终的贡献会流回 Fedora 并以“良性循环”增长，但这种流从来没有真正起作用过。 真可惜，因为有一个庞大而强大的 CentOS 社区，并且有很多伟大的人在为此工作，而且 Fedora 社区也有很多重叠之处。我们错失了。


但是，这个缺口并不是唯一的空隙：在该项目与产品之间并没有真正一致的流程。到目前为止，该过程如下：


1. 在上一版 RHEL 发布之后的某个时间，红帽突然会比以往更加关注 Fedora。
2. 几个月后，红帽将分拆出一个内部开发的 RHEL 新版本。
3. 几个月后，它便被带到了世界各地，成为所有包括 CentOS 在内的下游发行版的来源。
4. 这些源持续向下更新，有时这些更新包括 Fedora 中的修补程序，但没有明确的路径。


这里的每个步骤都有其问题：间歇性注意力、闭门开发、盲目下发以及几乎没有持续的透明度。但是现在红帽和 CentOS 项目正在解决此问题，这对 Fedora 也是个好消息。


**Fedora 仍将是 RHEL 的[第一个](https://docs.fedoraproject.org/en-US/project/#_first)上游**。这是每个 RHEL 的来源，也是 RHEL 9 的来源。但是在 RHEL 分支之后，*CentOS* 将成为上游，以继续进行那些 RHEL 版本的工作。我喜欢称其为“中游”，但营销人员却不这样称呼，因此将其称为 “CentOS Stream”。


我们（Fedora、CentOS 和红帽）仍需要解决各种技术细节，但是我们的想法是这些分支将存在于同一软件包源存储库中。（目前的计划是制作一个 “src.centos.org”，它具有与 [src.fedoraproject.org](https://src.fedoraproject.org/) 相同数据的并行视图）。这项更改使公众可以看到已经发布的 RHEL 上正在进行的工作，并为开发人员和红帽合作伙伴在该级别进行协作提供了场所。


[CentOS SIG](https://wiki.centos.org/SpecialInterestGroup)（虚拟化、存储、配置管理等特殊兴趣小组）将在 Fedora 分支旁边的共享空间中开展工作。这将使项目之间的协作和共享更加容易，我希望我们甚至能够合并一些类似的 SIG，以直接协同工作。在有用的情况下，可以将 Fedora 软件包中的修补程序挑选到 CentOS “中游”中，反之亦然。


最终，Fedora、CentOS 和 RHEL 属于同一大型项目家族。这种新的、更自然的流程为协作提供了可能性，这些协作被锁定在人为（和超维度！）障碍的后面。我们现在可以一起做，我感到非常兴奋！


*—— Matthew Miller, Fedora 项目负责人*




---


via: <https://fedoramagazine.org/fedora-and-centos-stream/>


作者：[Matthew Miller](https://fedoramagazine.org/author/mattdm/) 选题：[lujun9972](https://github.com/lujun9972) 译者：[wxy](https://github.com/wxy) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
*From the desk of the Fedora Project Leader:*

Hi everyone! You may have seen the [announcement](http://redhat.com/en/blog/transforming-development-experience-within-centos) about [changes over at the CentOS Project](https://wiki.centos.org/Manuals/ReleaseNotes/CentOSStream). (If not, please go ahead and take a few minutes and read it — I’ll wait!) And now you may be wondering: if CentOS is now upstream of RHEL, what happens to Fedora? Isn’t that Fedora’s role in the Red Hat ecosystem?

First, don’t worry. There are changes to the big picture, but they’re all for the better.

If you’ve been following the conference talks from Red Hat Enterprise Linux leadership about the relationship between Fedora, CentOS, and RHEL, you have heard about “the [Penrose Triangle](https://www.youtube.com/watch?v=1JmgOkEznjw)”. That’s a shape like something from an M. C. Escher drawing: it’s impossible in real life!

We’ve been thinking for a while that *maybe *impossible geometry is not actually the best model.

For one thing, the imagined flow where contributions at the end would flow back into Fedora and grow in a “virtuous cycle” never actually worked that way. That’s a shame, because there’s a huge, awesome CentOS community and many great people working on it — and there’s a lot of overlap with the Fedora community too. We’re missing out.

But that gap isn’t the only one: there’s not really been a consistent flow between the projects and product at all. So far, the process has gone like this:

- Some time after the previous RHEL release, Red Hat would suddenly turn more attention to Fedora than usual.
- A few months later, Red Hat would split off a new RHEL version, developed internally.
- After some months, that’d be put into the world, including all of the source — from which CentOS is built.
- Source drops continue for updates, and sometimes those updates include patches that were in Fedora — but there’s no visible connection.

Each step here has its problems: intermittent attention, closed-door development, blind drops, and little ongoing transparency. But now Red Hat and CentOS Project are fixing that, and that’s good news for Fedora, too.

**Fedora will remain the ****first**** upstream of RHEL.** It’s where every RHEL came from, and is where RHEL 9 will come from, too. But after RHEL branches off, *CentOS *will be upstream for ongoing work on those RHEL versions. I like to call it “the midstream”, but the marketing folks somehow don’t, so that’s going to be called “CentOS Stream”.

We — Fedora, CentOS, and Red Hat — still need to work out all of the technical details, but the idea is that these branches will live in the same package source repository. (The current plan is to make a “src.centos.org” with a parallel view of the same data as [src.fedoraproject.org](https://src.fedoraproject.org/)). This change gives public visibility into ongoing work on released RHEL, and a place for developers and Red Hat’s partners to collaborate at that level.

[CentOS SIGs](https://wiki.centos.org/SpecialInterestGroup) — the special interest groups for virtualization, storage, config management and so on — will do their work in shared space right next to Fedora branches. This will allow much easier collaboration and sharing between the projects, and I’m hoping we’ll even be able to merge some of our similar SIGs to work together directly. Fixes from Fedora packages can be cherry-picked into the CentOS “midstream” ones — and where useful, vice versa.

Ultimately, Fedora, CentOS, and RHEL are part of the same big project family. This new, more natural flow opens possibilities for collaboration which were locked behind artificial (and extra-dimensional!) barriers. I’m very excited for what we can now do together!

*— Matthew Miller, Fedora Project Leader*

## David

This is a good news, unite knowledge and developers to evolve together on the same road is very important. 3 distributions together will be more robust and versatile for the next versions. long life to both 3!

## Karl Schneider

Stop me if you’ve heard this one:

A bleeding edge mad scientist distro project, a super stable all powerful enterprise distro and it’s community driven continuously rolling beta version of itself walk in to a bar……

Does this mean Fedora project will be freed up a little to innovate and explore? Does this also mean more devs will move over to and contribute to CentOS Stream vs. the Fedora project? And if so would this even matter?

## John

Can I say it can be compared to Debian unstable (Fedora), testing (Centos Stream) and stable (Red hat), the same distro. Great vision!

## svsv sarma

IBM steps in and CentOS pulled in to enhance RHEL pet “Fedora Project”. Good news indeed as Fedora is becoming the SuperOS.

## Paul W. Frields

@svsv: IBM has nothing to do with this event. Please check your assumptions.

## svsv sarma

Noted. Thank you.

## zmks12

What would be stream – standalone development instance of CentOS? Just a repo CentOS is subscribed to?

## Creak

So, if I understand correctly, in Debian terms:

* Fedora = Debian Unstable

* CentOS = Debian Testing

* RHEL = Debian Stable

(Except Fedora is not “unstable” per se, it’s just an analogy 😉 )

## Eric

I find that Fedora can very much be unstable. It crashes and burns when I try to use it with a Vega 56 GPU, for instance, whether I’m trying Fedora 30 or the 31 beta, and it is all thanks to the version of Mesa they are using.

## Creak

I Interesting, I really don’t have this experience. I have an RX 480 and everything works out of the box and each version of mesa is a bit better or, at least, the same.

## r2

I think more like

* Fedora = Debian Testing (maybe more stable than it?)

* [ RHEL->CentOS ] + EPEL(Backport from Fedora) = Debian Stable + Backports

## Julen Rubio

“CentOS Stream will be a rolling-release Linux distro that exists as a midstream between the upstream development in Fedora Linux and the downstream development for Red Hat Enterprise Linux (RHEL). ” [https://wiki.centos.org/Manuals/ReleaseNotes/CentOSStream].

Sounds good! Red Hat doesn’t forget Fedora.

## thrix

So, when we can expect copr chroots for Centos Stream? 🙂

## Andrea

Is CentOS now basically Fedora LTS?

## Vakho

OK..

-Fedora – Debian Stable 5x

-CentOS – Debian Stable 10x

-RHEL – Debian Stable 10000x

## Nicola Musatti

So, if I understand correctly, CentOS Stream would still be tied to the current RHEL release, i.e. what just came out is really CentOS Stream 8, is that correct?

How does CentOS Stream relates with EPEL?

## Dokter

This is really interesting. I’m looking forward to see what this partnership will do.

As much as I want a rolling distro with RPM and DNF I’m hesitant as I would at least want to run the latest Firefox, without too much hassle.

Or maybe this will push for what might be known as Fedora Stream?

## Sebastiaan Franken

Uhm, Fedora already contains the latest Firefox version in it’s default install, and it’s kept up-to-date quite nicely with ‘upstream’ (as in: I read about a new Firefox version, I check my updates and so far it’s always been there).

## Dokter

I know how Fedora works. I’ve used it since it was called Fedora Core 1.

Maybe the wording is a bit off, but I’m talking about the Centos Stream repo, and even if you use EPEL.

I might be missing something, but when I look at the EPEL repo I don’t find the latest Firefox.

I don’t want to run Firefox 60, which is the latest in Centos. And even if I’ve used Linux since ’99 I want to avoid to do a personal solution.

## Creak

I don’t know if it works on CentOS, but Flatpak might be the solution to your problem here.

## Eric

Firefox 60 is probably the ESR version. Just install the regular version.

## olahaye74

Good to know that fedora and CentOS will remain in the ecosystem, though, despite the effort to make things more easy to understand, I think it won’t address things like docbook-utils-pdf is dropped while docbook-utils is kepst (this break my systemimager doc build). This will also not address all the dropped package in RHEL while they exists in fedora. (this also breaks another part of SystemImager)

As SystemImager main developper (and also OSCAR Cluster main developper), I used to make builds for fedora rawhide to make sure that my code remains compatible with latests packages versions. Right now, the code builds for most debian, ubuntu, rhel-6 and 7, fedora up to 31 SuSE. What was my surprise to discover that centos-8 + epel-8 + elrepo-8 was lacking so much things like xmlstarlet, docbook2pdf, perl-Qt that port will be a very long task.

Even more difficult to handle, /usr/bin/python doesn’t exists anymore in RHEL-8 and you have to fix all python code shebang. Unfortunately, this breaks portability with distrib that ships /usr/bin/phyton as python v2. Those decisions may have logic when thinking about fedora+rhel+centos ecosystem, but on developper side, it’s makes things really difficult in terms of portability. what shebang should I use to make sure all python v2 scripts runs from RHEL-6 to RHEL-8 or MacOS-X or ubuntu or any other OS with python2 installed as /usr/bin/python? What is the benefit of such change? The /usr/bin/python exists in fedora but not on RHEL-8. Where is the ecosystem?

I must admit That I’m a little bit lost trying to find interrest of this ecosystem which make builds between rhel/centos/fedora inconsistent.

## Hugh

It’s pretty clear that Python 2 is about to hit EoL. It’s past time to switch away from it. Especially with new deployments (RHEL 8).

https://pythonclock.org/

It’s unfortunate that so many people have stuck with Python 2 until the bitter end.

My discomfort with RHEL/CentOS is that components get very obsolete before the next RHEL release comes out. Ubuntu LTS seems to be more comfortable moving forward. But I really value the maintenance done by Red Hat.

Flatpak might be the solution but I don’t really get it.

## Eric Nicholls

IMHO, CentOS should join the Fedora project. It would be nice to have everything under one brand, just like Ubuntu. Together we’re Stronger.

Fedora CoreOS

Fedora SilverBlue

-Fedora

Fedora Stream (CentOS Stream)

Fedora Enterprise (CentOS)

etc…

## Gustavo Domínguez

So, let me see if I got it,

If both Fedora and CentOS are upstreams of Red Hat, that means Red Hat is at the bottom of the chain don’t it? CentOS and RHEL sort of switched places except CentOS also has its own Netflix Originals to put it some way.

It does make sense to put RHEL at the bottom to receive all the revised stuff.

Am I close?

## Hugh

There are now two CentOS things: CentOS and CentOS Stream.

I think that the flows go:

Fedora => CentOS Stream // not 100% because RHEL and Fedora have different policies

CentOS Stream => RHEL // process not clear to me

RHEL => CentOS // as fast as CentOS can manage; as little change as possible/legal

## Matthew Miller

Just like “Fedora” is the project, not the operating system, “CentOS Project” has two outputs: “CentOS Linux”, the traditional rebuild, and “CentOS Stream”, the new thing.

## Aaron Earl

The way I understand the new paradigm is that Red Hat will do what it has been doing for major releases, which is distilling a new major release from some version of Fedora. For the incremental releases, however, it will look to CentOS to fill the upstream role that Fedora fills for major releases. So, RHEL has now has an upstream that will move between the two in a sequence like:

Fedora, CentOS, CentOS, CentOS, . . . Fedora, CentOS, CentOS, CentOS, . . .

My question is what happens to the version of CentOS that is compiled from RHEL sources, i.e., the one that exists now and is, essentially, a clone of RHEL? I have enjoyed knowing that CentOS has all the strengths of RHEL. I wonder if this new CentOS be some kind of beta that will, likely, not as stable as RHEL?

## Matthew Miller

“Stable” is a loaded word with a lot of different meanings. The changes that will land in CentOS Stream are intended for the next RHEL minor release, and so should not be more drastic than one might expect from that kind of update.

Note that CentOS Linux 8 as a traditional rebuild is still a thing.