How AlmaLinux stays Red Hat Enterprise Linux compatible without Red Hat code

It's not easy, but it can be done by pulling largely from the CentOS Stream codebase.
Written by Steven Vaughan-Nichols, Senior Contributing Editor
ICHAUVEL/Getty Images

RALEIGH, NC -- AlmaLinux is creating a Red Hat Enterprise Linux (RHEL) without any RHEL code. How is that going, you ask? benny Vasquez, chairperson of the AlmaLinux OS Foundation, came to the open-source community convention All Things Open here to explain just that.

This has become an issue because Red Hat recently changed the rules on how people could use RHEL code in their own Linux distributions. The change left RHEL clone distributions -- like AlmaLinux, Rocky Linux, and Oracle Linux -- in the lurch. Under Red Hat's new requirements, developers could no longer easily create RHEL-compatible operating systems. 

Also: The best Linux distributions for beginners

The result? Oracle trash-talked Red Hat and vowed to maintain RHEL compatibility. The Rocky Enterprise Software Foundation will use other methods to get RHEL code. SUSE, which had not been a RHEL clone player, said it would fork RHEL (with some help from Rocky). More recently, all three of the above have united on a plan to create a RHEL-compatible Linux code base, the Open Enterprise Linux source code repository.

And what of AlmaLiniux? It took a different path. Rather than fight with Red Hat over whether the IBM subsidiary could restrict the use of its RHEL code, the AlmaLinux OS Foundation board, Vasquez wrote, "decided to drop the aim to be 1:1 with RHEL. AlmaLinux OS will instead aim to be Application Binary Interface (ABI) compatible.

What does that mean? AlmaLinux is still in the RHEL clone business: "We will continue to aim to produce an enterprise-grade, long-term distribution of Linux that is aligned and ABI compatible with RHEL in response to our community's needs, to the extent it is possible to do, such that software that runs on RHEL will run the same on AlmaLinux." 

That's easy enough to say, but how do you do it? AlmaLinux explained it will use the CentOS Stream source code that Red Hat continues to offer to all and sundry. This is also the codebase Red Hat uses to create RHEL. 

How exactly will that work? That's what Vasquez came to All Things Open to explain. AlmaLinux, just like RHEL, is now largely based on CentOS Stream. Additional code is pulled from Red Hat Universal Base Images, and upstream Linux code. 

Vasquez added: "Of all the packages, 99% still exactly look at RHEL." Of that minute fraction that doesn't, "about 24% of those packages require manual patching." 

Also: Linux might be your best bet for heightening your desktop computer security

The hardest part is Red Hat's Linux kernel updates because, added Vasquez, "you can't get those kernel updates without violating Red Hat's licensing agreements." Therefore, she continued, "What we do is we pull the security patches from various other sources, and,  if nothing else, we can find them when Oracle releases them."

Vasquez did note one blessing from this change in production: "AlmaLinux, no longer bound to Red Hat's releases, has been able to release upstream security fixes faster than Red Hat. "For example, the AMD microcode exploits were patched before Red Hat because they took a little bit of extra time to get out the door. We then pulled in, tested, and out the door about a week ahead of them."

The overall goal remains to maintain RHEL compatibility. "Any breaking changes between RHEL and AlmaLinux, any application that stops working, is a bug and must be fixed."

Also: Red Hat's new rule: Open source betrayal?

That's not to say AlmaLinux will be simply an excellent RHEL clone going forward. It plans to add features of its own. For instance, Red Hat users who want programs not bundled in RHEL often turn to Extra Packages for Enterprise Linux (EPEL). These typically are programs included in Fedora Linux. Besides supporting EPEL software, AlmaLinux has its own extra software package --  called Synergy -- which holds programs that the AlmaLinux community wants but are not available in either EPEL or RHEL. If one such program is subsequently added to EPEL or RHEL, AlmaLinux drops it from Synergy to prevent confusion and duplication of effort.

This has not been an easy road for AlmaLinux. Even a 1% code difference is a lot to write and maintain. For example, when AlmaLinux tried to patch CentOS Stream code to fix a problem, Red Hat was downright grumpy about AlmaLinux's attempt to fix a security hole. Vasquez acknowledged it was tough sledding at first, but noted: "The good news is that they have been improving the process, and things will look a little bit smoother."

AlmaLinux, she noted, is also not so much worried as aware that Red Hat may throw a monkey wrench into their efforts. Vasquez added: "Internally, we're working on stopgap things we'd need to do to anticipate Red Hat changing everything terribly." She doesn't think Red Hat will do it, but "we want to be as prepared as possible."

Also: Open source is actually the cradle of artificial intelligence. Here's why

Looking ahead, Vasquez stated that AlmaLinux is getting ready to release the beta versions of AlmaLinux 8,9 and 9.3, which will arrive shortly after RHEL 8.9 and 9.3 appear. So far, all's going well with their development.

With all these operating systems due out within a few weeks, we'll soon see how well AlmaLinux has done with its friendly approach to RHEL cloning.

Editorial standards