Linux distributions are much like car models. There are tons to choose from, new ones pop up every day, and it’s hard to determine the differences between some of them. Specifically, there’s a lot of general information about the Linux company, Red Hat, and its work surrounding the three main distributions it owns and sponsors. Highlighted and clarified here are the differences between RHEL, CentOS, and Fedora, and why one may or may not be the best choice for your usage.
The Similarities Between RHEL, CentOS, and Fedora
I want to cover what’s similar between these three distributions first. They are all based on Red Hat Linux which was discontinued in 2004. The company Red Hat created and owned Red Hat Linux, just like it still owns Red Hat Enterprise Linux (RHEL). Right around the time Red Hat Linux morphed into Red Hat Enterprise Linux, it merged with the Fedora Project, and CentOS came out as the Community ENTerprise Operating System.
Fedora Linux was originally created as a community-based project, in contrast to Red Hat Linux being developed solely within Red Hat, and it served to provide more software to Red Hat Linux users. CentOS originally formed after Red Hat Linux was rebranded to RHEL in 2004 as a community version of RHEL that was available for free to everybody. It’s somewhat similar today to Red Hat’s self-support model for its Developer Subscription.
In short: RHEL, CentOS, and Fedora are all based on the original Red Hat Linux. This means they all use the same RPM package system, YUM or DNF for package management, and they are all sponsored or owned by Red Hat in some way. They’re quite similar, which can lead to some confusion.
The Differences Between RHEL, CentOS, and Fedora
RHEL is an enterprise customer-focused Linux distribution. Many users become confused when they see Red Hat charging for RHEL support. This is generally because an enterprise customer is looking to pay for the best support and product they can. They probably know that Linux is one of the best choices for their cloud server. But they want to make sure they have some kind of insurance from a vendor rather than a community project.
CentOS is a community-developed analogue of RHEL. CentOS is a great choice for users looking for the same stability that RHEL provides, but without the cost or support associated with it. It’s built from the source code from RHEL, so they’re almost identical platforms. They’re both very reliable as server distributions. You won’t have the latest software, but the software you do have will be well-tested.
Fedora is a community-focused fast-paced upstream contributor to RHEL. They have some of the newest software available while still having a robust testing protocol. The newer kernels make it a great choice for newer laptops and desktops. The fast development pace means that you’ll never be too far out of date. Additionally, because it’s an upstream to RHEL, the new and exciting features Red Hat wants to incorporate into its enterprise platform get tested and polished in Fedora. This means some really cool features make it a well-performing and reliable system.
Let’s talk about the workflow that Red Hat has with Fedora, RHEL, and CentOS. Simply put, Red Hat uses Fedora as a testing ground for features it would like to implement into RHEL. Those features make their way into RHEL, and the latest RHEL release is then used to create CentOS as a cost-free and self-supported alternative. For you visual readers, that works out to:
Fedora -> RHEL -> CentOS.
Daniel Miessler has a great flow chart and comparison on his website.
There’s also a difference in release cadence. A new version of Fedora is released every six months. Each release reaches End of Life 13 months after they release it. To put that into perspective: the Fedora Project just released Fedora 32. That means Fedora 33 will be released in about six months, Fedora 31 was released about six months ago, and Fedora 30 will reach End of Life soon. However, with RHEL and CentOS, they are released and supported for 10 years. So, RHEL 8 and CentOS 8 were released at the end of 2019, meaning they’ll be supported until 2029.
Which One Is Best for You?
It all comes down to your use case. RHEL, CentOS, and Fedora all fit into very different use cases. However, I resist the idea that there are two server distributions and one desktop distribution here. It’s more nuanced than that. There are desktop and server teams on all three teams, and they all work for different things. There are very compelling server and desktop workstation use cases for all of these distributions.
Regardless of which distribution you choose, you need to do some research on your usage in order to make your decision. Fedora Server is a great operating system for those looking for the latest kernels in a server. CentOS is a great workstation distribution for those wanting reliable access to particular toolkits and applications. RHEL is a great choice for anybody wanting to use these in an enterprise environment, whether it’s a server or a desktop workstation.
I hope I was able to clear up some confusion between RHEL, CentOS and Fedora. Red Hat uses these three different distributions to cater to as many different customers and markets as possible. The results are often that we’re spoiled for choices. Make sure you check out our articles on using Cockpit to manage Fedora systems, the best Linux distributions for programmers and developers, and the history of some various Linux distros.