|The User-Developer Convergence: Innovation and Software Systems Development in the Apache Project|
|Prev||Chapter 4. Hacking||Next|
Bell Laboratories and General Electrics had been working on a joint venture since the mid 1960s. They were developing a multi user, time-sharing, multi-processor operating system based around a hierarchic file system. The operating system was meant to replace IBM's operating system, the Compatible Time-sharing System, or CTS for short. Bell and GE called their system Multics. By 1969 the Multics project was on the brink of collapse. Since 1968 the software developers by Bell Laboratories were becoming increasingly convinced Multics would never become the envisioned operating system. Under pretense of writing a word processor for AT&T Bell's patent office, Multics developers Ken Thompson, Dennis Ritchie, M.D. McIllroy and J.F. Ossanna set to developing their own timesharing operating system. This operating system was also to be based around a hierarchic file system.
During 1969 ideas were formulated, and using an old DEC PDP-7 that Ken Thompson had been implementing his own version of the game Space Travel, the file system was implemented. The filesystem would form the core of the operating system that would later be known as Unix. The name Unix is attributed another of Bell Lab's developers, Brian Kernighan, as a pun on Multics (think uni instead of multi). Every time Bell Labs got a new computer, Unix had to be reimplemented. The reason for this was that the entire operating system was written in assembler, code that is specific to a hardware architecture. Each reimplementation saw improvements in the operating system. By 1971 the word processor was ready for the patent office. In the process the Bell Lab developers had developed an operating system that remains popular till this day.
Probably the largest reimplementation of Unix took place in 1973 when Brian Kernighan and Dennis Ritchie created the C programming language for Unix systems programming. That year Unix was ported from assembly code to C. Unlike assembler, C abstracts hardware details. Instead of having to port the entire operating system every time a new hardware architecture is to be used, only the C compiler had to be ported. This gave Unix an advantage over other contemporary operating system, earning its name the portable operating system [RITCHIE1980](Ritchie 1984) [RAYMOND1999B](Raymond 1999b).
1973 was also the year when Unix took its first steps into the world. That year Ken Thompson and Dennis Ritchie presented a paper on Unix. This took place at the "Symposium for Operating Systems" held by Purdue University. Due to an anti-trust agreement between the federal authorities and AT&T Bell, the company was forbidden to market or sell anything but telecommunications equipment. They could not sell Unix for profit, so when professor Bob Fabry of Berkeley University asked Thompson and Ritchie if he could have a copy of their operating system, they were happy to oblige. January 1974 a tape containing Unix version 4 arrived at Berkeley. Shortly after the people at Berkeley were in desperate need of help. Unix crashed of inexplicable reasons. Via a modem line from the east coast Ken Thompson helped debug. This was the beginning of the cooperation between AT&T Bell and Berkeley University.
While AT&T Bell could not market Unix, people at Berkeley did. In 1977 Bill Joy created the first Berkeley Software Distribution, BSD for short. BSD consisted of the Unix operating system and a Pascal system Joy had co-developed with Ken Thompson when Thompson spent his sabbatical at Berkeley in 1976. By 1978 the BSD had already undergone dramatic changes, and Joy released a new version he called 2BSD. This new version included termcap, a universal screen driver, and vi a text editor Joy had written specifically for termcap. BSD continued to expand over the next years. The operating system was still AT&T's property, and all BSD users had to acquire a Unix license from AT&T.
While Unix was developed within a corporate atmosphere its development is central to the hacker culture. The original Unix developers are considered hackers, even though they work within corporations. This indicates that being a hacker is more a set of mind. Not only has Unix become the hacker operating system of preference, but the C programming language devised for Unix systems programming is the hacking culture's lingua franca. Eric Raymond says that C was designed to be pleasant, unconstraining, and flexible as an explanations of its popularity. He further says that both Unix and C were constructed from the "Keep It Simple Stupid" philosophy. Both these traits are, in his eyes, typical for the hacker mind set [RAYMOND1999B](Raymond 1999b. BSD's spread within the university system is probably one of the reasons for Unix' popularity, but a decision made by the Defense Advanced Research Projects Agency, an agency within the US Department of Defence, Department of Defence Research, was to further contribute to Unix' popularity.