Future of CentOS
In December 2020, the CentOS Project announced, that it will shift focus from CentOS Linux to CentOS Stream: "The future of the CentOS Project is CentOS Stream...".
But what does this mean? How is CentOS Stream different? Is CentOS now a rolling distribution? In this article, I will explain the situation.
The CentOS Project is a community-driven project, that wants to provide a robust open source ecosystem around a Linux platform. In the past, it was often referred to as the "Red Hat Enterprise Linux (RHEL) clone" or "free RHEL". Practically, everybody is able to use a binary compatible fork of RHEL for personal or professional use, maintained by a community of developers and enthusiasts.
You may have heard, that "CentOS Linux is dead" and "CentOS Linux 8 is EOL" or that "you have to migrate". But what is the reason for this kind of messages, and where do we go from here? To get a better understanding of the shift, we have to have a look at the history, first.
2014 - 2019
In 2014, Red Hat and the CentOS Project announced, that both are joining forces.
[...] joining forces to build a new CentOS, capable of driving forward development and adoption of next-generation open source technologies.
With this change, many CentOS contributors now were paid to work full-day on CentOS Linux and develop the platform. Red Hat also founded Fedora way back in 2003 and for me, it seemed quite natural to have everybody at one table.
Up to 2019, CentOS Linux was "just" a downstream fork of Red Hat Enterprise Linux (RHEL).
The result was a bug-per-bug binary compatible RHEL clone. There are some issues here, though. The CentOS Project was quite slow paced, when it came to patching. A security fix for RHEL very often took days, sometimes even weeks to be present in CentOS Linux. Reporting bugs to CentOS Linux was also a major issue, since it was very tedious to identify if a bug was already addressed in RHEL or even present in RHEL.
2019 - 2021
In September 2019, the CentOS Project released CentOS Stream and introduced it as "[...] the biggest step forward the CentOS Project has ever undertaken." on the mailing lists. Red Hat also wrote an article about the ideas and background of CentOS Stream.
We ended up with a construct like described in the below picture.
Contributing to CentOS was quite easy now. You could directly develop for Fedora or CentOS Stream and see the changes in CentOS Linux (at some point in time). But, it should be quite clear, that such a construct is very complex and may not survive very long.
In December 2020, CentOS shocked the community with 2 announcements in one article.
- CentOS Linux 8 will be EOL in December 2021, already.
- CentOS Stream will be the new focus of the project.
The community understood: "CentOS Stream is the RHEL Beta" or "Red Hat killed CentOS Linux". Both is true and false at the same time.
First let's clarify some facts, based on this article and the FAQ:
- CentOS Linux will die, that's for sure.
- CentOS Stream is not a beta. It is more the upstream of RHEL, like Fedora was the upstream of RHEL previously or like Debian is the upstream of Ubuntu.
- Most of the RHEL development already happens in CentOS Stream, including all the previously established quality mechanisms in RHEL. CentOS Stream is now
- CentOS Stream is not a rolling release like Arch Linux. It is still downstream of Fedora, but "just ahead" of RHEL.
- There will be major releases for CentOS Stream, but no minor releases. Instead, you will get a constant stream of bug fixes and minor improvements.
Putting everything together, we will end up with a process like shown in the below diagram.
Furthermore, we will have major releases, based on Fedora and RHEL releases, based on CentOS Stream like shown in the below picture.
For me, CentOS Stream is more "RHEL DevOps" or "CentOS continuous", where I am allowed and requested to open bug reports and issues for. I can also help to improve CentOS directly, without getting a response like: "CentOS is a bug-per-bug, feature-per-feature replicate of RHEL".
Unfortunately, this does not suite all needs. Many projects are based on CentOS Linux and require the benefits of a stabilized API/ABI or long-term-support.
Options and Alternatives
Some of us may have the need to have a binary compatible, free RHEL'ish distribution at hand. Some of us may need a distribution with a decade of support. And some of us are just happy to see new options available.
If you are not happy with CentOS Stream for one or another reason, you may find something in this section.
The AlmaLinux OS Foundation just announced the availability of its RHEL fork and released the first stable version on March 31st. AlmaLinux OS is backed and developed by CloudLinux and provides an easy migration path from CentOS Linux 8. AlmaLinux OS will be in the spotlight in one of the next articles.
Rocky Linux is another community fork of RHEL. The project was created by one of the initial founders of the CentOS project. The idea is, to have a 1:1 binary compatible RHEL clone, built entirely by the community. Unfortunately, there is no release or beta available, yet. It is expected to be released this year. You can follow the regular updates here.
Free RHEL subscriptions
With the shift of CentOS, it was also announced, that Red Hat will provide additional options for the subscription based Enterprise Linux. In January 2021, the well known developer program was extended to production use. The developer program is existing for quite some time now, and I am using it since 2018 for my professional work. Having the option to also use the subscription for up to 16 production machines is awesome.
Just a month later, Red Hat also provided additional information for Open Source projects. It was already possible to get in touch with Red Hat to get free subscriptions for Open Source projects, but now we are having an official way to apply to these.
Oracle Linux is around for quite some time already. In the past, you needed to create an Oracle account to use Oracle Linux. Just a week after the announcement of CentOS Stream, the Oracle Linux website has seen updates, stating "how to migrate". You also no longer require an account to use Oracle Linux.
I will check Oracle Linux in a spotlight article soon.
Debian / Ubuntu
In several community posts, it was considered to migrate to Debian or Ubuntu. Having a look at these may be worth it for one or the other. From a professional perspective, I am seeing some issues here.
- Debian/Ubuntu exclusive packages like apache2ctl (a2ensite, etc.) and several other patches for paths and packages must be considered.
- The ecosystem is completely different and must be adjusted. If you use Foreman, Cockpit, OpenSCAP or Podman, you may run into issues.
- Ubuntu has a ton of niche products like MaaS, snap, LXD or netplan.
For me, the shift from CentOS Linux to CentOS Stream was a needed one, and I really appreciate all the work and effort put into the release. Nobody should state, he/she is doing "continuous everything", if this cannot be applied to the underlying OS.
Nevertheless, the communication of the change and the early EOL of CentOS Linux are problematic to me. I think, summarizing it as "tech people are not good at marketing" will do the trick for me.
Furthermore, we can welcome several new options in the Red Hat family, which is a good thing, isn't it? ;)