The unity of Unix

Paul Murphy | July 27, 2005 1:55 PM PDT

Summary

Paul Murphy: Whether you prefer Linux, BSD, or Solaris is immaterial when the choice is Unix or Windows. If you work with Red Hat the enemy isn't Sun; and if you work with OS X, the enemy isn't Linux. For any Unix, the enemy is Microsoft.

Although many people claim that Linux is well on its way to replacingUnix, the reality is that Linux is Unix: a particular stream within a much widercommunity whose traditions and ideas both surround and extend those found in theLinux group.

Look carefully at the history of Unix and what you see is a core set of ideas worked outin many different ways by many different people. Unix detractors invariably talk about thefracturing of Unix and refer disparagingly to what they call the "Unix wars" of the 1980s, but in reality even the most widely divergent Unix products generally differedin implementation detail and hardware support, not in concept.

In this context, it's important to remember where Unix and open source came from: they're implementationsof core academic traditions in the development of community and the publication of results.

The computer science side of the turf wars that took place at MIT during the early 1960s run upto the Multics development decision wanted the system to act as a focal point for the development of a communityof users with openly published source code. Here, for example,is part of what key Multics designersCorbato and Vyssotsky wrote in 1965:

It is expected that the Multics system will be published when it is operating substantially. ... Suchpublication is desirable for two reasons: First, the system should withstand public scrutiny andcriticism volunteered by interested readers; second, in an age of increasing complexity, it is anobligation to present and future system designers to make the inner operating system as lucid aspossible so as to reveal the basic system issues.
...
The present plans for the Multics system are not unattainable. However, it is presumptuous to think that the initialsystem can successfully meet all the requirements that have been set. The system will evolve under the influence ofthe users and their activities for a long time and in directions which are hard to predict at this time. Experienceindicates that the availability of on line terminals drastically changes user habits and these changes in turnsuggest changes and additions to the system itself. It is expected that most of the system additions will come fromthe users themselves and the system will eventually become the repository of the procedure and data knowledge of thecommunity.

From the academic perspective, a time-sharing computer system looked like a communications nexustying together a community of users; but that wasn'thow the other side, composed mainly of IBM's data processing professionals, saw it. To them,secrecy is essential and a computer is an electronic clerk used to replace people, not to extend theirabilities.

In the end, the science sidewon the funding and design battles, but development was handed over to the data processing professionals. What theyproduced, of course, was a system (and a development project) cast more in their own imagethan that of the designers. Thus it took Thompson's single-minded rebellion against the excesses and mindset ofthe Multics project to produce Unix -- really the product Multics had been intended to be.

Today, the best known Unix variants are Linux, the BSDs, and Solaris. Of these, Linuxis fundamentally still what it set out to be: Freax (pronounced freeux),a free Unix for the 386; the BSDscontinue the research heritage while powering four million new Macs a year; and Solaris isleading the migration to next-generation Unix by implementing true network computing on the Plan9 model.

It's because of this commonality of origin and purpose thatthe overwhelming majority of what people need to know to make effective use of Unix is independentof the product label. Core processes, from access to development libraries to the fundamentals ofday-to-day operation, are functionally the same across all major variants -- and so are hundreds ofGNU utilities and thousands of open source applications. From both user and sysadmin perspectives, Perlis Perl, PostGres is PostGres,and SAMBA doesn't change in any significant way whether the host runs Linux, netBSD, or Solaris.

One of the areas in which this has consequences is systems hiring. It's quite true that someone'shands-on experience with one of the dead or dying Unix variants won't apply directly toLinux, BSD, or Solaris. However, someone who knows how to use HP's ISL configs or how tomake raw devices under AIX usually also knows when and why to do these things -- and that'swhat's important. Any specifics needed are available in the on-line manuals.

That doesn't mean that Red Hat certification qualifies an applicant to debug Oracle ona 72-processor Solaris machine; there are differences both in the details and in the toolsavailable. What it does mean is that the Red Hat guy's ramp-up to Solaris competence is very smallcompared to the hurdles faced by a competitor whose experience isencapsulated by an MCSE designation.

People who categorize the Unix market as splintered or fractured are generally trying to compare itunfavorably to Microsoft's Windows. That's simply wrong: Windows is a brand, Unix a set of ideas.The Windows brand has been consistently handled, but there's essentially no continuity of ideas between the3.0, 95, NT, and Longhorn Windows generations. The Unix hardware makers, in contrast, have tried hardto differentiate their products through branding when, in reality, all of their productshave been part of the same family.

Oddly enough, therefore, both beliefs: that Microsoft hasbeen consistent and that Unix hasn't, are consequences of marketing fictions.

In Microsoft's case that marketing fiction has required some pretense to backward compatibility -- with the odd result that today's 60 million line desktopswill run some 10-year-old binaries, but not allow code written for previous Windows generations tocompile.

Unix doesn't have Microsoft's surface consistency, but theory drives changeto build a record of continuity as ideas are tested, accepted, and implemented. As a result,the examples in Kernighan and Ritchie's 1978 The C ProgrammingLanguage work today, Kernighan and Pike's 1984 The Unix Programming Environment applies aboutequally well to Linux, netBSD, and Solaris, and binaries made for the first 64-bit UltraSPARCS 10 years ago will run, unchanged,on Sun's next-generation Niagara hardware.

I'm writing this on the fourth of July and the phrase "e pluribus unum" (out of many, one) comes to mind.Look at Unix as it is today, as it was 10 years ago, or as it started in the 1970sand that's what you see: out of many, one: many developers, manyagendas, many skillsets, many variants, one continuously developing and expanding set of ideas.

That reality has implications for everyone involved. Competition has always been part of the game, but whether youprefer Linux, BSD, or Solaris is fundamentally immaterial when the choice is Unix or Windows -- helping anemployer choose to install and use any Unix variantgrows everybody's market. Remember, there are bad guys --companies that value money over progress -- in the race, but if you work with Red Hat theenemy isn't Sun; and if you workwith OS X the enemy isn't Linux. For any Unix, the enemy is Microsoft.

There's a simple, personal bottom line to this: Unix is Unix, the benefits come from openness,community, and 50 yearsof consistent progress in the implementation of a handful of key ideas. In that context,whether your skills come from working with brand A or brand B really doesn't matter: you use what works.If you're most comfortable with Red Hat but your employer's needs whisper "Solaris" or "Darwin", grab the opportunity to learn a bit more -- it'll do you, and your employer, nothing but good.Remember, a rising tide lifts all boats: the more Macs and Sun machines get installed, the morevalue your Red Hat certification will really have.

Paul Murphy wrote and published The Unix Guide to Defenestration.Murphy is a 25-year veteran of the I.T. consulting industry, specializing in Unix and Unix-relatedmanagement issues.

Talkback - Tell Us What You Think

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity