The computer industry has undergone vast cultural changes in its short life. The Personal Computer, once the domain of pocket-protector hobbyists (you know who you are), has become a major revenue generator for the coffers of United States businesses. When an erstwhile hobby becomes popular or widely accessible, someone in our beloved country manages to find a way to make money off it.
This attitude runs counter to the early days of the computer culture: If you find a better way to do something, you share it. With so few brilliant people in the industry, the bright ones had no shame about copying off someone else’s answers if it saved them work and made a better program. Even today the "everybody join hands" attitude of open solutions pervades: the Internet should be free, censorship is unacceptable, and only democratic standards bodies should direct the market.
In opposition to these grassroots grumblings, big players like Microsoft, Intel, Sun Microsystems and IBM live by the golden rule: "He who has the gold makes the rules." All of these companies, at one time or another, have taken a piece of public domain software, proprietized it, and resold it.
The powerhouse Operating System (OS) Unix began life in the same way. Since it is critial to understand Unix to dig Linux, let’s reminisce:
In 1965, Bell Labs (a division of AT&T ) partnered with several other corperations to write an OS called Multics, which was designed to divide its time between many dumb terminals (thus the "Multi" in the name). It was to be able to serve many users and run many programs at the same time. To make a long story slightly shorter, Bell Labs decided the project wasn't going anywhere fast and broke out of the group of companies developing it. This, however, left Bell Labs without a good operating system.
Employees Ken Thompson and Dennis Ritchie decided to sketch out an operating system that would meet Bell Labs' needs. When Thompson needed a single-user development environment to run on an older DEC PDP-7 mini-computer, he engineered a new system based on the Multics system objectives. As a pun on Multics, Brian Kernighan gave the system the name UNIX.
Later, Ritchie invented the "C'' programming language, which (unlike the assembler language) was not machine specific. A program written in C could, with less trouble than an assembler program, be "ported" or converted to any other machine. A tedious process, but much faster than writing the whole thing over from scratch. In 1973, UNIX was rewritten in C and was later moved to a different class of machine, away from the PDP machines it had run on previously. This cross platform move was only possible because UNIX was written in C.
This easy portability explains how UNIX was able to become so ubiquitous so quickly. It also didn’t hurt that the UNIX "source" code (the raw instructions that are boiled down to a usable system by a process called "compiling") was given away for free to universities in the days when AT&T was still a regulated monopoly prohibited from competing in the computer market. The agreements was one of, "Here it is. Don’t ask us any questions, don’t expect any support."
Because it was so widely available on University campuses, UNIX became the operating system of choice for teaching computer science... and when students graduated, many of them wanted to keep working with UNIX. UNIX is now run on nearly all computers used in science and engineering. One of the reasons UNIX became so popular for intensive computing is that, unlike a Personal Computer Operating Systems such as DOS (which is limited to doing only one thing at a time, for one person at a time), UNIX is multi-user and multi-tasking. That is, many users can be running many programs at the same time.
Because it’s initial distribution was based on public domain source code, UNIX offered the chance for any company to improve on what was originally offered and then resell it as its own "flavor" of the Operating System. Unix became a bramble of competing versions from different companies, all of which sold "their" flavor of Unix for a fat profit. Even the original "free" Unix is gone today. AT&T finally began selling their Unix and along the way there have been many other versions: UTX(Gould), Aix(IBM), Aux(Apple), Ctix(Convergent Technologies), Posix(IEEE), HP-UX(Hewlet-Packard), PC/IX(IBM), 370/IX(IBM), Sinix(Siemens), Ultrix(DEC), VP/ix(Phoenix), UTS (Amadahl), Solaris/SunOS(Sun) and Xenix(Microsoft). (WHEW!) Right now there is no "official" Unix and no matter what flavor you buy, you will pay through the nose: A single user, single workstation license starts at about $450 for just the Operating System. At $269, no wonder Windows NT Workstation is so popular, despite its’ less robust nature: The fractious nature of Unix opened the market up to the Microsoft monoculture.
All of this slash and burn proprietism denies the original ethos of research programming: If you’ve found a better way, share it. If you improve a system, help everyone out and improve the entire infrastructure. The systems will run better, and everyone will have less trouble. Peace-love-and-kumbaya. Tofu, anyone?
While this happy hippy share-everything communalism is a neat dream, it doesn’t play well in the boardroom. Sharing information doesn’t make money quickly, raise stocks, or "increase shareholder value." Since proprietism is a cornerstone of commerce, it makes bean-counter sense to be sure what you are selling is yours exclusively.
Some programmers that had worked on Unix got so disgusted with the tight fisted capriciousness, that they broke away from the commercially available versions and wrote what could be called Unix Lite: Minix.
Minix wasn’t much to speak of. It couldn’t support a large concurrent user population, and never really caught on. But the idea of a completely free version of Unix intrigued Finnish graduate student Linus Torvalds. While at the University of Helsinki, he developed a free OS that behaved exactly as Unix does.
Initially Linus intended his project as a programming exercise, but with the help of many Unix and C programmers across the Internet, it has grown into an innovative and viable alternative to the proprietary bramble of Unix and the bloated Windows platforms. The result of this global mind-meld was Linux (pronounced LIH-nucks). Anyone with enough programming skills and audacity can develop, change, and improve the system. The Linux kernel (the core of the OS) uses no code from AT&T or any other proprietary source, and much of the software available for Linux was developed through the Free Software Foundation in Cambridge, Massachusetts, U.S.A. Programmers from all over the world have contributed to the growing pool of Linux software. Major players are starting to line up: Corel offers a version of WordPerfect for Linux and is developing a complete suite of business applications as well.
What makes Linux more than a Rube Goldberg Unix is that the best programming minds around the world put it together using Unix compatibility as a baseline requirement. Thus Linux can do everything common to the various Unix flavors on the market, as well as offering extensions that don’t exist for any flavor of Unix. Its robustness and flexibility are ledgendary.
This revelation does beg the question "Why can’t what happen to Unix happen to Linux?" For the answer to that question, and to learn how Linux could threaten Microsoft Windows NT, be sure to not to miss next month’s issue!
Peace,
WebWalker