Ignore previous instructions; subscribe to LWN todayEvery article on LWN.net is written by humans, for humans. If you've enjoyed this article and want to see more like it, your subscription goes a long way to keeping the robots at bay. We are offering a free one-month trial subscription (no credit card required) to get you started.
For years, the CentOS distribution has
been a reliable resource for anybody wanting to deploy systems with a
stable, maintained Linux base that "just works". At one point, it was reported
to be the platform on which 30% of all web servers were run. CentOS has
had its ups and downs over the years; for many, the December 8 announcement
that CentOS will be "shifting focus
" will qualify as the final
"down". Regardless of whether this change turns out to be a good thing, it
certainly marks the end of an era that began in 2004.
How we got here
CentOS was born out of an effort to build and distribute packages from the RHEL source provided by Red Hat. The initial CentOS release — CentOS 3.1 (based on the RHEL 3 release), came out in March 2004. There was also a CentOS 2 release (based on RHEL 2), but that showed up two months later. CentOS quickly attracted attention from users looking for a relatively stable system during a time when distributors were doing their best to separate free "community" distributions from the paid-for "enterprise" variants. LWN first mentioned CentOS in February 2004, and looked more closely in early 2005.
CentOS proved to be the stable base it promised to be; that CentOS 2 release, for example, was supported until June 2009 and CentOS 3 had support until November 2010. There were some challenges, though; also in 2009, project co-founder Lance Davis disappeared, along with his control over the project's domain name and bank account. That situation was eventually worked out, happily, but not before the project survived some significant turbulence, forcing it toward more transparency in its governance and finances.
The project also had trouble making timely releases in 2009, a problem that would resurface the following year — and often thereafter. Creating a CentOS release is not a simple or particularly fun job, so volunteers have often proved hard to come by. In 2011, this problem caused the project to fall dangerously behind on security updates while trying to produce the CentOS 6.0 release — a problem that would plague the project for much of the year. In 2012, Oracle tried to use the update delays as a way to market Oracle Linux to CentOS users.
At the beginning of 2014, Red Hat acquired the
CentOS project, taking ownership of the trademarks and hiring several
CentOS developers. At the time, a governing board was set up, and Red Hat
promised that the project would be run in a "public, open, and
inclusive
" way. A small fuss over
version numbers raised concerns about how a post-acquisition CentOS
would be run but, for the most part, things continued as before, just on a
more solid footing. The project announced a
rolling release at the end of that year.
After that, CentOS appeared to settle into a steady routine of relatively predictable releases; the project mostly managed to stay out of the news. The Scientific Linux distribution, another popular RHEL-based offering, stopped making new releases in 2019, with sponsor Fermilab stating that it would switch to CentOS 8 instead. With support promised through May 2029, that seemed like a good bet. CentOS had become boring, predictable, and reliable.
CentOS Stream
In September 2019, a blog post by Red Hat CTO Chris Wright introduced CentOS Stream, describing it this way:
CentOS Stream is an upstream development platform for ecosystem developers. It is a single, continuous stream of content with updates several times daily, encompassing the latest and greatest from the RHEL codebase. It’s a view into what the next version of RHEL will look like, available to a much broader community than just a beta or "preview" release.
This new offering was parallel to the existing CentOS distribution, Wright
said; "this means that nothing changes for current users of CentOS
Linux and services
". And nothing did change for most of those
users, who paid little attention to the CentOS Stream product.
That story changed on December 8, though, as can be seen in another
blog post from Wright: "we’ve informed the CentOS Project
Governing Board that we are shifting our investment fully from CentOS Linux
to CentOS Stream
". No longer would CentOS Stream be a parallel
offering; now it is the only offering. He added that:
CentOS Stream isn’t a replacement for CentOS Linux; rather, it’s a natural, inevitable next step intended to fulfill the project’s goal of furthering enterprise Linux innovation.
To drive home the point that the deal has truly been altered, Red Hat
announced that the end-of-life date for CentOS 8 had been moved
forward to the end of 2021, taking away over seven years of support that
had once been promised for that release. CentOS users who are concerned
that CentOS Stream might not be suitable for production use are encouraged
to "contact Red Hat about options
".
To a first approximation, CentOS Stream looks a lot like CentOS, but the relationship between the two distributions and RHEL differs. While traditional CentOS is derived from official RHEL releases, CentOS Stream gets (most) updates before they go into RHEL. It is, in effect, a rapidly changing snapshot of what the next RHEL release might look like. A package that might update once in CentOS, after being released in RHEL, may update several times in CentOS Stream before becoming an actual RHEL package.
This new arrangement is better for some users. Anybody who wants to ensure that their code will work with the next RHEL release can test on CentOS Stream and get an early warning of any problems. Users who would like to get fixes more quickly may also like CentOS Stream better. For many production users, though, the prospect of "updates several times daily" lacks appeal. These users tend to want their platforms to be stable with minimal changes; a system that looks a lot like the beta test for RHEL is not what they had in mind. The unhappiness in the CentOS user community is thus easy to understand. "Furthering enterprise Linux innovation" wasn't their goal for CentOS.
Now what?
Most users understand that Red Hat was never under any obligation to maintain a stable platform for them while asking nothing in return. But many of them had made commitments based on the promise of support for CentOS 8 into 2029; Red Hat's decision to back away from that promise feels like a betrayal of trust. Had Red Hat left the CentOS 8 schedule unchanged but announced that there would be no CentOS 9 release, the level of complaining would have been much lower.
To many, the decision also makes a mockery of the allegedly open nature of CentOS project governance. This decision was handed down from a Red Hat corporate office and the CentOS board had, as this message from longtime CentOS contributor and board member Johnny Hughes makes clear, no real prospect of changing it. The nature and goals of the CentOS project (as seen by its users) have been fundamentally changed by corporate fiat, and the "community" had almost no say in the matter.
So now CentOS 8 users have one year in which to implement any changes they will make in response to the end of support. (Note that the CentOS 7 support schedule remains unchanged, with support going through June 2024). Some may find that CentOS Stream works well enough for them in the end. It is, after all, unclear how unstable this distribution will actually be; presumably all packages added to it will have been through the RHEL quality-assurances processes. CentOS Stream could prove to be mostly a marketing artifact — a way of making CentOS look more dangerous to drive RHEL subscription sales without actually making CentOS worse.
Many users may not want to take that chance, though. Some may sign up for RHEL subscriptions, but most are likely to go looking for alternatives. There is a lot of talk about creating a new community-based, CentOS-like project to rebuild RHEL as before. These efforts might succeed, but it is worth remembering how CentOS struggled before it got proper financial support. Creating this kind of distribution involves a lot of tedious, detailed work, and volunteers to do that work will still be hard to find.
There are other existing community-based distributions that offer a long-term stable platform, of course. These include Debian, Ubuntu LTS, openSUSE Leap, and various others. Most of these are likely to be entirely suitable for a wide range of production deployments. Each has its own quirks, but so does CentOS.
An alternative that some may consider is to give up on the idea of an "enterprise" distribution altogether. These distributions were created in an era when one would buy an actual, physical computer, deploy it somewhere, and expect it to do its job for years. Such systems still exist, but it is increasingly common to just order up new virtual machines when there is a job to be done, and to discard them when they are no longer useful. The value offered by long-term-stable distributions in this new world is less clear. Many systems that are deployed on CentOS might actually be better off using distributions with near-mainline kernels and more current software.
It will take time for the dust to settle from this change, and Red Hat may
have burned some community trust that will prove hard to get back. But the
community should also remember that CentOS has been an immensely valuable
gift from actors across the free-software community, with Red Hat playing a
large
part in its making and support. We may or may not like this change, but a
"thank you" to Red Hat for its part in the creation of 15 years (so
far) of CentOS is entirely appropriate.