Archive for September 5th, 2007

Setting up a new workstation is the easiest time to choose a new GNU/Linux distribution. Having just installed Fedora 7 on my laptop so I’d have an RPM-based system available for my work, I seriously considered ending my five-year endorsement of Debian on my workstation. Perhaps I should follow the crowd and go to Ubuntu? Some other DEB-based distribution? Maybe Slackware or Gentoo to grab a bit of geek-cred? But after debating my choices for a couple of days, I decided to stick with Debian for both technical and philosophical reasons.

Oh, a small part of my decision was convenience. Over the years, I’ve built up three pages of notes of exactly what I need to install, configure, and modify to customize my workstation exactly as I prefer. Probably, I could port most of these notes to another distribution, but I would have to change some of the configuration notes, as well as the names of some of the packages. For better or worse, I’m comfortable with Debian — sometimes, I think, too comfortable.

However, a larger part of my decision is practical. Not too many years ago, Debian held a decided advantage because its DEB packages, if properly prepared, were one of the few that automatically resolved dependencies when you added software. That’s no longer true, of course, but Debian’s policy of packaging everything from kernels to drivers means that many installation tasks are far easier than in most distributions.

Moreover, I appreciate Debian’s policy of including recommended and related packages in the descriptions of packages. These suggestions help me to discover software that I might otherwise miss, and often help the packages I originally wanted to run better.

Another advantage of Debian is its repository system. As many probably know, Debian has three main repositories: the rock-solid, often less than cutting edge stable repository, the reasonably safe testing, and the more risky unstable. For those who really want the cutting edge, there is also the experimental repository. When a new package is uploaded, it moves through these repositories, eventually slipping into stable when it has been thoroughly tested. Few, if any distributions, are more reliable than Debian stable, and even Debian unstable is generally about as safe as the average distribution.

What this system means for users is that they can choose their preferred level of risk, either for a particular package or for their system as a whole. For instance, by looking at the online package descriptions, you can see what dependencies a package in unstable has, and decide whether installing it is worth the risk of possible damage to their system, or else judge how easily they can recover from any problems. This system means that most experienced Debian users have a mixed system, with packages from more than one repository — an arrangement that is far preferable to blindly updating because an icon in the notification tray tells you that updates are available. It also means that official releases don’t mean very much; usually, by the time one arrives, you usually have everything that it has to offer anyway.

In much the same way, each individual repository is arranged according to the degree of software freedom you desire. If you want, you can set up your system only to install from the main section, which includes only free software. Alternatively, you can also use the contrib section, and install software that is free in itself but which relies on unfree software to run, such as Java applications (at least until Java finishes becoming free). Similarly, in the non-free section, you can choose software that is free for the download but is released restrictive licenses, such as Adobe’s Acrobat and Flash players. Although my own preference is to stay with main, I appreciate that Debian arranges its repositories so that I can make my own choice.

Almost as important as Debian’s technical excellence and arrangements is the community around the distribution. This community is one of the most outspoken and free-thinking in free and open source software. This behavior is a source of irritation to many, including Ian Murdock, the founder of the distribution and my former boss, who thinks that the distribution would run more smoothly if its organization was more corporate. And, admittedly, reaching consensus or, in some cases, voting on a policy can be slow, and has problems scaling — problems that Debian members are well-aware of and gradually developing mechanism to correct without changing the basic nature of the community.

Yet it seems to me that Debian is, in many ways, the logical outcome of free software principles. If you empower users, then of course they are going to want a say in what is happening. And, despite the problems, Debian works, even if it seems somewhat punctilious and quarrelsome at times, insisting on a standard of purity that, once or twice, has even been greater than the Free Software Foundation’s. The community is really a daring social experiment, and its independence deserves far more admiration than criticism.

Of course, I could get many of the same advantages, especially the technical ones, from Ubuntu, Debian’s most successful descendant. But Debian has had longer to perfect its technical practices, and, if the Ubuntu community is politer, its model of democracy is further removed from the town meeting than Debian’s. Certainly, nobody can demand a recall of Mark Shuttleworth, Ubuntu’s founder.

Which brings up another point: I’m reluctant to trust my computer to an eccentric millionaire, no matter how benevolent. This feeling has nothing to do with Mark Shuttleworth himself, whom I’ve never met, and who, from his writing, seems a sincere advocate of free software. But one of the reasons I was first attracted to free software was because, in the past, my computing had been affected by the whims of corporation, notably IBM’s handling of OS/2 and Adobe’s neglect of FrameMaker. Trusting my computing to an individual, no matter how decent, seems no better. I’d rather trust it to a community.

And Debian, for all its endless squabbles and the posturing of some of its developers, has overall proven itself a community I can trust. So, at least for the time being, I’ll be sticking with Debian.

Read Full Post »