Wandering Thoughts archives


My views on the choice of Linux distribution

I have tangled and complicated feelings about the choice of a Linux distribution for myself and about the idea of changing distributions. So today I feel like trying to run down some of the complexities at play.

In more or less point form, because it's easier that way:

  • Given that I use a basically completely hand-built custom environment (I compile my own copy of fvwm, for example), in theory I'm basically indifferent to the actual Linux distribution or even Unix OS that I'm using. The out of box look of a distribution is basically irrelevant. This sounds like it should make switching easy (even all the way to eg FreeBSD).

    (I don't even use a graphical login manager, so I wouldn't notice gdm or lightdm or xdm or whatever configuration differences.)

  • However, setting up a highly custom environment that actually works takes a lot of effort because many of the desirable pieces of a modern desktop environment are neither standardized nor documented. Working audio, working automatically mounted USB memory sticks, fully working Gnome and KDE programs, all of that takes work, is at least somewhat different between different distributions, and is fragile. This creates a serious disincentive to switch distributions or Unixes once I have one of them working.

    (Having a fully hand-built custom environment makes this worse, since I expect to see basically no difference in my actual environment.)

  • My actual environment is not just my desktop. Instead it encompasses a bunch of things like heavily VLAN'd networking, a GRE tunnel with IKE, policy based routing, a webserver, ZFS on Linux with bind mounts and so on. Most of these parts of my machine are distribution dependent, because no one has standardized this sort of system level setup. Switching Linux distributions thus involves re-engineering at least some of it, if only to account for things like drastically different ways of configuring daemons.

  • Some of the elements of my custom environment have to be (re)built as system packages, which means that I wind up caring about how easy it is to patch and (re)build packages. I have wound up with strong opinions on this for RPMs versus .debs (cf) and I'm likely to wind up with equally strong opinions for any other packaging system. On top of that, I'm already quite familiar with building and working with RPMs; anything else would have to be learned, adding to the cost of switching.

    I'm not going to say that you can't have a better package format than RPM, because RPM sure has problems. But I do think it's very hard to beat right now and most package formats are going to fall short.

  • As a sysadmin, I have fairly strong opinions on right and wrong ways for the overall system to be structured and managed. Normal people would just ignore all of this, as it's not directly relevant to my custom desktop or the overall custom environment, but I care and so different distributions (or Unixes) have under the surface differences for me. Switching is guaranteed to give me exciting new things to be irritated about (as opposed to the old irritating things that I'm already familiar with).

    (There is also the simple mechanical issue of getting familiar with sysadmining a new distribution or OS. This always takes time and work.)

The overall effect here is to make switching much harder and far less attractive than it looks on the surface. At this point I am far less likely to someday switch to something than to someday switch away from Fedora, and I have a lot of reasons to hope that that day is a long way away (because it would be a pain for probably very little practical gain).

As a corollary, at this point I'm not sure what a Linux (or Unix) could do to get me to switch to it. Everyone is packaging more or less the same upstream open source software and it seems really unlikely that a distribution is going to magically achieve stunning and compelling packaging and system management.

(There certainly was a time when there was a real difference between Linux distributions, but major ones strike me as pretty close now. For example, Debian, Ubuntu, and Fedora are all pretty up to date, all have pretty good package selections, release pretty frequently, and so on.)

linux/DistributionChoiceViews written at 02:07:10; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.