The above xkcd comic illustrates the difficulties of creating a universal standard, and why it often only results in yet another competing standard instead. This is a broadly applicable lesson that explains the wide array of open source operating systems available today.
One of the most common experiences that someone exploring alternative operating systems on their own may encounter is a feeling of being overwhelmed by the sheer amount of choice available. While I have no real solution for this feeling, I hope that my own “best of kind” list can be useful regardless.
Before my recommendations, here are some resources that I find helpful:
Librehunt first explains in simple terms the concepts that anyone would need to know to make an informed decision about Linux. After that, the second part involves a quiz so that Librehunt can suggest relevant Linux distributions.
Distrochooser is similar to Librehunt in that it uses the answers to a quiz to recommend Linux distributions, except I’d say the target audience is more technically inclined.
Distrowatch is a more visually busy and dense website, to say the least, but it’s a decent tool to search operating systems by category, discover new ones, or read a little about what’s happening in the Linux world. It’s good to be aware of the way they measure popularity: the numbers by each distribution is how many times that page has been visited on the Distrowatch website in the last 6 months.
Repology offers a way to search the software repositories of many different open source operating systems at once.
There are many options in this space, but a great all-around pick that I always fall back to is Linux Mint. The Cinnamon edition stands out in particular, as it’s user friendly and feels polished, yet it also empowers the user. The large, helpful community is exactly what someone new to Linux will appreciate. I feel confident pointing to Linux Mint for this use case, as it showcases the unique strengths of Linux in an accessible way to new users.
Fedora is backed by Red Hat, the largest Linux company in the world. It offers many compelling features out of the box, such as the SELinux mandatory access control system and the copy-on-write filesystem known as btrfs. If taking advantage of new Linux features and keeping a finger on its pulse is important to you, Fedora is a sensible choice.
Qubes OS is a security-oriented operating system designed to separate different aspects of your digital life into virtual machines, also called qubes. The idea is to compartmentalize everything so that if one qube is compromised, the rest of the system won’t be affected. Qubes OS integrates Whonix which is a huge win for privacy. I highly recommend it to anyone that prioritizes the security of their machine above all else.
Arch is often the first advanced Linux distribution that people try. A distribution installed from the command-line, Arch aims to provide the newest releases of software in its repositories. The Arch wiki is an excellent source of information and a massive selection of software can be installed via the Arch User Repository (AUR). Arch offers a middle ground between customization and practicality that many people appreciate.
Gentoo prioritizes extensive customization and choice. Portage (Gentoo’s package management system) exposes a wealth of options to the user, allowing them to easily adjust the compile time options of software they install through something called “USE flags.” In addition, components like the system logger and init system are chosen during the installation process, which also takes place at the command-line. Gentoo’s wiki and its knowledgeable yet friendly community make it one of the best ways to learn about the deep inner workings of Linux.
Void falls somewhere between Arch and Gentoo in my eyes. It feels more Unix-like than Arch, yet it doesn’t lean as strongly into customization as Gentoo. Void’s package manager (xbps), init system (runit), and alternative libc support (musl) are major selling points of the distribution. In general, I can see the logic behind many of the decisions and design choices that the project makes. For example, I think mandoc is an excellent manual page system, and Void uses it by default.
OpenBSD is a BSD system that has a strong focus on security, portability, simplicity, and correctness. OpenBSD features some of the best documentation of any project I’ve used, and it introduced me to a lot of software that I still admire to this day. For me, it’s unmatched on the server side due to OpenBSD’s simplicity and secure by default approach. Development moves in a more deliberate, controlled manner compared to Linux, which moves rapidly and more chaotically. Here are some more of my thoughts on OpenBSD.
GrapheneOS is a privacy and security focused version of Android, specifically for Google Pixel devices due to the merits of that hardware. Some of the unique advantages of GrapheneOS are sandboxed Google Play services, extensive system hardening, and secure replacement applications. In terms of mobile operating systems, I know of nothing more secure.
NixOS presents a different method of system management: describing your desired system in a configuration file and then issuing a single command to build it. There are definite advantages to this approach and I’ve written more about NixOS here.