Table of contents of the article:
Red Hat has decided to stop making RHEL source code public. From now on it will only be available to customers, who cannot legally share it.
A seemingly modest blog post by a senior Hatter announces that from now on the company will only publish the source code of its CentOS Stream product to the world. In other words, only paying customers will be able to obtain the Red Hat Enterprise Linux source code. And under the terms of their contracts with Red Hat, that means they can't publish it.
Redhat RHEL 9 going closed source? At least public… probably still get source if you have an active redhat subscription.
Probably means the death of Rocky, Alma, and Oracle Linux though… https://t.co/1QiM1mDuSO— Chris Titus Tech (@christitustech) June 22, 2023
According to the Reg FOSS Desk, the blog post is so full of corporate jargon that it's almost obscure. However, we contacted Red Hat's press office and the company confirmed that the release indeed says what we deduced by reading between the lines. This is bad news for downstream projects that rebuild RHEL source code to produce compatible distributions, such as AlmaLinux, Rocky Linux, EuroLinux, and Oracle Unbreakable Linux.
Differences between CentOS Stream and RHEL
When we talk about the differences between CentOS Stream and Red Hat Enterprise Linux (RHEL), it is essential to start with their placement within the development cycle of the Red Hat ecosystem. These two distributions occupy two distinct, but fundamental, places in the evolutionary process of this popular open source operating system.
CentOS Stream: RHEL Preview
CentOS Stream represents an early stage, or as one might call it, an “advanced stage of development”. We could think of it as a continuous beta, the place where new ideas, features and improvements are tested and refined. Each planned RHEL update is first tested in CentOS Stream. This makes CentOS Stream a crucial test field, a laboratory for innovation and optimization before moving on to final implementation in RHEL.
RHEL: The Ripe Fruit of Experimentation
RHEL, on the other hand, is the final destination for everything explored in CentOS Stream. After testing and refining features on CentOS Stream, these updates are then incorporated into RHEL. This distribution, therefore, represents the final product, matured and ready for production, the ripe fruit of the experimentation and refinement performed in CentOS Stream.
Compatibility and use of downstream distributions
As opposed to CentOS Stream, we have versions of AlmaLinux, RockyLinux and the former CentOS Linux. These distributions were downstream of RHEL, i.e. derived from the same source code as RHEL, thus ensuring perfect compatibility. These versions, essentially reconstructions of RHEL source code, could be used at no cost to the user while maintaining high compatibility with RHEL drivers and applications.
The key difference here is that with CentOS Stream, you don't get the same level of compatibility that you had with these downstream distributions. CentOS Stream is more of a “project in progress” than a stable and fully compatible release of RHEL.
Practical applications of CentOS Stream and RHEL
If you are a partner company developing products or drivers to run on RHEL, or a customer who wants to stay up to date with the latest news, CentOS Stream could be very useful. It provides an overview of what to expect in future RHEL releases and allows partners and customers to adapt in advance.
However, for the average user who just wants to run RHEL without having to pay, or those who want to build their own version of RHEL, CentOS Stream offers fewer benefits. Also, given the evolving nature of CentOS Stream, we suspect that the majority of the RHEL user community may not be particularly interested in this distribution, which may be one of the reasons Red Hat made its latest move.
Community reactions
In various online forums, there are protests from users of downstream distros, just like when Red Hat canceled CentOS Linux a few years ago. Again, people are talking about betrayal of trust, violation of the GPL, and so on. However, as far as we can see, Red Hat is complying perfectly with the terms of the GPL, which only requires you to make the source code available to people who use the binaries built from it: in other words, to its paying customers. The key point is that to get those binaries, customers – as well as developers on free accounts – must accept a license agreement and are bound by a contract, which overrides the GPL license of the code itself.
In one sense, this could be interpreted as a logical continuation of the move it made when the company brought CentOS in-house in 2014. That move legitimized this particular one of several existing RHEL rebuilds, which resulted in the rest of they essentially shut down their efforts – except of course Oracle, which has sufficient funds to fund Oracle Linux, complete with cheaper enterprise support contracts, an improved Btrfs-compatible kernel, and so on.
After giving the move time to successfully take down most of the clones, Red Hat then killed off its own official free version of its paid flagship product. Instead, he decided to offer a free trial version, an announcement he made accompanied by very positive language about community participation, and so on. In reality, what he was really doing was cutting out what could be seen, from his point of view, as a bunch of parasites. The move was accompanied by the free production release of RHEL for developers – but only up to 16 machines.
Let's talk about the impact of yesterday's announcement from RHEL. https://t.co/jbvA6oJhVu
— AlmaLinux (@AlmaLinux) June 22, 2023
The guys at AlmaLinux have already announced that there is no need to panic and users can look forward to their plans after understanding more clearly how to fix the problem with Red Hat.
The Future of Downstream Distributions
The door has not been completely closed. Indeed, if we understand correctly, Stream is periodically resynchronized with RHEL when there is a new major release. So when RHEL 11.0 is released, Stream will be briefly in sync with it – meaning that downstream distros could take a copy of the code at that very moment, and build a new version compatible with that RHEL release. The problem for downstream is that from that point on, they won't be able to get usable source code of each subsequent release and various ongoing updates.
Some commentators are pointing out that it is possible to sign up for a free Red Hat Developer account and legitimately obtain the source code that way. This is perfectly true, but the problem is that the license agreement you have to sign to get that account prevents you from redistributing the software.
So while downstream distros could still get the source code of the software, they can't actually use it. In principle, if they make major changes, they can share them, but the whole raison d'être of RHEL-compliant distros is to avoid major changes and thus maintain "bug-for-bug compatibility".
Sure, they could adopt a “publish and be damned” attitude and do it anyway. At best, the probable outcome is immediate cancellation of their membership and account. This might work but it will lead to a game of cat and mouse: downstream distributors continually opening new free developer accounts, and Red Hat potentially clipping downloads and trampling offenders' accounts. It would not be a sustainable model.
Worst-case scenario, though, they could risk being sued into oblivion.
In summary, it will still be possible to obtain the source code, through several avenues – even if some of these involve very serious restrictions. For now, official reactions from AlmaLinux and Rocky Linux are cautiously optimistic, although there are signs of concern in the Rocky Linux forum thread.
The past of CentOS
In 2011, Red Hat changed the way it distributed its source code packages in a way that certainly seemed designed to make life difficult for rebuilds. We don't know the company's motivations, and it certainly won't tell us, but perhaps that move wasn't effective enough and therefore led to actually bringing CentOS into the house.
As FOSS desk said when CentOS Stream 9 came out, we think Red Hat's key mistake was adopting CentOS Linux in the first place. The move supported and legitimized a free competitor to the company's paid commercial product. (And one that was struggling at the time, which shouldn't have been of any concern to Red Hat.) If the plan was to stump Oracle in any way, it backfired, but it certainly cut RHEL sales significantly.
Back then, downstream distributors managed to find ways around that move, and it's perfectly possible that they'll also be able to find ways around this one – but it will make the continuation substantially more difficult. It is possible that Red Hat is disturbed by the success of the new generation of rebuilds. While the bodies behind both Rocky and AlmaLinux are essentially non-profit organizations – Rocky is a public benefit corporation founded and owned by Greg Kurtzer – they are doing well.
For example, just last week, NASA licensed Rocky Linux for its internal use. CERN and Fermilab meanwhile use AlmaLinux.
CentOS Stream is presenting the move as not a big deal – as if it's simply designed to increase adoption of Stream, when in reality it looks more like a concerted attack on the burgeoning new rebuild ecosystem that arose from the cancellation of CentOS Linux.
TL; DR?
The timeline is long and complicated, and if you're starting to get confused, we don't blame you at all. The main events, and this tired old vulture's interpretations of them, happened as follows.
- 1994: Red Hat Linux released.
- 2002: The first release of RHEL, version 2.1. RHL continues as a separate product.
- 2003: CentOS released as a free rebuild of RHEL.
- 2004: The last release of RHL, version 9. The future of RHL is Fedora.
- 2014: CentOS is officially recognized by Red Hat and brings CentOS in-house.
- 2020: Red Hat announces that the future of CentOS is Stream.
- 2021: End of CentOS Linux 8.x, years ahead of schedule. Announcements of AlmaLinux and Rocky Linux.
- 2022: Release of CentOS Stream 9 and CentOS Stream 8, together with Rocky Linux 8.4 and AlmaLinux 8.4.
- 2023: End of RHEL public source code. We are unable to predict the future, but we will certainly be interested to see how the situation develops. Whether Red Hat put its foot in the face of downstream distros – or simply made life a little more complicated – we're not sure. But certainly the life of RHEL compatible rebuilds will never be the same.
Conclusions
The transformations taking place in the world of Red Hat Enterprise Linux (RHEL) and its clones, such as CentOS Stream, have created a wave of uncertainty and concern in the user community. Many wonder about the future compatibility of downstream distributions and what that could mean for the Red Hat ecosystem as a whole.
In a context where an agreement is not reached that safeguards the needs of the user community, the risk is to witness a massive exodus towards other platforms. Debian and its derivatives, such as Ubuntu, appear to be the most likely candidates to welcome these digital migrants. They offer stability, a large and active support community, and a large amount of software, all while maintaining a philosophy of open access and transparency.
Ultimately, the success of any open source platform depends on its ability to balance the needs of all of its stakeholders, including developers, end users, and business partners. The current situation of RHEL and CentOS Stream is a reminder of how delicate that balance can be and how important it is for a community to feel supported and secure in its platform of choice.