| certifications | open source - David Zomaya
Why CentOS Linux is Going Away
In December, the CentOS Project made an announcement that rocked the open source world: they are shifting their focus from CentOS Linux to CentOS Stream. While CentOS Linux was basically a free version of the stable version of RedHat Enterprise Linux (RHEL), CentOS Stream will be based on the development branch. As a result, there are major implications for users who counted on CentOS stability.
Add to the mix changes to the CentOS 8 support lifecycle and the fact a corporate giant (IBM) is involved, and it's easy to see why this caused a stir in the open source community. For the most part, community response has been negative to say the least. Of course, there are two sides to every story. RedHat and the CentOS project put a much more positive spin on things.
Here, we'll help you unpack the details of the changes to CentOS so you can form your own opinion.
Who's involved: CentOS, RedHat, and IBM
Before we dive into what happened, let's take a look at the who's involved. Of course, the community of CentOS users and developers are directly impacted by the changes. Additionally, there are three organizations playing a key role in the story:
- CentOS. Usually, when you hear CentOS, you think of the popular CentOS Linux operating system that was first released in 2004. However, there is also The CentOS Project. The project is the driving force behind both the CentOS Linux and CentOS Stream operating systems.
- RedHat. RedHat is a company whose business model revolves around open source software, including the popular RHEL operating system that CentOS Linux is a downstream version of. In 2014, RedHat and CentOS "joined forces". While formal announcements used terms like joining forces, most viewed this as RedHat acquiring CentOS. For the most part, that is a fair assessment as RedHat owns the CentOS trademarks, contributes a large amount of resources to the project, and has a major presence on the governing board.
- IBM. In 2018, computing giant International Business Machines (IBM) announced plans to purchase RedHat for $38 billion. The deal closed in 2019.
What that means is CentOS, which stands for Community Enterprise Operating System, is effectively controlled by a subsidiary of one of the largest corporations in the world While that doesn't mean that RedHat won't act in the open source community's best interest, it is used by narratives that suggest the CentOS Stream decision had commercial motives. It's worth noting that we haven't seen any information to suggest IBM influenced the CentOS Stream decision directly. From the publicly available information, RedHat and the CentOS Project are the decision makers here.
CentOS Linux was a Rebuild of RHEL
Previously, CentOS was a rebuild of RHEL's stable version. For practical purposes, this meant CentOS was RHEL without the branding and enterprise support.
Because it is basically RHEL without the costs, CentOS Linux is popular in a wide-variety of production, testing, and learning environments. For example, CentOS is very popular in the world of web-hosting. In fact, according to W3Tech's data, which tracks Internet-facing servers, CentOS is the 3rd most popular Linux operating system — and regularly trades places with Debian at second place.
CentOS is also a popular choice in the scientific community. For example, in 2019 United States' particle physics and accelerator laboratory Fermilab announced they would use CentOS 8 instead of developing Scientific Linux 8. The idea being focusing efforts on CentOS would make CentOS an even better platform for high-energy physics computing.
Additionally, CentOS was a popular choice for developers and learners. For example, if you want to study for a RedHat certification or test before deploying to an RHEL system, CentOS was a great choice.
Simply put: for a long time, CentOS has been the preferred choice for many in need of a stable Linux operating system with long term support and those who wanted an RHEL-like environment without the RHEL cost.
Want to learn how to administer CentOS? Check out Shawn Power's CentOS training.
What Changed: CentOS Linux is Going Away, CentOS Stream is the New Focus
With the CentOS Project's announcement, we now know these changes are coming:
- CentOS Linux is going away, with CentOS Stream becoming the project's focus.
- CentOS Linux 8, released in 2019, will receive updates until the end of 2021, meaning CentOS 8's lifecycle is significantly shorter than the community expected when it was released.
Let's take a look at each of those two points in more detail.
CentOS Linux vs. CentOS Stream
Before this announcement, the operating system most people meant when they said CentOS is what we're calling CentOS Linux here. It is a rebuild of a given stable version of RHEL. For example, CentOS 7 was based on RHEL 7 and CentOS 8 was based on RHEL 8.
Because CentOS Linux was downstream of RHEL (downstream means built using code from the upstream RHEL version), users knew they could expect the same stability, performance, and application compatibility from CentOS that they would from RHEL. Additionally, like RHEL, CentOS Linux had roughly 10-year support lifecycles.
CentOS Stream is changing things. Stream is upstream of production RHEL meaning changes in CentOS Stream occur before they happen in RHEL. If things go according to plan, those changes end up in RHEL's stable release eventually, but it's not guaranteed. With CentOS Stream, users will be a minor version ahead of RHEL (e.g. if RHEL is 8.3, Stream is 8.4). Additionally, Stream will use a rolling release approach instead of a point releases approach to releases, which has stability implications.
Because CentOS Stream will effectively be the development version of RHEL and having rolling releases, it is viewed as inherently less stable. Additionally, with CentOS Stream 8 being released in 2019 and having an End Of Life (EOL) in 2024, it seems Stream won't have the 10 year support lifecycle of earlier CentOS Linux versions.
Where does Fedora fit in?
If you're familiar with Fedora and its relationship to RHEL, you might be wondering why we need CentOS Stream at all. After all, Fedora is a testing bed for RHEL already. Traditionally, changes in the RHEL world went like this assuming tests/checks pass at each stage.
Fedora → RHEL → CentOS Linux
Stream will sit between Fedora and RHEL. Fedora will still be the bleeding edge where most changes occur first. Stream will sit midstream and be more stable than Fedora, providing a close proxy for what the next stable RHEL build will likely be. Fedora is the testing ground for the next major RHEL release. CentOS Stream is where potential changes for the next minor release of RHEL go. So, with Stream in the mix things look like this:
Fedora → CentOS Stream → RHEL
What Changes With CentOS 7 and CentOS 8
There are two actively supported versions of CentOS Linux today: 7 & 8. For CentOS Linux 7, which was released in 2014, things are simple: maintenance releases will occur until June 30, 2024 at which point CentOS 7 becomes EOL.
For CentOS Linux 8, which was released in 2019, EOL was going to occur in 2029. However, after the announcement, CentOS Linux 8 will go EOL at the end of 2021.
Community Response to CentOS Changes
We're putting it lightly when we say there has been a negative response from many in the open source community. Some have called it "suicide" for the CentOS Project. Comments on the changes on Hacker News included terms like "awful" and "money grab". There's even a Change.org petition to revert the decision that has over 11,000 signatures to date.
While we can't speak for each individual arguing against the changes, here are some of the key points made that suggest the switch is a bad thing:
- The support cycle for CentOS Linux 8 changed, this hurts community trust. Even if you think the overall changes are a good thing, this is a tough point to defend. If we look at the Wayback Machine and check what CentOS Linux 8's EOL date was before we can see maintenance updates were planned until May 31 2029. If we check the current version of that link today, we can see that date changed to December 31, 2021. With so many people depending on long term CentOS support, drastically changing that date well after a product release understandably damages trust.
- CentOS Linux was just as stable as RHEL, CentOS Stream can't be. Generally, when we talk about stable releases of software, we mean well-tested versions with minimal changes that could impact compatibility or performance. RHEL's stable release fits that definition, and because it was built from RHEL code, so does CentOS Linux. Additionally, CentOS Linux had the same roughly 10-year support lifecycle as RHEL. Because CentOS Stream is upstream of RHEL, it will inherently have changes that stable RHEL doesn't, at least not yet. It also seems like it will have significantly shorter support lifecycles.
- It was a profit-motivated move. The idea behind this argument is that RedHat, and in some cases IBM, expect that getting rid of CentOS Linux means there will be more users willing to pay for RHEL licenses. While this argument is harder to substantiate directly, it's easy to understand why people make it. A large corporation like RedHat and the end of a popular free open source operating system — one that people used in place of an operating system they charge for -— lead to people making some inferences.
Of course, while a lot of the sentiment in the open source community has been negative, it'd be wrong of us to suggest that is 100% the case. There isn't just one voice in the open source community, there are many voices.
Some of those voices have pointed out the fact that RedHat is a for-profit organization and has made it clear they don't offer support for CentOS Linux directly, so it is reasonable to expect they make decisions that support their commercial endeavors. Other voices have pointed out that while getting rid of point releases in favor of rolling releases has downsides, for many use cases it probably won't matter.
What RedHat and the CentOS Project Say
Of course, despite the negative feedback, RedHat and the CentOS Project have their reasons for the changes. Viewed from that perspective, here are some of the possible upsides of the decision.
- With Stream the CentOS community will have more influence on RHEL. With Stream being upstream of RHEL, developers and other members of the CentOS community should be able to influence the future of RHEL.
- Stream can enable quicker innovation. The upside of Stream being less stable and having rolling releases is feedback loops are shorter and change can occur faster. This means there can be more innovation and the project can adapt to change quicker. Look at it this way: on the spectrum of bleeding edge to stable, CentOS Stream will sit between Fedora (bleeding edge) and production RHEL (stable). Done right, that can be a great place for an operating system to exist.
Additionally, there have been steps to address some of the concerns the community had about losing the "free as in beer" version of RHEL role CentOS Linux played. For example, RHEL will be available for free for up to 16 production servers with a developer subscription.
Why Not Both?
Given that CentOS Stream and CentOS Linux serve two different purposes, you may wonder why the project didn't keep both. After all, CentOS Stream and CentOS Linux existed side-by-side before the announcement and will continue to do so for all of 2021. The Register did an interview with Brian Exelbierd that shed some light on this point.
In short, RedHat decided to focus their CentOS investment only on CentOS Stream. Given RedHat's influence and the engineering resources they dedicate to CentOS, that led to the decision to end CentOS Linux altogether.
Alternatives to CentOS
As you might expect, the changes to the CentOS Project have left many looking for CentOS alternatives. One choice is to move away from RHEL-like operating systems altogether and choose something like Ubuntu or Debian. However, that path does not really fill the same niche CentOS Linux did. To their credit, RedHat is attempting to give users some options like with the free developer subscriptions. If you're looking for a CentOS alternative that fills that "like production RHEL but without the cost" niche, and RedHat's own options aren't right for you, here are some popular choices:
- Rocky Linux. This project was created as a direct response to the CentOS changes. Rocky Linux aims to be a "100% bug-for-bug compatible" version of RHEL. This project is led by Gregory Kurtzer, a CentOS founder. It already has a big-name sponsor in AWS but the project's FAQ makes it clear they want to keep Rocky Linux in the hands of the community.
- Project Lenix. This project was started by CloudLinux. Like Rocky Linux, Project Lenix it is a response to the CentOS Project's change in focus. Project Lenix will be a 1:1 binary compatible RHEL fork. Because CloudLinux also makes CloudLinux OS, they have plenty of experience with RHEL forks.
- Oracle Linux. If you need a free operating system that is already 100% application binary compatible with RHEL, there's Oracle Linux. Oracle offers support subscriptions for businesses that need it.
- Springdale Linux. This project is maintained by members of Princeton University and the Institute for Advanced Study. Springdale Linux is based on RHEL source code. It includes some additional computational and experimental packages not in RHEL.
- ClearOS. This operating system is based on CentOS (which means it’s based on RHEL too). ClearOS is maintained by Hewlett Packard Enterprise (HPE) and Clear Center.
Final Thoughts: Form Your own Opinion & Take Action!
With all the changes, there are a lot of facts to take in. Consider facts and opinions from both sides and form your own opinion.
From there, you can take action that makes sense to you. That might mean anything from spinning up a home lab using an RHEL developer license to contributing to an open source project like Rocky Linux.