CentOS Stream and the end of the CentOS clone: perils, pitfalls, risks and opportunities for Red Hat


Red Hat unleashed the kraken with its recent announcement that its CentOS 8 clone of Red Hat Enterprise Linux would be shut down in 2021 instead of 2029, to be replaced by the newish CentOS Stream 8.

What is CentOS Stream? It is a reimagining of CentOS as a continuously delivered yet version-constrained development distribution that tracks ahead of Red Hat Enterprise Linux 8 yet stays within the RHEL 8 world from an ABI1-compatibility standpoint.

So instead of RHEL leading to an eventual CentOS build, CentOS Stream leads to an eventual RHEL build.

Stream is also an upstream.

Plus, as many Red Hatters have said, Stream welcomes contributors large (like Facebook) and small (like you and me) in a way that “old” CentOS and RHEL never could.

In the rhetoric around the ending of traditional CentOS, RH employees have been saying the existing CentOS community is made up almost entirely of passive users and no contributors — mostly because it’s impossible to really contribute to CentOS or RHEL outside of filing bug reports. The only avenue, until now, for meaningful contribution to RHEL has been the very upstream and very welcoming Fedora.

Here’s how the “flow” of code used to go:

Fedora >>> RHEL >>> CentOS

and here’s how it will go:

Fedora >>> CentOS Stream >>> RHEL

For those unfamiliar with what the Fedora distribution is all about, it’s free to all users and encourages contributions and involvement. It is where the community — including employees of Red Hat — tests and develops new technologies that may eventually be included in RHEL.

Fedora is friendly and welcoming in a way few free software projects are. It’s a great community and a surprisingly great distro that gives users a years-ahead look at what mainstream Linux systems will eventually be doing.

Fedora releases every six months, and every release receives updates for the duration of the next release plus about a month. That generally works out to 13 months, give or take, but it’s possible to upgrade every six months. And the distro doesn’t stand still. It gets new kernels all the time, and many other components are also updated on a continuous basis.

A new version of RHEL is “cut” from a Fedora release every three years. It promises a certain level of stability and compatibility, has full support for five years, maintenance support for another five years and “extended life cycle support” for another two years after that. Everybody talks about the 10 years — and they do so as if the 10 years were equivalent to the first five years, which is something to think about.

One of the biggest differences between CentOS Stream and RHEL/old CentOS is the support period. RHEL is the only distro that patches for 10 years. By extension, so does CentOS and any other clone that can keep it going.

But CentOS Stream comes with a promise of “only” 5 years of support. That puts it in line with Ubuntu and maybe Debian. It’s not a positive for many. It “takes away” one of the features that made CentOS stand out. Unless things change, after 5 years, you’ll have to upgrade from Stream 8 to Stream 9. I can think of worse things.

I can’t see running any system for more than 5 years, but many can and want to do just that.

Red Hatters have been saying the reason the company created Stream is to encourage users large and small to participate in the development of RHEL by submitting bug fixes — and ostensibly also actual code.

CentOS Stream sounds good to me. For desktop use anyway. There’s no reason a desktop needs to track months behind RHEL. There is little downside — and potentially some upside — to being slightly ahead of it.

For server use, it may be a different story. If you read the thousands of comments out there, the end of CentOS as we know it — with only Stream surviving — is open-source armageddon, a line in the sand, a crossed Rubicon, a breach of trust. You name the cliche, and I promise it has been invoked.

Red Hat is saying that it either can’t or doesn’t want to split its effort between traditional CentOS and CentOS Stream. And as long as old-school CentOS remains on the table, nobody will want to switch to Stream in the first place.

Forcing people to do something they don’t want to do? Sometimes it works out, other times it just makes everyone angry.

The move to kill CentOS as it currently exists has been very unpopular. Very. Unpopular. Users are piling into threads to complain about how Red Hat has used its own Microsoftian form of “embrace, extend, extinguish” to first purchase the formerly independent CentOS Project and hire all its devs, wait while an “official” RHEL clone squeezed out competition like Scientific Linux, and then kill CentOS while keeping the name for what is now CentOS Stream.

Is there any reason why they didn’t call it RHEL Stream? That would be a more appropriate name.

The decision of Red Hat to purchase the clone project CentOS in the first place was curious. Why make a “free” version of your own product when you could just make that product free in the first place?

We all say that free RHEL clones like CentOS and Scientific Linux help promote the RHEL ecosystem and funnel business to Red Hat. Maybe that’s true. But maybe it isn’t. If anybody really knows, it would be Red Hat.

Why the uproar when there are Debian, SUSE and Ubuntu?

There is something about the technical excellence in RHEL that makes it the overwhelming choice in the enterprise market. Plus everyone uses CentOS. Because it’s just like RHEL. That’s it in a nutshell. People want to use it because everybody else is already using it.

I followed the CentOS project before it was acquired by Red Hat. Things could be dicey. Releases were generally VERY far behind RHEL. So were updates. But the ability to “play” with something just like RHEL is very powerful. It’s not just the price of $0. Being able to use a distro for free and without “registering” or otherwise being marketed to are table stakes in the Linux distribution world.

Even Microsoft — which is very much not a Linux company — recognizes the value of “free” in particular situations. If users had to fork out even $10 for Windows 10, and the “price” wasn’t bundled into their hardware purchase, the system’s market share among home, business and enterprise users would plummet. Those who really, really needed Windows would pay, but the system — and Microsoft’s desktop OS business — would bleed users, mindshare and relevance.

(While I’m on this Microsoft tangent, I will point out that the company does offer a Windows Server product and doesn’t appear to give it away for free. Maybe Red Hat is taking notes.)

When Red Hat made its “ending CentOS as we know it” announcement, it said there would be new opportunities to run RHEL for low and no cost. But those plans would be revealed later. It’s not a good idea to pull the rug out from under users — even if they’re paying nothing — and promise them something in the indeterminate future. It doesn’t add to the trust.

Here’s the deal. As I say above, for desktop users, CentOS Stream won’t just be fine, it’ll be better than the “old” CentOS. Stream will unfold comfortably within the confines of a RHEL/CentOS release. It won’t be “slow” Fedora. It will be much slower.

We don’t know how Stream will work on servers. There are so many different server workloads and use cases. For some of them, Stream will be great, for others it will be not so great.

What Red Hat isn’t talking about, but what’s happening as we speak, is the formation of new projects that aim to provide the “old” CentOS/Scientific Linux experience, taking the RHEL source and producing a downstream “clone” of the distribution.

Unless Red Hat goes to extremes to prevent it — and there are no indications that it will, the source code for RHEL will be in good enough shape for the clone projects to do their work.

And CentOS Stream will have competitors in the form of new RHEL clones.

Red Hat won’t control those clones. It won’t have to pay for them, either. We all have to assume that Red Hat is OK with that. I’m 100% sure they didn’t think ending CentOS meant an end to all RHEL downstream clones.

Even if they’re not based on RHEL, there are other Linux distributions capable of securely handling whatever server workload you throw at them. The scientific community, the high performance computing community, academic departments, corporations and companies — everybody could switch to Debian or Ubuntu. Life and computing will go on.

At this point, Red Hat’s move carries a lot of risk with an uncertain reward. Making people unhappy almost never helps your cause.

Linux users, academics and enterprises will survive. They’ll figure this out.

For Red Hat, it’s a gutsy move, and I have no idea how it’s going to go.

1ABI stands for Application Binary Interface I had to look that one up.