My Profile Photo

Sheogorath's Blog

CentOS Stream and what the fuzz is about

on

For those active in the Linux world, you might heard of CentOS. Long time known “RHEL clone”. There was a bit more to it, but I want to dive into the details here. Note, this article is a complete opinion piece, so feel free to disagree and don’t expect your experiences to necessarily align with mine.

CentOS and CentOS Stream

CentOS (called “CentOS Stable” in this article) was originally founded as a “bug-by-bug” copy of Red Hat Enterprise Linux (RHEL). The project was founded around the idea, that one would take the source code that Red Hat published, remove the branding and provide packages and installable disks/images to the public. Other than RHEL it wouldn’t cost any license fee but there would also only be user-to-user-support via mailing lists, IRC and alike. Later on, after some turbulences, Red Hat decided to start to sponsor the project and employ various full time contributors.

Last year, 2019, CentOS Stream was introduced. CentOS Stream was positioned to help to bring the CentOS Community and the RHEL development closer together, by making it the place where new RHEL development as well as CentOS development should take place, improving both, RHEL and as consequence also the CentOS rebuilds.

CentOS goes all in on CentOS Stream

This week Red Hat announced that “CentOS will shift focus to CentOS Stream” and that everyone should upgrade to CentOS 8 Streams as the CentOS Stable builds for CentOS 8 will run EOL at the end of 2021.

This reduces the life-time of CentOS 8 drastically. The official, originally announced EOL for CentOS 8 was 2029 and was therefore cut by 8 years to 2021.

Why people are unhappy about this…

I’m definitely not happy with this change. First of all, there is a break in EOL expectation that has no other reason than “we found something else more interesting”. Second, this announcement breaks the promise by Red Hat’s CTO that was made when CentOS Stream was introduced, stating that CentOS stable releases won’t go anywhere.

Then again, I don’t really see the value of this change for the majority of CentOS users. I can definitely see it for developers and why organisations developing in and around CentOS would want to use streams. But the stable releases provide an immense value the community. And I honestly miss the look at those users completely. This talk by the “Community Platform Engineering” group was so bizarre to me, because it talked about the consequences of this change and CentOS Stream and it didn’t even mention the vast majority of people that use CentOS. People that take the software from the internet, install it on a bunch of machines, and just consume it. No, instead it talks about how great this change is for CentOS desktops. I. have. never. seen. CentOS. on. a. desktop. At least not outside of a VM. But I have seen the unmentioned thousands of installations of CentOS installed by medium to small organisations, that are managed by one up to a hand full of admins.

CentOS Stream is a build to report bugs. “CentOS Stream is Continuous Delivery” is the title of a blog that states:

Then, each change needs to be explicitly verified to a RHEL quality (mostly by Quality Engineering) before it can land in the RHEL nightly builds. […] the RHEL nightly composes are already delivered in CentOS Stream

Why does one have nightly builds? To have people using it and report bugs before those bugs make it into the final product. Nightlies are not for production unless you test them to a production ready degree, which means all test are automated or they are no longer nightlies.

CentOS Stream is basically a RHEL beta1. Doesn’t mean it’s completely unstable or bad, but when it would be production-ready then one wouldn’t need to derive stable RHEL releases from it.

And what makes the whole situation a lot worse is that Red Hat is not unaware of that. The initial statement already mentions it:

If you are using CentOS Linux 8 in a production environment, and are concerned that CentOS Stream will not meet your needs, we encourage you to contact Red Hat about options.

So people are basically encouraged/told to buy RHEL 8. This is bad in so many ways. First of all, it makes the entire CentOS project suddenly an upseller for RHEL.2 Second, it highlights the awareness of the need for CentOS 8 while also taking it away.

To make this even more clear, Red Hat explicitly states so in their own announcement of CentOS Stream:

CentOS Stream isn’t a replacement for CentOS Linux

Let’s talk about options

With all this out of the way, let’s talk about a constructive way to go on from here.

The simplest option might be to swallow the bitter pill and go CentOS Stream. I honestly think it won’t be terrible. But the way this was forced onto CentOS users makes it hard for me to accept that.

Second, you can embrace the wonderfulness of this change even more and decide that you want encourage this by throwing money at Red Hat by buying RHEL and enjoy your time with subscription-manager in all its beauty.

Third, change the distribution. When you are so disappointed of CentOS, vote with your feet. Go somewhere else, there are plenty of options!

If you enjoy big companies behind your distro, then Oracle Linux might be an option. The distribution is also based on RHEL, like CentOS and fully compatible. They even have a centos2ol script.

There is also Rocky Linux, a reboot of the original CentOS Community spirit being a “bug-by-bug” clone of RHEL. It was founded by the same people that founded CentOS originally. But the bad news, there isn’t an ETA yet3, for any actual builds of this distribution. Therefore you’ll have to see how it develops over this year.

But maybe you are done, with RHEL clones. If you still enjoy RPM-based packages, then OpenSUSE might be a new home for your production.

And last but not least, you can of course also just go ahead and install Debian or Ubuntu on your machines. Both are distros with long LTS life cycles and fully established in the Linux ecosystem.

My infrastructure and CentOS

As a final remark I want to talk about how I will go forward with this. Luckily my entire infrastructure is currently build on CentOS 7. So the EOL announcement doesn’t apply to me, as CentOS 7 is still going EOL as originally planned.

But I decided that I will not use CentOS 8 or now CentOS 8 Streams as future distribution. This was already a topic before this whole announcement, but cemented it now.

I’m currently looking into OSTree-based distributions in combination with containers as a preferred solution here. But we will see where this leads. Given that my setup is fully containerized Fedora CoreOS is actually quite attractive, but explaining my concerns about that, would lead completely off-topic.

To sum it up, I’m definitely not going anywhere towards CentOS 8 or CentOS 8 Streams for technical but now also due to organisational reasons.

PS: Feel free to join on Matrix or hit me on Mastodon with your takes on the whole situation.

  1. Even when the project itself positions itself against this 

  2. Someone might want to point out that it already was, and I would agree, but usually it wasn’t that straight to the face and more focused on one’s support needs. 

  3. By the time of writing this article (2020-12-12)