Pondering upon (the illusion of) different distros and its consequences - Thoughts?
I’m not even limiting it to how derivatives (i.e. Linux Mint, Manjaro, Nobara etc.) can completely (or at least by 99%) be realized by ‘Ansibling’ their parent distro (i.e. Arch, Debian Fedora etc).
Because, as it stands, there’s not even a lot of difference between different independent distros. Simply, through Distrobox and/or Nix, I can get whatever package I want from whichever repository I want.
Most of the independent distros even offer multiple channels or release cycles to begin with; i.e Debian with Stable/Testing/Sid, Fedora with Rawhide/‘Fedora’/CentOS Stream/RHEL etc.
So, while traditionally we at least had the package manager and release cycles as clear differentiators, it feels as if the lines have never been as blurry as we find them today.
Thankfully, we still have unique distros; e.g. NixOS, Bedrock etc. But I feel, as a community, we’ve not quite realized how homogeneous the fast majority of our distros can be defined (i.e. DE, release cycle, packages, script for additional configuration). And therefore miss opportunities in working together towards bigger goals instead of working on issues that have simply been caused by the (almost) imaginary lines that continue to divide different communities under false suppositions.
90% of the differences is the package manager.
As a community, I do think we get hungup on distros. Most of them, as you mentioned, are just different defaults of the same packages.
But at the maintainer level, I do think theres a lot of work distributions do at making sure the software they choose as defaults are up to date, secure, and work with one another. I dont enounter it often, but relying on maintainers to prevent mismatched depencies ending up in the day-to-day linux user has to be worth something. And every set of defaults needs that level of assurance, I would think. Im not a maintainer, I could be off here.
Hats off for the efforts provided by maintainers. But I feel as if that potential should be better utilized (in part) to achieve greater goals.
You can make most distros work like most others, with enough tweaking. The main difference at this point isn’t what you can do with them, but how they’re set up by default, which typically reflects their thing (e.g., Debian is super stable vs Arch giving access to the latest and greatest).
To be honest, I think the homogenization is a net positive. I doubt we’d have the diverse driver support that makes Linux a viable desktop OS if we didn’t have lots of similarities. And it’s a natural thing–it turns out that most people want computers to do a relatively similar variety of things, so all the major distros end up moving a similar direction. And with open source, when one distro implements a really nice feature, it makes sense everyone else would port it as well.
Linux distributions have definitely standardized over the years. You get a kernel, systemd, network manager, Firefox, etc from basically every distro targeting desktops. Most will have different spins for the popular desktop environments as well.
From a purely technical perspective the main difference of distributions today is the package manager. Are you using pacman, apt, dnf, or something else? We know as users that while some of these different package managers have advantages and disadvantages they are all doing the same thing. You can get basically all the equivalent packages on each major distribution. I sometimes feel sad thinking about all the volunteer effort working in parallel, but not together to package the same software using different package managers. In many ways it’s duplicate effort that I wish could be spent in better ways.
Even package managers are beginning to converge. Flatpack is becoming extremely popular and is my current preferred way to add software to my system.
Leaving technicals behind the only major difference I see between distro today is their philosophy on how frequently to update and what to exclude. Does every package get a new update immediately when it’s rolled out upstream like Arch? Are we going to stick to older packages and only apply security/bug fix updates like Debian, or do something in between? Do we want to bend over backwards to make it easy to install Nvidia drivers or tell users we don’t support closed source software? Do we want to make it as easy as possible to install codecs or leave it to the wider community to figure that out on their own?
I don’t think there’s any right or wrong answer. Use what you enjoy!