One cause of Linux's popularity among Unixes

January 29, 2014

Regardless of what you feel about it, I think that most people can agree that Linux is winning whatever is left of the Unix wars. It isn't the only Unix left but for a fairly long time now it's been the leading one, often the default choice. You can attribute this to good PR if you want to, but I happen to think that that's a mistake. Linux has attracted people partly because it has genuine attractions.

In light of my rant about the waste inherent in building packages yourself, it has struck me that one such advantage has been Linux's general wide availability of packages. As I mentioned, system administrators really appreciate not having to spend their limited time compiling ordinary things and Linux is very good at that; most major Linux distributions will give you a precompiled version of almost any standard Unix program you could want (or at least a precompiled program to do almost any standard job). I don't think it's an accident that one of the long term favorite distributions is Debian, which has one of the biggest package archives going.

(Prepackaged software is not good enough if you need a specific version of something compiled in a specific way. But for many Unix machines you just need a working and reasonably current version of whatever. And there are a lot of packages on many machines where the exact details are not crucial.)

At this point I have to mention FreeBSD's ports collection, which even comes in precompiled packages; logically one would expect this to be just as good a selling point for FreeBSD as a Linux distribution with a similar package selection. However, I'm not convinced that it is in practice, and for why I'll point at the name: 'ports'. Well, more what the name means or is perceived as meaning.

Debian's vast collection of packages are all Debian together. Some of them are more important than others, but they are all part of the Debian whole. The dividing line between really important and less and less important is both relatively opaque to outsiders and somewhat subject to debate; it can get pushed back and forth if people want. By contrast at least to an outsider FreeBSD has a relatively sharp dividing line; you have FreeBSD core and then you have ports. Ports is clearly not the same and to drive the point home they install things into /usr/local instead of /usr. FreeBSD is probably at least as committed to ports as, say, Ubuntu is to packages in universe. But I'm not convinced that non-FreeBSD sysadmins who are looking at the situation really believe down in their guts that FreeBSD is as committed to ports as Ubuntu is to main (even if it is, and I don't believe it's that committed to all ports). And I think that that makes a difference.

(I am talking about non-FreeBSD sysadmins here because these are often the people who are making decisions about whether or not to use FreeBSD. Also that's the situation I'm in myself, so I don't know how it looks from the inside but I can talk with at least a little bit of authority how it feels from the outside.)

PS: I haven't mentioned commercial Unixes here because oh boy package availability on commercial Unixes, that's a funny joke. Provided by third parties at best. Red Hat Enterprise Linux is sort of in the same boat but at least they woke up and I think started doing something with EPEL.

Comments on this page:

From at 2014-01-29 03:38:46:

I think linux has the biggest mindshare because it is easy to install, test, get stuff done.

It also has much better driver support than freebsd or solaris. This is a killer if you install it at home and it won't work. People want to use what they know, and if they know linux, they will choose/advise linux at work.

For shops with a team of sysadmins it should be not very hard to build an infrastructure with or without universe/port repositories though. You just build your stuff and distribute it using a config management tool or build your own packages and add that private repo to the clients. It takes a bit of work but it really is part of our job, this is what building/maintining infrastructures is all about.

Most people at home do not do that ...

Package management on commercial unixes is like package management on windows, third party tools for everything. That is why in the sysadmin bible ( one of the chapters is about building a software depot (chapter 28, just looked it up).

Speaking as a long-term user of both Debian (and Ubuntu) and FreeBSD, I would say The FreeBSD Project is no less committed to a functioning ports system full of useful things than Debian (or any other major Linux distro) is to ensuring that their userlands work and are full of useful things.

That said, there's no question that some ports get a lot more love than others, for Reasons. There's also no question that some Debian (or other distro) packages get a lot more love than others, regardless of where they live - main, universe, etc. There's any number of spats on public lists between maintainers and users of the port/package in both worlds.

In either case, I don't think there's a great deal of difference in the overall quality of the end product, but there might be a huge difference in some particular configurations that matter intensely to some users.

Written on 29 January 2014.
« Building software packages yourself is generally a waste (why package selection matters)
OmniOS (and by extension Illumos) is pretty much Solaris »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Jan 29 01:09:23 2014
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.