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.
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.
90% of the differences is the package manager.
Traditionally; definitely. But if the purpose of package managers is to acquire packages fit for use with the distro, then the position of alt packaging formats (e.g. Nix) and/or solutions that make use of container technology (e.g. Distrobox) at least provide some food for thought.
Like, if I choose to install Debian (Stable) and openSUSE Leap and then proceed to install all my packages through distro-agnostic ways accessible on both distros (e.g. Flatpak, Brew, Nix etc.), then wouldn’t you agree that these systems become remarkably close to one another?
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!
The philosophies behind the different distros is definitely something I didn’t touch upon earlier. Thank you for mentioning that!
I wonder how different the philosophies are between Arch, Debian Sid, Fedora Rawhide and openSUSE Tumbleweed.
A lot of distros, I think, are started more due to political/social/psychological reasons, and not fundamental technical reasons, and that’s why a lot of them are so similar. Those reasons can be good and legit, but sometimes they are probably wrongheaded (but understandable), like an unwillingness to engage with upstream because that’s tedious and frustrating, whereas the technical work of creating another distro with oneself in charge may be more fun.
Also, of course, once a distro is big enough, with a sizable community of developers and users, there’s a strong incentive to keep it going, even if it’s very similar to another distro. Maybe there used to more of difference in the past, but you’re not going to convince a whole community to just shut down and join some other project. And business-run distros will keep going as long as the company is making money there is some business reason to keep doing them.
Thank you for touching upon the human-side of things! I wonder if my original point could be distilled to “Can we, humans, simply act more rational?” 😅.
Devils advocate - you might be getting extra layer of testing, by the “derived” distro testing community.
I mean if they do any, it may be more focussed on the combo of setup and software you prefer.
So a small reduction in risk of bugs?I thnik ubuntu did have a pupose in 2002 or whenever - it was a step foward in ease of install, and out of the box experience, esp. for noobs.
Now most have that, including stock debian. even arch comes with the idspispopd script these days.