Fedora and CentOS Stream

From the desk of the Fedora Project Leader:

Hi everyone! You may have seen the announcement about changes over at the CentOS Project. (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”. 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: 

  1. Some time after the previous RHEL release, Red Hat would suddenly turn more attention to Fedora than usual.
  2. A few months later, Red Hat would split off a new RHEL version, developed internally.
  3. After some months, that’d be put into the world, including all of the source — from which CentOS is built. 
  4. 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). 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 — 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

Fedora Contributor Community Fedora Project community For Developers For System Administrators

29 Comments

  1. 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!

  2. 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?

  3. John

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

  4. svsv sarma

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

  5. zmks12

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

  6. 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.

      • 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.

  7. r2

    I think more like
    * Fedora = Debian Testing (maybe more stable than it?)
    * [ RHEL->CentOS ] + EPEL(Backport from Fedora) = Debian Stable + Backports

  8. 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.

  9. thrix

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

  10. Andrea

    Is CentOS now basically Fedora LTS?

  11. Vakho

    OK..

    -Fedora – Debian Stable 5x
    -CentOS – Debian Stable 10x
    -RHEL – Debian Stable 10000x

  12. 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?

  13. 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).

      • 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.

  14. 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.

  15. 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…

  16. 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

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

        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.

  17. 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?

    • “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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions

%d bloggers like this: