8 Unix Perhaps the most startling fact about RIP is that it was built and widely distributed with no formal standard. Most implementations have been derived from the Berkeley code, with interoperability lim- ited by the programmer’s understanding of undocumented details and subtleties. As new versions appear, more problems arise. Like a classics radio station whose play list spans decades, Unix simulta- neously exhibits its mixed and dated heritage. There’s Clash-era graphics interfaces Beatles-era two-letter command names and systems programs (for example, ps) whose terse and obscure output was designed for slow teletypes Bing Crosby-era command editing (# and @ are still the default line editing commands), and Scott Joplin-era core dumps. Others have noticed that Unix is evolutionarily superior to its competition, rather than technically superior. Richard P. Gabriel, in his essay “The Rise of Worse-is-Better,” expounds on this theme (see Appendix A). His thesis is that the Unix design philosophy requires that all design decisions err on the side of implementation simplicity, and not on the side of correctness, consistency, or completeness. He calls this the “Worse Is Better” philoso- phy and shows how it yields programs that are technically inferior to pro- grams designed where correctness and consistency are paramount, but that are evolutionarily superior because they port more easily. Just like a virus. There’s nothing elegant about viruses, but they are very successful. You will probably die from one, in fact. A comforting thought. Sex, Drugs, and Unix While Unix spread like a virus, its adoption by so many can only be described by another metaphor: that of a designer drug. Like any good drug dealer, AT&T gave away free samples of Unix to uni- versity types during the 1970s. Researchers and students got a better high from Unix than any other OS. It was cheap, it was malleable, it ran on rela- tively inexpensive hardware. And it was superior, for their needs, to any- thing else they could obtain. Better operating systems that would soon be competing with Unix either required hardware that universities couldn’t afford, weren’t “free,” or weren’t yet out of the labs that were busily syn- thesizing them. AT&T’s policy produced, at no cost, scads of freshly minted Unix hackers that were psychologically, if not chemically, depen- dent on Unix.
Standardizing Unconformity 9 When the Motorola 68000 microprocessor appeared, dozens of workstation companies sprouted. Very few had significant O/S expertise. Virtually all of them used Unix, because it was portable, and because Unix hackers that had no other way to get their fixes were readily and cheaply available. These programmers were capable of jury-rigging (sometimes called “port- ing”) Unix onto different platforms. For these workstation manufacturers, the economic choice was Unix. Did users want the operating system where bugs didn’t get fixed? Not likely. Did users want the operating system with a terrible tool set? Proba- bly not. Did users want the OS without automatic command completion? No. Did users really want the OS with a terrible and dangerous user inter- face? No way. Did users want the OS without memory mapped files? No. Did users want the OS that couldn’t stay up more than a few days (some- times hours) at a time? Nope. Did users want the only OS without intelli- gent typeahead? Indeed not. Did users want the cheapest workstation money could buy that supported a compiler and linker? Absolutely. They were willing to make a few sacrifices. Users said that they wanted Unix because it was better than the “stone knives and bear skins” FORTRAN and Cobol development environments that they had been using for three decades. But in chosing Unix, they unknowingly ignored years of research on operating systems that would have done a far better job of solving their problems. It didn’t really matter, they thought: Unix was better than what they had. By 1984, according to DEC’s own figures, one quarter of the VAX installations in the United States were running Unix, even though DEC wouldn’t support it. Sun Microsystems became the success it is today because it produced the cheapest workstations, not because they were the best or provided the best price/performance. High-quality OSs required too much computing power to support. So the economical, not technical, choice was Unix. Unix was written into Sun's business plan, accomplished Unix hackers were among the founders, and customers got what they paid for. Standardizing Unconformity “The wonderful thing about standards is that there are so many of them to choose from.” —Grace Murray Hopper