Recently, I took an interest in poking at Gentoo a bit. In the eyes of many desktop Linux users, it’s considered a rite of passage to install this historically significant distribution. I’ve scaled Mt. Arch, so Gentoo Peak is next in my Linux mountaineering.
Before I started sinking time into it, though, I wanted to see just what I would gain from the formidable task of installing Gentoo. In other words, what does Gentoo bring to the table? A lot, it turns out, but we’ll get there in time.
This curiosity sent me on a much more interesting Linux safari to explore what truly differentiates distributions. What follows is the classification field guide I wish I had when I began my Linux journey.
Spots and Colors Don’t Make the Species
In constructing our taxonomy, there are outward trappings that are tempting to include, but which actually have no bearing on the substance of a distribution. Let’s identify a few of these so we can rule them out.
We’re going to skip the amorphous categorization on the spectrum from “beginner” to “power-user” distro. Regions on this spectrum reflect the rough user demographic that a distribution attracts; and doesn’t necessarily or directly evidence structural makeup.
For instance, I’ve seen Manjaro characterized as a beginner distro, and I appreciate its mission to break in Arch Linux. But the fact that there’s a chance Manjaro users might need to manually downgrade its rolling release packages places it beyond what I would personally recommend to beginners. On the other hand, the most competent computer user I know, a decades-long veteran in the “tech sector,” uses Linux Mint, which I actually do recommend to Linux neophytes.
Also irrelevant to our exploration are desktop environments. It’s a mistake nearly every desktop Linux user makes at first, me included. It’s natural to take the most visible component for the distribution itself. But with few exceptions, the desktop has little bearing on what the distro really consists of. With far more distributions than desktops, it’s common for radically different distributions to have the same desktop.
Let’s Get Taxonomic!
So what does distinguish one distribution from another? Each one has its own combination of structural properties. Some of these properties are binary — merely present or absent — while others fall along a continuum.
In general, however, any point on one continuum can coexist with any point on another. With enough continuums and points on them, unique combinations are bound to emerge, creating distinctive user experiences with them.
Are updates released via a rolling release model or point release model?
This is a distinction I have referenced in past articles, but merits revisiting considering its direct relevance. Under a rolling release model, each package’s maintainers release a new version for installation when they, as a team, are ready to deploy it.
They don’t delay their update to release it in unison with another team and may not even do much to harmonize their package with its sibling packages. As a result, rolling release distributions yield a “bleeding edge” experience as the fastest way to get the newest version of software short of compiling from source. It’s the sharpest part of the metaphorical “edge.”
The alternative is the point release model. With point releases, all the distribution’s package maintainers coordinate to release their updates in scheduled waves. Those packages that have new versions since the last wave will all reach the user simultaneously, whether that’s weekly, monthly, or some other interval-ly.
While this means that users may not enjoy the latest software features right away, it usually means that software is more stable. The first teams to wrap up their work have to wait on the last teams to finish, so instead of twiddling their thumbs they can polish their work.
What kernel major and minor version does it lock in?
When a distribution’s newest major release drops, the developers usually state which major and minor Linux kernel version they will take as the basis for the distribution’s kernel.
Since the kernel is instrumental to any operating system, a distro’s developers may want to closely moderate how it changes. This is so that developers can focus on maintaining a stable experience with a finalized feature set instead of scurrying to include every new upstream kernel module and patch.
Locked-in kernel versions differ not only between distros, but between release tracks within a distro. For instance, the latest update to Ubuntu’s stable LTS track, Ubuntu 20.04.2, contains Linux 5.4. By contrast, the developer’s more dynamic testing track that came out in October, Ubuntu 20.10, flaunts the more current Linux 5.8.
The general pattern is that the older the kernel version, the more stable the distribution’s customized kernel, as more time has passed since that version first debuted from the Linux devs. As a tradeoff, though, there will be fewer modules, so the older the kernel version, the shakier new hardware compatibility is.
Is the distribution downstream of another, or an independent project?
Not every distribution stands on its own. There’s nothing wrong with building from a foundation laid by another project — in fact, numerous highly popular distributions do just that. But when classifying distros, this is useful to consider, because it shapes the user’s experience. Essentially, a distribution is either independent, created from scratch, or downstream, taking another distro as a starting point.
Who hosts (most of) the repositories?
The repositories (commonly called “repos”) make the distribution. They’re where all the software packages are maintained and offered for installation.
While just about every distro has at least one repo of its own for holding in-house packages, not every distro hosts all the repos it uses. Rather, they point their package managers at repos hosted by a distro they are downstream from.
For example, some distros make it their narrow, but laudable, focus to smooth out the installation process for an upstream distribution without tweaking the latter’s software — the former has their repo for the installer, and everything else is passed up the chain. Unless they build every package from source, independent distributions by definition host their own repos.
Is installation performed via a GUI installer or an interactive command line process?
In ancient times, only shell-fu practitioners could install a Linux distribution. In the modern era, installation for dozens of distros is as smooth as any user could want. There are distros out there, though, that preserve the old ways where installation is a challenge, but a rewarding one. For the most part, a distro either has a guided graphical installer or it drops you into a shell and assumes you know what you’re doing.
Is software installed from maintained packages or from source code?
Finally, a less common but critical distinction is whether a distribution’s developers bundle programs and libraries up as packages, or whether the system compiles all to-be-installed software from source code.
Most distros you’ll run across stick with packages, but a handful go the other way. In that case, instead of repos it has up-to-date directory structures full of compilation instruction files, which download and compile source code on execution. Gentoo being one of these rare few, we return to where we started.
By no means are these all the characteristics by which one can classify a Linux distribution, but they are some of the most important and easily spotted. When considering an unfamiliar distribution, if you take the time to score it on all these metrics, you can grasp the basics of what you can expect from the day-to-day experience of running it.