I've been a distro-hopper ever since I started using Linux over two decades ago. Back then, it was sometimes to get a stable experience on the hardware I had, but also to get specific packages or desktop environments without having to learn how to code. Linux users were passionate about their choice of desktop environment (DE) — and generally still are — telling you exactly why in great detail. But things evolved, and the fringe has become more mainstream.

I've had a lot of fun in the years since, and while the year of the Linux desktop may never come, the ecosystem has mostly agreed on sane defaults and standard features, so you can switch between distros based on preference and not needs. That's a good thing, because the general public doesn't want to tweak and fiddle to get a workable operating system, they want predictability.

The core experience has been optimized

The basic plumbing of any Linux distro has been decided

Linux has grown up, and has started acting like the consumer and enterprise grade software that it is. Distributions used to be categorized by what you can run on them, or what level of resources you need, or which desktop environment you could run. Those have largely been decoupled from the core experience, and it's about time.

No matter if you pick a mainstream distribution or one maintained by one person, you're generally going to get the same core experience:

  • Linux kernel
  • Graphical stack (mostly Wayland these days, some X11 holdouts)
  • Desktop Environment
  • Distribution package manager
  • Preselected set of default applications

That makes every distro viable for the majority of users, letting them choose between things that actually matter for the day-to-day experience. Stronger foundations give the ability for fringe distros to be even more experimental, because they're not breaking the core systems in the process.

Standardization is the strength of Linux right now, with the entire open source developer community able to make it even stronger. It frees up developer time to build on top of the foundations, making tools better. Decoupling the desktop environment from the graphical stack means you can run the desktop you want, without arbitrary restrictions. This is the level of choice that FOSS always promised and never quite resolved as it became territorial disagreements over philosophy, not core functionality.

The real differentiator is philosophy

When the core is standardized, it provides more room for disagreement about the rest

I'm not here to tell you Wayland is better than X11, or that systemd is a plague, or that packaged software should be dismantled so you learn how to build your own from source. Because those are all opinions, and without concrete data to prove or disprove, they're equally valid.

What I will say is that the standardization allowed for distros to specialize in other things. Ubuntu and Mint leant into accessibility, Fedora for fresh-but-sane upstream software, Arch for user control, Debian for stability, and openSUSE for flexible release tracks. Same general core, vastly different user experiences, separated by what they can do, not by what they can't.

That gives you more room to choose the desktop environment you want, or the package manager that has your tooling in, or the one that's better for running games on. You still get plenty of choices, you just don't have to make a choice of features over stability anymore. And if you don't like systemd, you can use init-based distros; they still exist.

Linux is moving away from distro-specific dependency management

Flatpak, Snap, and AppImage are all system-agnostic and good for different things

The argument over whether Flatpak or native packages are better only has one answer for me. It's not about one or the other, it's about coexistence and options. The level of options that open-source software should provide. Not everyone wants to repackage things for their distro of choice, and maintainers shouldn't have to pack everything into their own package manager.

There are three non-traditional package managers right now, Flatpak, Snap, and AppImage.

  • Flatpak: Fixes cross-distro distribution while adding per-app permissions and sandboxing, so it adds more security by default, while adding the dependencies that the app needs
  • Snap: Developed at Canonical, it's heavily tied to Ubuntu and adds automatic refreshes, rollbacks, and transactional updates while supporting CLI and GUI users
  • AppImage: Closer to the traditional portable app format, this packages apps into a single file that runs without installation but is harder to handle updates or app permissions

None of these are likely to replace traditional package managers, and that's just fine. Each has a different place in the overall Linux ecosystem. Package managers for system apps, Flatpak for most GUI apps, Snap for CLI and Ubuntu-based systems, and AppImage for edge cases where a portable app makes sense.

It shouldn't devolve into an argument over which is best. None of them are. They're all tools, to fit the use case of specialized workflows.

👁 Arch Linux laptop on a wooden table
Linux's app problem isn't compatibility anymore, it's Flatpak and Snap splitting the desktop in two

Both try to solve the chaos of Linux app delivery, but their split creates even more confusion, inconsistent behavior, and a constant trust tax.

By  Jeff Butts

Linux is finally at a place where picking a distro doesn't lock you out of services

The Steam Deck is the easiest thing to point at for driving Linux adoption lately, but that's not the whole picture. When you can install most mainstream distros with an easy-to-follow graphical installer, just like Windows or macOS, then more people are going to be likely to try Linux. That's what happened, and a common core of sensible software and defaults made it so you can install distros and find the one that fits your needs, without having to decide based on complexity or encountered issues.