A question about Linux

The question the guy really asked was whether Linux successes are bad news for other Unix variants - particularly HP-UX, AIX, and Solaris. My answer is no: when Linux succeeds it's generally good news for Unix in general and Solaris in particular.

Every once in a while I get email like this one:

I'm interested to get your opinion on Linux and how it compares to UNIX and other UNIX-like operating systems. The desktop distributions I have tried have all had their issues, but most of those problems are cosmetic in nature. However, I'm wondering how Linux compares with the other operating systems from a kernel and design perspective. To me it seems like Linux has a lot of backing and buzz, but I also hear rants from people such as Theo de Raadt who say things like "Linux has never been about quality. There are so many parts of the system that are just these cheap little hacks, and it happens to run". However, the same could have been said about Unix 30 years ago. Personally I prefer FreeBSD due to its simplicity and cohesiveness. I also think that AIX/HP-UX/Solaris are much more capable but will eventually disappear because they cost money (except for Solaris) and Linux doesn't.

If Linux really is crap and it's going to kill "better" operating systems, is it a bad operating system in the long run? Thanks for your insight.

To which my typical response runs something like this:

1) kernel comparisons take a lot of time - time I don't have, sorry.

2) however, Linux is NOT crap. It works -and it works well. Compare Linux to Windows in terms of its failures and susceptibility to attack and it's insanely great.

What de Raadt and others (including me) mean when we say Linux is a second rate Unix is that Solaris is better for users and OpenBSD is more secure - but remember that the gap between Solaris and Linux is quite small relative to the gulf between Linux and Windows.

The biggest thing both for and against Linux is that it has always been heavily optimized for x86 - it started as a minix kernel hack aimed at making it run better on x86 by replacing object messaging with x86 interrupts. On the ++ side, it's very efficient and reliable on x86, on the - side the internals can be seen as a collection of appeasements aimed at x86 design weaknesses.

3) and please keep a sense of perspective: Linux works - and if kernel designers like de Raadt get excited about a competitor's bad choices - well, they're right, but that should only really matter to people who share their interests. From a user perspective, the weaknesses built into Linux can be seen as operational strengths (provided your hardware is x86).

Notice, however, that this response doesn't address his last paragraph:

I also think that AIX/HP-UX/Solaris are much more capable but will eventually disappear because they cost money (except for Solaris) and Linux doesn't. If Linux really is crap and it's going to kill "better" operating systems, is it a bad operating system in the long run? Thanks for your insight.

And, of course, it's the claims he makes here, and the question he raises, that I want to address today.

First he postulates that free Linux will kill AIX and HP-UX while hurting Solaris.

HP-UX was always another Unix that sucked horribly but worked extremely well on PA-RISC machines with the memory and bus architecture the 10/11 kernel was designed for, but like Linux with respect to x86, isn't efficient when ported to other architectures. As a result it scales well on Itanium, but everything runs well below processor potential - and even on the N-Class machines (which had PA RISC CPUs in boards designed for Itanium) performance never rose to two thirds what it should have been based on cycle for cycle comparisons to the predecessor K class.

Thus HP's slow strangulation of the HP-UX golem on Itanium is simply collateral to their decision to kill PA RISC in pursuit of a strategic role as the service supplier in an HP, Intel, and Microsoft computing world triopoly.

Linux had nothing to do with this - it's HP's executive, not Linux, that's killing off x86 competitors; and, correspondingly, it's the opportunity to sell x86 against SPARC, and Power (along with Alpha and PA RISC) that powers the company's support for Linux.

AIX, in contrast, probably has a future simply because Linux on Power hasn't been a big winner for IBM.

It's my belief, by the way, that the reason for that has little or nothing to do with technology or applications lock-in and almost everything to do with mindset. Look closely at AIX and what you see is two intermingled, but very different, kernels: the core NCR/AT&T Unix that makes it all work, and twenty years of encrusted competitive and authoritarian enablement making it saleable to data processing people.

Thus what makes it both possible and necessary for IBM to upsell its adherents to AIX from Linux on Power is largely that Linux lacks the control orientation inherent in the data processing mindset - think of it this way: the AIX default on just about everything is Deny, the Solaris default is generally Allow, and lots of data processing people get very uncomfortable around Linux because it falls closer to the Solaris standard than theirs on trusting users.

If, for example, you wanted to migrate a Sybase ASE 12.51 ERP instance running under HP-UX 11i to 15.1 on both Solaris and AIX, you'd find that the Solaris port takes about two hour's work with a day's worth of waiting around for things to happen, while the AIX one takes six to ten days - with most of that spent getting disk storage issues resolved (volume management and network storage are performance killers; the job boundaries imposed by the typical IBM data center mean that even trivial changes require meetings and memos; and, of course, the smart thing to do - working directly with AIX local devices - is a lot like hanging wallpaper in the dark) and making sure that both user and system processes have all the right authorizations - because they never do, and you don't find out until things blow up.

So while I agree that HP-UX appears headed for the scrap heap, I don't see the data processing mindset relinquishing all the controls and procedural detours they've managed to get into AIX any time soon - and in that context IBM's efforts to get their cell based processors working properly without Linux have something of the slow motion train wreck about them that's deeply reminiscent of their 1972 decision to can the "future systems" project.

So what's the bottom line answer here? Linux is a pretty good Unix, and contrary to popular wisdom it's not killing any other major Unix variant:

  • It's HP, not Linux and not the market, that's killed PA-RISC and killing HP-UX;

  • Linux isn't killing AIX either because IBM's decisions about AIX are likely to reflect data processing preferences - and their struggles with Power7 are really about keeping those customers buying.

  • Contrary to Red Hat, Linux isn't killing Solaris either.

    You hear about this all the time, but it's mostly just FUD being spread by people who want to sell you a free Linux - when you look at the actual decisions people who replace older SPARC/Solaris installations with new Lintel stuff are making, it turns out they're generally doing it because x86 is now performance competitive at the loads those machines carried, easier to get approved by senior managers who read drug store ads for PCs, and preferable to actually going Wintel.

The second part of his question was whether the role he sees Linux playing in the deaths of HP-UX, AIX, and Solaris makes choosing Linux counter-productive in the longer term. The answer to that, I think, is No - because Linux isn't killing any other Unix; it's giving people who want to move to x86 a better, and often cheaper, alternative to Windows.