Linux Distro Reviews: Fedora — The Distro In Red Hat’s Shadow

In our ongoing Linux Distro Reviews series, we’re taking a look at some of the most popular Linux distros, especially from the standpoint of users looking to switch from Windows. In this review, we’re taking a look at Fedora Linux.

Background

Fedora is the community-driven upstream distro of Red Hat Enterprise Linux (RHEL). As such, it serves as the testing ground for the various features and technology that will eventually become RHEL.

As such, Fedora tends to move faster than many distros in adopting new technologies. Pipewire, Wayland, and immutability are just a few of the technologies that Fedora has adopted and pushed before many other distros. Because of this, Fedora is often referred to as a “cutting-edge” distro.

Obviously, being upstream of Red Hat means that Fedora uses RPM packages, not the DEB packages of the Debian/Ubuntu family. While not quite as popular as DEB packages, RPM easily offers the second-largest adoption rate among developers. If a developer only plans to target one family of Linux distros, it will be Debian/Ubuntu. If they target two, however, you can bet Red Hat/Fedora will be the second.

Release Model

Many inaccurately refer to Fedora as a rolling-release Linux distro, meaning that its packages are constantly updated without major point releases. Examples of rolling-release distros are Arch, Manjaro, and openSUSE Tumbleweed.

Fedora is not a rolling release distro since it has clearly defined point releases roughly six months apart. At the same time, Fedoro is a fast-moving distro, with each release only supported for approximately 13 months, unlike an Ubuntu LTS (Long-Term Support) release, which is supported for at least five years.

In many ways, Fedora is a semi-rolling release, with some critical components updated between releases, while other components are only updated with each point release, including the Linux kernel.

Fedora’s semi-rolling nature can, at times, lead to more instability than one might experience with an LTS release, but the Fedora team generally do a good job ironing out the bugs and delivering a solid, reliable experience.

Because Fedora releases a new version every six months, its apps and packages tend to be more up-to-date than those on an LTS release like Ubuntu or Debian.

Fedora Workstation vs Spins

The default version of Fedora, Fedora Workstation, uses Gnome as its desktop environment (DE). In fact, the Fedora Project has a close relationship with the Gnome Foundation, with many developers working on both projects.

By default, Fedora provides one of the most vanilla Gnome experiences out-of-the-box, with the only modification being the Fedora logo. Many, rightly so, view Fedora as one of the purest examples of the Gnome environment in action and a good choice for those that want to use Gnome the way its developers intended. Of course, that doesn’t mean users can’t customize it just like on any other distro; it simply means that users start out with a very clean Gnome slate on Fedora.

For those who are not fans of Gnome, the Fedora Project offers a number of “spins” that incorporate other DEs, including KDEXfce, Cinnamon, Budgie, Mate, LXQt, LXDE, and others.

Depending on the spin, these variations of Fedora offer differing degrees of polish, although most of them follow Workstation’s example of incorporating the stock-standard version of their given DE…for better or for worse. KDE, for example, looks very good out of the box, while Xfce’s default look generally has a face only a mother could love.

Fedora also offers immutable versions of the distro based on Gnome, KDE, or the Sway window manager. Immutable distros are considered by some to be the next evolution of the Linux operating system, adopting a similar approach as Android, iOS, and macOS in which the system files are immutable and protected, with the user relying on Flatpaks, Snaps, or AppImages to install their apps of choice. The benefits of an immutable system is greater security and stability.

Flatpak

Flatpak, Snaps, and AppImages are the three universal packaging formats for Linux apps. As mentioned earlier, developers often have to choose which Linux family (Debian/Ubuntu, Red Hat/Fedora, openSUSE, Arch, Gentoo, Slackware, etc) and the various software/library dependencies they want to target.

Universal packaging formats help developers get around that by bundling the needed dependencies as part of the app package rather than relying on the system. Of the three, Flatpak and Snap are the two most widely used, but by very different groups.

For the most part, Snap is used almost exclusively in Ubuntu and Ubuntu-based distros since it was created by Canonical, the company that makes Ubuntu.

In contrast, most other distros rely on Flatpak, and Fedora is one of the primary distros that do so.

FOSS Philosophy

One of Fedora’s defining characteristics is a focus on free and open source software (FOSS). The distro is famous for not including anything patent-encumbered, including various media codecs that are used to play popular videos.

This can create problems for new users who don’t know they need to add the third-party RPMFusion repository to bring in the necessary codecs after installing Fedora. Even for experienced users, the process of adding those codecs on Fedora is more involved than on openSUSE, another distro that follows the same FOSS philosophy as Fedora. On openSUSE, only simply has to enter “sudo zypper opi” in the Terminal, followed by “opi codecs“.

In contrast, adding RPMFusion and installing the necessary codecs is several steps of copying and pasting long strings of text into the Terminal. What’s more, you have to know which type of GPU you have in order to know which GPU codecs you need, all of which can be daunting for a new user.

The other alternative is to simply use Flatpak versions of apps for everything and anything that might require media codecs. Because Flatpaks include all of their required dependencies — including media codes — within the app, running Firefox, Brave, VLC, Kdenlive, OBS Studio, and other media apps as Flatpaks eliminates the need to deal with RPMFusion and codecs.

File System and Strange Choices

By default, Fedora uses the Btrfs file system. Btrfs is a newer file system that is designed to replace the older ext4 the majority of Linux distros use. As such, Btrfs offers a number of features that older file systems don’t have, including the ability to easily take snapshots of your system and rollback if something breaks. Of course, these features come at a cost, with the file system generally performing slower than ext4, ZFS, and others.

Unfortunately, unlike openSUSE’s beautiful implementation of Btrfs, Fedora opts for a non-standard volume naming scheme that prevents snapshots and rollbacks from working out of the box. Users must be knowledgeable enough to manually make the necessary adjustments to get snapshots working.

As a result of this inexplicable choice, Fedora inherits the performance hits that go along with using Btrfs…but without any of the hallmark benefits of the file system. It would have been much better if Fedora had simply adopted the same scheme as openSUSE, the undisputed leader of Btrfs adoption, or stuck with the tried-and-true ext4.

Experience Running Fedora

Fedora certainly has much going for it and has earned its place as one of the most influential distros on the market. The widespread adoption of new tech often starts with Fedora, and all other distros end up the better for it.

That being said, I personally don’t like running Fedora on a production machine, including my Tuxedo Pulse laptop, made specifically for Linux compatibility. There are several reasons for this:

  • Because of its choice of file system, I have found Fedora to be among the slowest distros, especially when running disk-intensive tasks. Fedora offers all the cons of using Btrfs without also providing its greatest benefits.
  • The spins often make odd choices about which software is installed. For example, the KDE spin includes the full KDE PIM suite, which I am not a fan of and is notorious for its unreliability. Even KDE Neon, the distro made by KDE devs, does not include the KDE PIM suite, opting for Thunderbird instead.
  • Fedora is the only distro I have run where I would have random kernel errors on reboot roughly one-third of the time. These errors did not generate any logs or information to use in troubleshooting, only a message that the kernel error had occurred.
  • Fedora is also the only distro where I have had ongoing DBus errors. This happened on both Workstation and the KDE spin.
  • Some utilities that are available as both DEB and RPMs don’t seem to work as well on Fedora. For example, needrestart is a command-line utility that lets you know which packages need to be restarted after an update, giving you the opportunity to restart just those packages rather than rebooting. The utility works beautifully on Debian/Ubuntu, but doesn’t seem to work as reliably on Fedora.
  • The codec situation, and Fedora’s added complexity dealing with it, is also less than ideal. Adding codecs requires several more steps than on openSUSE, a distro that takes the same approach as Fedora. What’s more, like openSUSE, RPMFusion is sometimes out of sync with the Red Hat repositories, creating confusion when users see errors about packages or libraries not being compatible.

Red Hat: The Elephant In the Room

Another consideration when choosing Fedora is its relationship with Red Hat. As mentioned, Fedora is the upstream distro to RHEL, but that is not its only association.

The Fedora Project is sponsored by Red Hat and is staffed by community members and Red Hat personnel, although both the Project Leader and Program Manager are Red Hat employees. Red Hat also owns the Fedora trademarks.

Red Hat has made a number of controversial decisions in recent months, including laying off Program Manager Ben Cotton and restricting access to RHEL source code to paying customers.

Linux distros are generally divided into three camps:

  • Community distros (Debian, Linux Mint, Arch)
  • Distros made by hardware makers (Pop!_OS, Tuxedo OS)
  • Distros made or heavily sponsored by companies that make money off of an enterprise version (Red Hat/Fedora, Canonical/Ubuntu, SUSE/openSUSE)

It is widely believed that Red Hat put its RHEL source code behind a subscription paywall specifically to prevent downstream distros, such as Rocky Linux and AlmaLinux, from offering 1:1 compatibility with RHEL.

Relying on a distro so heavily influenced by a corporation that makes money off of enterprise Linux is not without its risks, as some decisions may be made more in the interests of the company than the distro’s users.

Anyone who believed this is not an issue may be rethinking that stance after Red Hat’s recent actions. What happens in the unlikely event Red Hat decides Fedora is pulling too many users away from RHEL subscriptions?

Final Thoughts

Fedora is currently enjoying the spotlight, with numerous YouTubers proclaiming it the “best distro.” Many online discussions and Linux subreddits are filled with recommendations that people, including new users, switch to Fedora. Like all things social media-related, once something gets enough momentum, it becomes a self-feeding beast.

While this may not be the most popular opinion, I personally do not believe Fedora is a good choice for new users, certainly not for those switching from Windows or Mac. The distro’s cutting-edge nature and odd choices mean that users need to be relatively experienced to even know what they need to do, let alone how to do it, to get the most from the distro.

Rating

3.5 out of 5 stars

Fedora is a good option for users that want a semi-rolling release model, don’t want LTS support, and are knowledgeable enough to work around its rough spots. It is also an excellent choice for developers and those who already work in the Red Hat/RHEL ecosystem.