I’ve been dailying the same Mint install since I gave up on Windows a few years ago. When I was choosing a distro, a lot of people were saying that I should start with Mint and “move on to something else” once I got comfortable with the OS.
I’m comfortable now, but I don’t really see any reason to move on. What would the benefits be of jumping to something else? Mint has great documentation and an active community that has answers to any questions I’ve ever had, and I’m reluctant to ditch that. On the other hand, when I scroll through forums, Distro Hopping seems to be such a big part of the “Linux experience.”
What am I missing?
The way I understand it is like this:
The grand theory of classic package managers is the idea that lots of programs all need the same core libraries to function. An analogy would be like noticing most construction jobs need
nails
. So instead of making everyone bring their own copy ofnails
, resulting in dozens of redundant copies of it lying around, they have a singlenails
package that everyone can use.But there are different versions of
nails
out there. Each version picks up unique new features, and drops legacy ones. Recent builds may incorporate and thus require the new features, making them incompatible with old versions ofnails
that don’t have them. On the other hand, some builds may still use and rely on legacy features ofnails
, and are thus incompatible with the new versions. You may run into a scenario where you want Software A that needsnails
version 14+, but also Software B that can only run onnails
v <13, and you just can’t, because they don’t overlap.Additionally, there may just be a totally different competing package out there,
screws
, that does largely the same job asnails
, but in a completely different way that is totally incompatible with projects that expectnails
. So if you need Software C that relies onnails
, but also Software D that relies onscrews
, you might cause problems by installing both.What a distro is is essentially a group of devs declaring that they are putting together some specific list of libraries (like, say,
nails
v14), and then sculpting up a bundle of software around those specific libraries. Can’t cope withnails
v14? That sucks. No package for you, then.In that sense, distros are differentiated by what libraries and other low-level system softwares are available to the programs you wish to install on them. If you want your program to be available natively on every distro, it needs to be compatible with every competing set of libraries each distro has elected to use.
It is possible to just say “fuck it” to the distro’s built-in libraries, and instead bundling the specific version of
nails
orscrews
or whatever you project needs directly with it. Build your own with blackjack and hookers, as it were. That’s exactly what Flatpak does, among others. But it’s trading flexibility for redundancy. In the age of cheap and plentiful storage memory, many people think this trade is well worth it. But it makes many formalists cringe.