SCO v. End Users: UNIX

In the late 1970's, a division of AT&T called Unix System Laboratories created the UNIX operating system. It was sold in commerce as well as widely adopted in academia. The copyright in the software itself has been repeatedly transfered to other companies since the mid-1980's. An illustration of how mobile the software's ownership has been is that SCO does not own the  UNIX trademark - that's the property of some other unrelated company. 

UNIX was commonly (if not always) available with source code. The availability of the source code under license has meant that licensees could develop "customized" versions of UNIX, and those licensee's actions have given rise to a startling number of variants.

UNIX was designed as a small core called the kernel that is tailored to the computing hardware running the operating system, plus a host of limited functionality modules or utilities independent of the kernel. The modules and utilities rely upon kernel services to make use of the underlying machine. Though each utility does only one or a few things, the output of one utility can be "piped" to the input of another utility, forming a chain of inputs, utilities, and outputs to achieve the desired computing goal.

For instance, if you kept an address book in a text file, and you were going to San Francisco next weekend, you might extract the phone numbers for your friends in that city from the address book with a chain like this one:

% cat contacts.txt | grep "San Fran" | awk '{print $1 " "$2}' | sort -n

Each of the vertical bar symbols represents a "pipe"; UNIX will interpret the pipe as a request to connect the output of the leading command as input to the trailing command. In this example, 'cat', 'grep', 'awk', and 'sort' are the commands. So the output of `cat contacts.txt` goes into the `grep "San Fran"` command, and the output of that goes into the `awk ...` command, and so forth. Each command performs a small part of the overall task, but the sum of their actions flexibility of this approach makes it very powerful. UNIX's componentized design extends beyond simple command line utilities. Even the largest applications are generally built as an loose aggregation of libraries and utilities, tied together with a graphical user interface or a simple text mode control.

By contrast, Microsoft Windows is an operating system that has steadily grown more centralized. Many functions of Windows are part of the "core" operating system; this fact was a point of contention in the latest Antitrust suit against the company - Microsoft asserted that even its web browser was part of the operating system.

By comparison, for those who remember DOS, the core of that O.S. was just six files, and only two of those correspond to a UNIX kernel.