CentOS is dead, long live CentOS!

In this article, you’re going to learn about the change in focus of the CentOS project from CentOS Linux to CentOS Stream. More importantly, you’re going to learn what that means for you and any actions you might want to take as a result of this change. So, if you use CentOS in any capacity, be it professionally, for educational purposes, or just for fun, you’ll want to keep reading.

Official CentOS Announcement

Let’s start with the official announcement directly from the CentOS team on December 8, 2020. It reads:

“The future of the CentOS Project is CentOS Stream, and over the next year we’ll be shifting focus from CentOS Linux, the rebuild of Red Hat Enterprise Linux (RHEL), to CentOS Stream, which tracks just ahead of a current RHEL release. CentOS Linux 8, as a rebuild of RHEL 8, will end at the end of 2021. CentOS Stream continues after that date, serving as the upstream (development) branch of Red Hat Enterprise Linux.”

To understand this statement we first need to know exactly what Red Hat Enterprise Linux is, what CentOS Linux is, and what CentOS Stream is. I know there are many very strong emotions around this announcement, and I’ll address those in just a minute. But first, please be patient with me as I explain just a little of the relevant history around this announcement.

Red Hat Enterprise Linux

Red Hat Enterprise Linux, or RHEL for short, is a Linux distribution developed by Red Hat, Inc. for the commercial market. The primary means by which Red Hat Incorporated generates revenue is by selling subscriptions or support services to Red Hat Enterprise Linux and their other open source software products.

At the time of this recording, the publicly available prices that Red Hat charges for support per RHEL server installation starts at $349 and goes up to $2,847.  Those prices are per server, per year.

As an individual, that might sound like a good amount of money, but when you consider that there are companies that would lose tens of thousands or even hundreds of thousands of dollars per hour of downtime, then those subscription fees start to pale in comparison.

Paid Support vs Community Support

Having a company like Red Hat provide support not only for the distro itself but also for interoperability with your other enterprise infrastructure is well worth it. It’s almost like having an inexpensive insurance policy.

For example, I remember working with Red Hat on an issue a few years ago. A RHEL server I supported experienced a kernel panic. The server logs indicated an issue with the driver for the HBAs, or host bus adapters. That server was connected to our storage area network via a pair of HBAs. From what I could tell, the server and the SAN were properly configured, so I contacted Red Hat support. They were able to quickly identify the issue and provide me with a custom patched kernel to use on the system. That patch would, of course, make its way into the kernel and eventually become part of RHEL via an update.

If I were using a community-supported distribution such as Debian, I would have asked for help via a public forum, email list, or chat room and hoped one of the community volunteers with skills in this specific area would take the time to look at my issue. Now, those volunteers are amazing people who are not getting paid. They really are saints. Because they are not getting paid, they get to pick and choose which issues they’ll spend time on, what’s important to them, and so on. There is absolutely NOTHING wrong with that, and I would have had no right to demand their time or attention.

However, my company was paying Red Hat for support, which they provided per our contract with them. We paid them to make OUR issues important NOW. That kind of attention, support, and service makes it worth the subscription fee when you rely on Linux to sustain your business.

The Traditional Role of CentOS Linux

What if you, as an individual, want to learn RHEL because you want to work as a Linux system administrator at one of those companies that pay Red Hat for support? Or what if you want a proven distro with rock-solid performance for a project that will never generate any income?

Traditionally, in those cases, you would use CentOS Linux.

Red Hat Enterprise Linux is built from open source components. The Linux kernel and the supporting software are all open source. This means that Red Hat has to make its source code publicly available and that source code can be repurposed into other software.

In 2004 Greg Kurtzer took the Red Hat source code and removed all of Red Hat’s trademarked components such as logos, branding, and artwork. He then compiled that source code into a distribution. That distribution eventually became known as CentOS, the Community ENTerprise Operating System.

Now anyone could essentially run RHEL without paying for a subscription. People even labeled CentOS Linux as being bug-for-bug compatible with RHEL.

Red Hat Acquisition of CentOS

In 2014, Red Hat essentially acquired the CentOS project. Red Hat called itself a sponsor for the CentOS project while CentOS announced that it had joined the Red Hat family. Several members of the CentOS team became employees in Red Hat’s Open Source and Standards team. Also, Red Hat took ownership of the CentOS trademarks and required that the CentOS board be made up of a majority of Red Hat employees. It was clear that Red Hat wanted to exert influence over CentOS and some people in the open source community saw this as the beginning of the end for CentOS.

Red Hat itself was acquired in 2019 by IBM. This again had people speculating about the future of the CentOS project.

CentOS Stream

What is CentOS Stream? Here is the description from the CentOS site. CentOS Stream is a “Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL.”

Some people call a continuously delivered distro a rolling-release distro or a rolling distro. What this means is that the distro is being constantly updated. Instead of accumulating several bug fixes and enhancements and releasing them as a point release, such as CentOS Linux 8.1, 8.2, 8.3, and so-on, a rolling release immediately incorporates those individual bug fixes and enhancements as soon as they become available.

If you’re the type of person who installs CentOS and then runs “dnf update” every so often without much worry or testing, then the difference between CentOS Linux and CentOS Stream is going to be practically unnoticeable to you.

Fedora

Let’s quickly talk about Fedora since it was mentioned in the definition of CentOS, and it plays a role in the development process as well.

Fedora is a community-driven and community-supported distribution of RHEL. Thousands of developers who have no official connection to Red Hat Incorporated contribute to Fedora. Red Hat takes selected features from Fedora, puts those through its own testing and quality assurance process, and eventually incorporates those features into RHEL.

For example, prior to RHEL 8, you would use the “yum” command to install software. Starting with RHEL 8, that command was replaced with “dnf”.  However, the “dnf” command first appeared in Fedora 18 which was released in 2013. Starting with Fedora 22, the “yum” command was replaced by “dnf”. That was in 2015. RHEL 8 wasn’t released until 2019.

This is just one simple example of how divergent Fedora and RHEL can be.  CentOS Stream is designed to stay much closer to RHEL.

RHEL Development Process

Instead of the workflow order being:

Fedora -> Red Hat’s internal development process -> RHEL -> CentOS Linux

It now becomes:

Fedora -> CentOS Stream -> RHEL

CentOS moves from being downstream of RHEL to being just upstream of RHEL. Essentially, CentOS Stream allows the world to see what’s coming in the next version of RHEL and allows the CentOS community to provide input on the features and capabilities that will end up in RHEL.

CentOS Linux is Dead… NOT!

Despite all the claims that CentOS is dead, it is not. It is alive and well. It has simply shifted its place in the life cycle of RHEL.

If you are currently using CentOS Linux for your personal projects or using it to learn RHEL, then using CentOS Stream is still a great choice for you.

If you want to switch from CentOS Linux to CentOS Stream, it only takes 3 commands to migrate your existing installation, so the process will be painless for you.  Run these commands with root privileges to perform the migration:

dnf install -y centos-release-stream
dnf swap -y centos-{linux,stream}-repos
dnf distro-sync -y

Learning CentOS is Not a Waste of Time

I teach Linux classes, and I’ve had some of my students tell me they felt like they just wasted their time learning CentOS 8 Linux. I assured them, and want to assure anyone who has spent time using or learning CentOS, that their time was not wasted. Everything you learned to do on CentOS, can be done exactly the same way on RHEL. Likewise, if you switch to CentOS Stream, you take all that knowledge and experience with you. And if you keep using CentOS Stream, you’ll end up being slightly ahead of people who only use RHEL.

CentOS Alternatives

What if you still need or want the bug-for-bug compatibility with RHEL? The good news is that you have some options.

Red Hat Developer Program

The first option is to join the Red Hat Developer Program for free and download RHEL directly from Red Hat.

Before February 2021, you were only allowed to use RHEL for development purposes. That means you were not allowed to use it in production. Also, you could only install RHEL on one physical system and up to 16 virtual machines.

However, starting in February 2021, you can use your free Red Hat Developer subscription to run RHEL in production for up to 16 systems at no cost. 

If you are using CentOS Linux for a personal project or a small business that has 16 or fewer systems, you can switch to RHEL and not incur any subscription fees. Even though you are allowed to run RHEL in production, you can’t call Red Hat for support without a paid subscription. Systems that fall under the Red Hat Developer program are self-supported.  Of course, Red Hat makes it easy for you to upgrade your subscription to full support, but again, you don’t have to if you only need 16 servers and don’t require support beyond package updates in the distro itself.

CentOS 8 EOL (End of Life)

When CentOS 8 was first released, it was scheduled to be supported until the year 2029. For many people and businesses that already relied on CentOS 7, it was a no-brainer to use CentOS 8 for their new deployments as CentOS 7 support was, and is, scheduled to end in 2024. Also, some people had migrated some or all of their CentOS 7 systems to CentOS 8, all the while expecting them to be supported until 2029. 

When CentOS changed their focus from CentOS Linux to CentOS Stream and announced they were ending support for CentOS 8 Linux at the end of 2021 in favor of CentOS 8 Stream, people were livid. The rules were changed on them midstream. They felt betrayed. They lost trust in the CentOS project and had no respect for Red Hat, who instigated this entire series of changes.

Needless to say, these people aren’t going to migrate to RHEL, even if it is free for them to so.

Rocky Linux

Those people want to try a new distro. Remember Greg Kurtzer? He was the person that essentially started CentOS. He’s done it again and by starting another Linux distribution named Rocky Linux which is targeted at solving the same problem that CentOS was initially designed to solve.

Rocky Linux is a clone of RHEL, again with all the branding, logos, and artwork of RHEL removed.  At the time this article was written, the distro hasn’t been released, and there is no estimated date on its initial release. However, there are high hopes for this project and many people are waiting to see if Rocky Linux becomes the new CentOS.

AlmaLinux

AlmaLinux is an open-source project that also intends to fill the gap left by CentOS Linux. AlmaLinux is a binary compatible fork of RHEL 8. The plan for AlmaLinux is to match every RHEL release. The project is backed by CloudLinux, which is a for-profit company.

At the time this article was written, AlmaLinux has released its first public beta.

It’s important to note that CloudLinux has currently earmarked funding to support AlmaLinux, and since it’s not yet released, it’s hard to know if a community will grow around this distribution and be able to operate and support it independent of CloudLinux.  For example, what happens if it’s no longer in CloudLinux’s interest to fund AlmaLinux?

Oracle Linux

Oracle Linux, like CentOS Linux, is compiled from RHEL source code. Oracle Linux is, of course, distributed by the Oracle corporation. Oracle makes money from their distro by selling support to it. However, if you just want to use the software, it’s 100% free.

If you can get support for RHEL from Red Hat, why would you buy support for Oracle Linux from Oracle? If you happen to use and already pay support for Oracle Databases, it might make sense to use Oracle support for the entire stack; the database and the OS. According to Oracle’s site, their support contracts are “significantly cheaper than support from Red Hat.” Plus, Oracle does add some additional features such as their Unbreakable Enterprise Kernel (UEK) which is tuned specifically for database workloads. However, you don’t have to use that kernel and can use what they call the Red Hat Compatible Kernel (RHCK) which is the kernel compiled from RHEL’s source code.  So, if you use the Red Hat Compatible Kernel you are simply running RHEL with Oracle branding.

Oracle Linux is an option that is available today. However, some people are hesitant to switch to Oracle Linux because Oracle is a for-profit company. They fear they might end up in the same situation with Oracle as they did with Red Hat.

Summary

Let’s quickly summarize what you learned in this article.

  • CentOS 8 Linux, as a rebuild of RHEL 8, will stop being updated at the end of 2021.  Starting in 2022, the only supported version of CentOS will be CentOS Stream.
  • CentOS Stream is now the upstream development branch of RHEL. New features and capabilities will be introduced in CentOS Stream first, and then later be incorporated into RHEL.
  • For those who are comfortable with a rolling distro, switching to CentOS Stream will be the easiest migration path.
  • For those who need 100% bit-for-bit compatibility with RHEL and do not want to pay a subscription fee, there are a few options.
  • If you plan to have 16 or fewer installations, for either production or non-production workloads, then you can use a free Red Hat Developer subscription and run RHEL.
  • Oracle Linux, which is a rebuild of RHEL, is also an option as it is free to use on an unlimited number of devices.
  • Next, there is AlmaLinux, which is currently sponsored by Cloud Linux Incorporated.
  • Finally, Rocky Linux is a community-driven distro led by the founder of the original CentOS project.

I sincerely hope this article cleared up some of the misconceptions around the changes to the CentOS project. I also hope it has given you enough information to decide what changes you are going to make in light of the shift from CentOS Linux to CentOS Stream.

If you enjoyed this article, then I’m sure you are going to enjoy our Linux videos and courses.