Editor’s note: This article by Joe Casad originally appeared in the Rocky Linux Focus Guide, published by Admin Network & Security magazine.
The open source world is constantly evolving, and new Linux distributions tend to appear whenever there is a need for them. Rocky Linux just appeared last year, partly in response to a shake-up in the enterprise Linux space, but, as is often the case in the open source world, change can lead to opportunity. Rocky is already finding its way into professional server rooms, workstations, and cloud instances.
What is Rocky Linux and where did it come from? The best way to tell the story is to start from the beginning.
A Bit of History
Once upon a time, a free and open source OS called Red Hat Linux served as a cornerstone for the Linux community. Although Red Hat the company was a for-profit business, Red Hat Linux was very much a community effort. Anyone could use it, and many volunteers around the world gave their time for testing, development, and help forums.
Then one day Red Hat (the company) announced that it would no longer provide a binary version of their flagship OS for free download. The binary version would instead require a subscription, which came at a cost and included some support services. If you’re wondering whether charging for Linux is consistent with Linux’s GNU General Public License (GPL), rest assured that it is. The GPL requires that the source code be made available if the program is modified – it doesn’t require the distributor to circulate the compiled, binary version for free. As long as Red Hat posted the source code somewhere for download, they were free to charge whatever they wanted for the binary version – and they charged every bit as much as Microsoft was charging for Windows at the time. (Why not, since Linux was better than Windows?)
In an effort to maintain their ties with the Linux community, Red Hat announced that they would indeed still provide a free version of Linux, which they dubbed Fedora. Many users made the switch from Red Hat to Fedora, and Fedora continues to have fans to this day, but everyone knew that Fedora wasn’t exactly the same. First of all, it was upstream from Red Hat Enterprise Linux (RHEL) and therefore did not face the same level of testing. Secondly, it was missing many of the tools and features included with RHEL. Red Hat Linux had morphed into the familiar duality of a “community” and an “enterprise” edition, like so many other open source products in the corporate space.
But the GPL meant they couldn’t exactly put their enterprise code away forever. The source code was still out there, as was required by the terms of the GPL, and anyone who wanted to go to the trouble could take the source, remove the trademarks and other proprietary components, and then compile it and give it a different name. At the heyday, several projects offered free, recompiled versions of RHEL. Over time, a leader emerged among the RHEL clones, and it was CentOS. The CentOS community had a loyal community of users and volunteers, and it ran on file servers, web servers, and corporate workstations around the world. Whenever Red Hat put out a new version of RHEL, the CentOS team would perform the necessary adaptations and put out a new version of CentOS. CentOS became one of the most popular Linux variants – and why wouldn’t it be: It was absolutely free, and it came with all the testing and refinements of an enterprise-grade Linux.
In 2014, Red Hat announced that it would sponsor the CentOS project and hired several of its developers. Their game plan had changed by that point, and they didn’t see it as a problem to maintain free and subscription versions of the same code. It seemed they had come to the view that it could actually help them sell RHEL if users would get started on CentOS and then make the change to RHEL when they were ready to sign on for technical support.
IBM’s acquisition of Red Hat caused a reordering of priorities, and the company changed course again in 2020, announcing that CentOS would no longer be a clone of the enterprise edition. It would still exist, but it was relegated to an upstream status, much like Fedora.
Once again the community scrambled, searching for a new distro that would play the role that CentOS had played for so long. One of the leading contenders to emerge as a free Linux based on RHEL source is Rocky Linux.
On the same day that IBM and Red Hat announced they were moving CentOS upstream, CentOS co-creator Greg Kurtzer floated the idea of starting a new project that would continue to work with the latest Red Hat Enterprise source. As a CentOS veteran, Kurtzer was interested in more than an enterprise code base – he was also tuned in to the community and focused on the process.
The founding sponsor for the Rocky project is CIQ, a company with around 50 employees that provides Rocky support and offers add-on components and services. Unlike RHEL, however, Rocky is an independent project that has several other sponsors, including AWS, Google Cloud, and Microsoft Azure. The storage company 45Drives, another sponsor, uses Rocky as a base for their storage platform. The Sponsors page at the website lists 12 sponsors so far, and Rocky is looking for more.
Rocky bills itself as a system that is “...designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux,” which means the latest version of Rocky comes with all the new stuff in the latest version of RHEL. Rocky 9 has all the features and updates you’ll find in RHEL 9. Like other enterprise distros, Rocky doesn’t purport to offer the most cutting-edge, experimental components. The enterprise audience is more interested in stability, thorough testing, and hardware compatibility. Like RHEL, Rocky offers regular updates and 10 years of support for each release.
The Rocky developers strive for seamlessness as they keep pace with new releases and updates to the source code repository. In that context, they have contributed one new tool to the community that is attracting lots of positive attention.
Peridot (and yes, you do pronounce the “t”) is a cloud-native build system created by the Rocky developers to help them turn out updates. The Rocky team has released Peridot as open source software and makes it available through GitHub. To understand what Peridot does, it is best to start with a look at what the Rocky project does. When Red Hat updates the source code for RHEL, they upload the new code to the CentOS website.
(It is confusing, but yes, RHEL code source code is stored on the CentOS site even though the CentOS distro is no longer based on RHEL.) Rocky then downloads that source code and applies patches to it, such as removing trademarks and proprietary art, as well as customizing any settings and components as needed for the Rocky environment (Figure 1). The code is then built and packaged in RPM form and made available to Rocky users. Rocky, and CentOS before it, have been employing some version of this process for years.
Figure 1: The old method: Rocky patches are applied separately to each release, even if the contents of the patch is the same or nearly the same with each new version.
In the past, this meant that they had to repeat the same steps for every new release. However, although the source files are unique with each new update, the patches applied to the code often don’t change. The Rocky developers therefore built Peridot to automate the patching process. When an update to the RHEL source code appears, you just click one button and Peridot grabs the code, applies the predefined patches automatically, and builds the package (Figure 2).
Figure 2: The new method: Peridot is preconfigured with the location of the source code and the location of the patches. When a new version of the source code arrives, the user can click one button to trigger an update.
The Rocky team uses Peridot to build all of Rocky Linux, and you can use it to build your own customized distribution, or to build a single package. If you have source code that you maintain locally, Peridot will perform the same service for your local files.
Rocky is betting that Peridot will help them keep up with Red Hat’s schedule of new releases and security updates. Peridot could also be just the thing to help support the community of special interest users working on modified versions of Rocky.
Rocky encourages users with similar interests to gather together online to share solutions and ideas. These Special Interest Groups (SIGs) bring diverse viewpoints and energy to the Rocky project. Rocky has SIGs for Linux kernel, storage, virtualization, desktops, alternative architectures, high-performance computing, and legacy systems. The desktop SIG works on alternative versions for Gnome, KDE, and Xfce. The alternative architectures SIG is hard at work with a version of Rocky for the Raspberry Pi. Other SIGs specialize in containers, hyperscale, and embedded systems.
The Rocky team hopes the SIGs will be more than just chat groups, with several working on alternative spins of the Rocky distribution to support their special interests. High-performance computing (HPC) is a particular area of interest for the Rocky team. HPC systems require extensive testing and tuned-up performance, but at the same time, a massively parallel HPC system can include hundreds (or even thousands) of OS instances, which gives a competitive advantage to systems that are available at a lower cost. CentOS was once a favorite for many HPC users, and Rocky is trying to capture that niche. Rocky creator Greg Kurtzer has a long history with HPC – he also created the Singularity/Apptainer container system for HPC – and CIQ is heavily invested in supporting the HPC space. CIQ’s HPC offering includes the Fuzzball (coming Fall 2022) federated computing platform, which is designed to “orchestrate workflows, services, and data globally across data centers while maintaining supply chain integrity from on premise, to cloud, and to the edge.”
The Rocky project is officially owned by Rocky Enterprise Software Foundation (RESF). RESF is a public benefit corporation owned by Rocky creator Greg Kurtzer designed with a system of checks and balances to prevent co-option. The community hangs out on a Mattermost chat platform. Currently over 7,700 members are registered on Rocky’s chat site, not including users who connect through IRC. Rocky also supports a collection of public forums for users with more general information on Rocky and related topics.
To underscore its support for community, the Rocky team has adopted a charter, which is posted online at the Rocky forum. The Rocky Linux charter comes with a statement of values, which includes the following:
- Be practical. As open source advocates, our inclination toward solving problems is to use tools that are themselves permissible open source, but the best practical solution to a problem may preclude that. We use the right tool for the right job.
- Be reasonable. Respect is given and trust is earned. Input from all contributors are valued, and all perspectives are sought after and considered. Knowledge and righteousness does not follow seniority.
- Team ahead of self. Sycophants are not valuable to an organization, but neither are contrarians. We respectfully vocalize our concerns but pull together to drive forward once a decision has been reached.
- Enable the enterprise community. While we are starting with creating a stable down-stream enterprise distribution of Linux, our goals are much broader, including attention to the needs of special interests, project hosting, education, collaboration, workshops, meetups, and individuals.
- Consider the human. Rocky Linux is developed and supported by a wide group of diverse individuals from all walks of life. We are strictly apolitical and will always assume the best intentions of others.
These values will take the Rocky project a long way as they seek to build a community around their free enterprise Linux.
Rocky does everything RHEL can do, and you don’t have to pay for it unless you want support. The Rocky team knows that their mission depends on efficient processes and a strong community, and they are investing heavily in building a process that runs well. The Peridot build system is a big part of that investment. Peridot makes it easy to put out a custom Rocky spin if you have a special need, but before you reinvent the wheel, check out the SIGs at the Rocky chat site – you might find a SIG with a similar vision that would be happy to help with your efforts.
©️ Linux New Media USA, LLC