Here's Chapters 2 and 3 of The Daemon, the GNU and the Penguin, a History of Free and Open Source, by Dr. Peter H. Salus. If you missed earlier installments, here's the introduction and Chapter 1.
*****************************
The Daemon, the Gnu and the Penguin
By Peter H. Salus
Chapter 2. UNIX
In spring 1969, AT&T decided to terminate its involvement in a
project called Multics -- Multiplexed Information and Computing
Service -- which had been started in 1964 by MIT, GE and Bell
Labs. This left those at AT&T Bell Labs who had been working on
the project -- notably Doug McIlroy, Dennis Ritchie and Ken
Thompson -- at loose ends. Doug immediately got involved with
other things in Murray Hill, NJ, but Dennis and Ken had been
interested in the project per se and wanted to explore several
of its ideas.
Ken has said:
Dennis and [Rudd] Canaday and I were discussing these ideas
of the general nature of keeping the files out of each
other's hair and the nitty-gritty of expanding, of the
real implementation where you put block addresses...
We did it in Canaday's office, and, at the end of the
discussion, Canaday picked up the phone; there was a new
service at Bell Laboratories that took dictation. You
call up essentially a tape recorder and you give notes, and
then the next morning the notes are typed and sent to you.
The next day these notes came back, and all the acronyms
were butchered, like 'inode' was 'eyen...'. So we got back
these descriptions and they were copied, and we each had
copies of them and they became the working document for the
file system -- which was just built in a day or two
on the PDP-7.
At first ... we used it for other things, you know, the
famous Space Travel game, and it was the natural candidate
as the place to put the file system. When we hacked out
this design, this rough design of the file system on the
dictation [machine] that day in Canaday's office, I went
off and implemented it on the PDP-7.
I won't go into full detail on the evolution of that file system
on the PDP-7 to Unics [Uniplexed Information and Computing Service, a pun on cut-down (emasculated) Multics devised by Peter Neumann, an inveterate punster. 1 Several people
told me that Brian Kernighan had changed the spelling to UNIX,
but Brian told me that he had not, and that no one recalled who
had done it.] For now, it is important to realize that it was
the cooperative product of several brilliant minds: Ritchie,
Thompson and Canaday, of whom Robert Morris (who joined Bell
Labs in 1960 and is now Chief Scientist at the National Computer
Security Center in Maryland) said he was the "most underrated"
of the original participants. 2
In August 1969. Ken Thompson's wife Bonnie took their year-old son
on a trip to California to show off to their families. As a
temporary bachelor, Ken had time to work.
I allocated a week each to the operating system, the shell,
the editor and the assembler [he told me]... and during the
month she was gone, it was totally rewritten in a form that
looked like an operating system, with tools that were sort
of known, you know, assembler, editor, and shell -- if not
maintaining itself, right on the verge of maintaining itself,
to totally sever the GECOS [= General Electric Comprehensive
Operating System, a clone of System/360 DOS] connection. ...
Yeh, essentially one person for a month.
It didn't exist by itself for very long ... maybe a day or
two before we started developing the things we needed.
While Multics certainly influenced UNIX, there were also profound
differences.
Dennis Ritchie explained:
We were a bit oppressed by the big system mentality. Ken
wanted to do something simple. Presumably, as important
as anything was the simple fact that our means were much
smaller -- we could get only small machines with none of
the fancy Multics hardware.
So UNIX wasn't quite a reaction against Multics, it was
more a combination of these things. Multics wasn't there
for us any more, but we liked the feel of interactive
computing that it offered; Ken had some ideas about how
to do a system that he had to work out; and the hardware
available as well as our inclinations tended to trying
to build neat small things, instead of grandiose ones.
Thompson "scarfed up" a PDP-7 and "did this neat stuff with it,"
Ritchie told me, modestly. Thompson created a new toy that would
initiate work on a new system all over the world.
Soon a PDP-11 was acquired and UNIX was rewritten and expanded
and rewritten. With McIlroy prodding, Dennis and Ken produced
a UNIX Programmer's Manual (dated "November 3, 1971"). A
"Second Edition" was issued June 12, 1972: "the number of Unix
installations has grown to 10, with more expected," the Preface
told us. Third Edition of the manual appeared "February, 1973,"
and noted that there were "now 16 installations." That was
soon to wax quite rapidly.
All of the first 10 installations were at AT&T in New Jersey.
In the late summer of 1972, UNIX leaped across the Hudson River
to an office on the 14th floor of 330 Madison Avenue in Manhattan.
Neil Groundwater had joined New York Telephone upon graduating
from Penn State. He commuted from his apartment in Manhattan
to Whippany, NJ., where he worked on programming for the
Electronic Switching System. But being in Whippany placed him
in proximity to Bell Labs and he began learning about UNIX.
It was no easy task. "There was documentation on some parts,"
he told me. "But as we would come to say years later, 'Use
the source, Luke' was the sole answer to many questions."3
In October 1973, Dennis Ritchie and Ken Thompson drove up
the Hudson Valley to the new IBM Research Center at Yorktown
Heights to deliver the first UNIX paper at the Symposium on
Operating System Principles.
"It was a beautiful fall day," Dennis remarked. Ken, who
delivered the paper, told me: "The audience was several hundred.
I was pretty nervous. The response was the normal, polite
applause. I don't recall any questions."
Ken was over-modest. The audience was quite enthusiastic. Ken
and Dennis were immediately asked for copies of the new system.
This put the AT&T lawyers in a bind: was a computer operating
system part of "common carrier communications services"? Was
AT&T required to distribute UNIX?
The decision of the corporate lawyers was that Bell Labs should
distribute UNIX to academic and research institutions at the cost
of the media involved plus a shipping charge. Within a few months,
several dozen institutions requested UNIX.
Chapter 3. The Users
Let's go back to the mid-1950s. At the time that Judge Meaney
was considering the action against AT&T, IBM was coming out with
the 704, an upgrade of the 701. As mentioned earlier, the
transitioning from the 701 to the 704 wasn't easy, so some of IBM
"operators" formed the organization still known as SHARE.
Soon, many computer manufacturers were sponsoring user
organizations. DECUS -- the DEC Users' Society -- first met in
1961. It soon had a British branch (DECUS UK), and rapidly
became yet more international. Remington Rand, Bendix and
Burroughs had formed user groups. And in but a few years,
Prime and Apollo had user organizations as well -- PRIMUS and ADUS.
So, by the beginning of 1974 there were a number of user groups
exchanging information and a new operating system that was
beginning to get folks excited. No one had thought seriously
about licensing. And there were 40 nodes on the ARPAnet.
Early in 1974, Mel Ferentz (then at Brooklyn College)4 and Lou Katz (then at Columbia's College of
Physicians and Surgeons)5called a
meeting of UNIX users in New York in May. Ken Thompson supplied
them with a list of those who had requested a copy of UNIX
after the SOSP meeting. Nearly three dozen in under six months.
The meeting took place on May 15, 1974. The agenda was a simple
one: descriptions of several installations and uses; lunch; "Ken
Thompson speaks!"; interchange of UNIX hints; interchange of DEC
hints; free-for-all discussion. Lou told me that he thought
there were about 20 people in attendance; Mel thought it might
have been a few more than that. That's the organization that's
now the USENIX Association.
The Ritchie-Thompson paper appeared in the July 1974 issue of
Communications of the ACM. The editor described it as "elegant."
Soon, Ken was awash in requests for UNIX.
Mike O'Dell's reaction to the article is typical. In 1974, Mike
was an undergraduate at the University of Oklahoma. He told me:
When the famous 1974 CACM issue appeared, I was working at
the OU Computer Center. We had this thing called ITF, the
Intermittent Terminal Facility, which had the world's
worst implementation of BASIC, and one of the guys had
written some routines which let you do I/O on terminals -- and
this was a non-trivial feat. So a group of us sat down
and tried to figure out whether we could do something
interesting. ...
The UNIX issue came. I remember going down the hall and
getting it out of my mailbox and saying to myself, Oh,
ACM's got something on operating systems, maybe it's worth
reading. And I started reading through it. I remember
reading this paper on the UNIX time-sharing system. It was
sort of like being hit in the head with a rock. And I reread
it. And I got up and went out of my office, around the corner
to George Maybry who was one of the other guys involved with
this. And I threw the issue down on his desk and said: "How
could this many people have been so wrong for so long?"
And he said: "What are you talking about?"
And I said: "Read this and then try to tell me that what we've
been doing is not just nuts. We've been crazy. This is what
we want."
The CACM article most definitely had a dramatic impact.
Today, things would be quite different. Lou Katz wouldn't have
relied on written notices; Ferentz might not have produced a
purple-Dittoed newsletter. O'Dell wouldn't have gleaned the
news from CACM, but from email and the Internet and
the Web.
By 1975, the ARPAnet (with 60 nodes and soon to turn into the
Internet) was becoming a way of distributing information. In
late 1969, what we would think of as telnet and ftp were all
there was. Then, in 1971, Ray Tomlinson invented email (which
soon became the principal use of the ARPAnet), and in May 1975,
RFC 681, "Network UNIX," appeared. Written by Steve Holmgren,
Steve Bunch and Gary Grossman, the RFC began:
INTRODUCTION
THE UNIX TIME-SHARING SYSTEM PRESENTS SEVERAL INTERESTING
CAPABILITIES AS AN ARPA NETWORK MINI-HOST. IT OFFERS POWERFUL
LOCAL PROCESSING FACILITIES IN TERMS OF USER PROGRAMS, SEVERAL
COMPILERS, AN EDITOR BASED ON QED, A VERSATILE DOCUMENT
PREPARATION SYSTEM, AND AN EFFICIENT FILE SYSTEM FEATURING
SOPHISTICATED ACCESS CONTROL, MOUNTABLE AND DE-MOUNTABLE VOLUMES,
AND A UNIFIED TREATMENT OF PERIPHERALS AS SPECIAL FILES.
The secret, such as it was, was out. Several people have expressed
their strong feelings as to just how this "put UNIX on the Net."
I feel that the effect was more powerful: over the next few
years, the result was that the Internet was run on UNIX. The
protocols all were in tune with the "UNIX Philosophy." What we
would now call "source" was widely available. Anyone actually
running UNIX had accessible source. This meant that there could
be true communication and we were approaching interoperability.
The direct result was that UNIX was soon in use throughout the
world: Japan and Australia; most of Europe; North America.
Just how widespread UNIX was can be seen from Ferentz' first mailing
list (July 30, 1975) published in UNIX NEWS:
The First Mailing List
Bell Telephone Labs
Brooklyn College
Carleton College
Case Western Reserve University
The Children's Museum
City University of New York
Columbia University
Duke Medical Center
East Brunswick High School
Harvard University
Hebrew University of Jerusalem
Heriot-Watt University
Johns Hopkins University
Knox College
Naval Postgraduate School
Oregon Museum of Science
Polytechnic University of NY
Princeton University
The Rand Corporation
St. Olaf College
Stanford University
The Spence School
Univ. Catholique de Louvain
University of Alberta
U. of California, Berkeley
U. of Manitoba
U. of North Carolina
U. of Saskatchewan
U. of Texas at Dallas
U. of Toronto
U. of Utah
U. of Waterloo
U. of Wisconsin
The US, Scotland, Belgium, and Canada; universities and museums;
a public high school and a private girls' school. In one year
from publication. But in mid-1975, few of these establishments
had electronic connectivity. In a few years, that would change
and many (if not all) of the user sites would have some sort of
network connection.
Another problem was hardware. In 1975, if you wanted to run
UNIX, you needed a PDP-11 from DEC. That, too, was to change.
That change came about first at Princeton and then, simultaneously,
at two sites about half the world apart from one another: Bell Labs
in Murray Hill, NJ, and the Wollongong satellite campus of the
University of New South Wales in Australia. 6
First, at Princeton, in 1976 and 1977, Tom Lyon enabled some
parts of UNIX to run under VM/360 on an IBM 360. It was only
the first step.
At the Labs, in 1977-78, Dennis Ritchie and Steve Johnson ported
UNIX to the Interdata 8/32; in Australia, Richard Miller and
his colleagues were porting UNIX to the Interdata 7/32. 7
Dennis Ritchie has said that porting to the Interdata was both a
challenge and an achievement he was most proud of, for it
demonstrated that UNIX could be ported to non-DEC hardware.
Steve Johnson told me that once one had ported something to an
alien architecture, one knew better than to try it again. He
referred to the Interdata as the "Intersnail."
Australia? Yes.
John Lions read the CACM article in the summer of 1974,
when the University of New South Wales was about to get a PDP-11/40,
and the University negotiated a license with Western Electric.8 In 1975-76,
UNIX was a real hit on the UNSW campus. But Lions had a problem.
He wanted to use UNIX in teaching operating systems. But there
was no textbook and there was no explicated version of the code -- v6.
So Lions decided to do something about the lack: he wrote a
commentary on the code (9073 lines at that time) and received
permission from Western Electric to print out the code and
commentary for instructional purposes. UNSW duplicated the
code in red cardboard covers and the commentary in orange.
They were as big a hit as the system.
The March 1977 issue of UNIX NEWS (vol. 2, no. 3) announced
the availability of the books (to licensees) together with a note
by Mel Ferentz: "Ken Thompson has seen the first version of
the book and reports that it is a good job" (quite a review).
The price, including airmail, was $A17.70 (under $20 US, at that
time). The UKUUG Newsletter announced the availability of
the code and commentary, too, but the next issue said that
future orders should be placed with Bell Laboratories and by
1978 the volumes were no longer available. (The Labs'
reproductions were in a single volume bound in black.)
Someone at AT&T/Western Electric had woken up.
Once again, the proverbial cat was out of the bag.
Over the years, over nearly two decades, John Lions' Code and
Commentary became the most copied work in computing. They
carry the appropriate copyright notices and the restriction to
licensees, but there was no way that Western Electric could
stem their circulation. They were just too valuable. (I admit
that I possess an nth-generation photocopy as well as treasured
copies, in orange and red covers, inscribed to me by John Lions.)9
Why care? Because here we are in the mid-1970s with the users
taking control and determining what to distribute where
information was concerned. Luckily, Western Electric was no
more successful at controlling information than Popes Paul V
and Urban VIII were when Galileo wrote of heliocentricity. But
note again: In the 1970s, you received Lions' work in hard
copy, via airmail from Sydney, Australia.
Similarly, the inability of the AT&T/Western Electric lawyers
to decide just what was permissible led an announcement in
UNIX NEWS (30 April 1976) that Lew Law of the Harvard
Science Center was
willing to undertake the task of reproducing and distributing
the manuals for UNIX. ... 'The UNIX PROGRAMMER'S MANUAL' Sixth
Edition dated May 1975 will be reproduced in its entirety. Most
installations will want to remove several pages...
The May-June 1976 issue announced "the first mailing from the
Software Exchange." This first software tape contained
Harvard software; the duplication and mailing was done by
Mike O'Brien, then at the University of Illinois at Chicago
Circle. The idea had come to him earlier.
It depends on what you mean by "began". Actually, I was one
of the "forty people in a classroom" at the meeting called much
earlier than the Urbana meeting by Mel Ferentz [1975]. It was at
that meeting that the idea of hosting a "Unix Users' Group tape
exchange" hit me. I came home from that meeting, cleared it
with my management, and declared myself open for business. By
the time Urbana came around [1977], the UNIX Users' Group Software
Distribution Center had been a going concern for some time.
The second software tape was announced in November 1976, along
with the following note from O'Brien:
I got the "diff" listing of all changes to Bell UNIX system proper
from "standard" version 6 ... Anyway, I've itemized some 50
changes, and sent the list to Ken for verification and comments.
The changes will be available through the center by special request.
The second distribution tape contained contributions from the
RAND Corporation, the Naval Postgraduate School, the
University of California at San Diego, Yale, and UIUC. The
Third Software Distribution was announced in May 1977. The last
USENIX distribution was in 1988 and consisted of two 10-inch
reels. The 50-bugs tape has an interesting tale connected to it.
Ken Thompson told me:
The first thing to realize is that the outside world ran on
releases of UNIX (V4, V5, V6, V7) but we did not. Our view
was a continuum.
After V6, I was preparing to go to Berkeley to teach for a year.
I was putting together a system to take. Since it was almost
a release, I made a "diff" with V6. On the way to Berkeley, I
stopped by Urbana-Champaign to keep an eye on Greg Chesson who
was finishing up his Ph.D. (subtle recruiting). 10 I left the "diff" tape there and told him
that I wouldn't mind it if it got around. (I think I gave it
to others too, perhaps Katz.)...
Lou Katz' version is a bit different:
A large number of bug fixes was collected, and rather than issue
them one at a time, a collection tape was put together by Ken.
Some of the fixes were quite important... I suspect that a
significant number of the fixes were actually done by non-Bell
people. Ken tried to send it out, but the lawyers kept stalling
and stalling and stalling.
Finally, in complete disgust, someone "found" a tape on Mountain
Avenue [The address of Bell Laboratories was 600 Mountain Avenue,
Murray Hill, NJ] which had the fixes.
When the lawyers found out about it, they called every licensee
and threatened them with dire consequences if they didn't destroy
the tape ... after trying to find out how they got the tape. I
would guess that no one would actually tell them how they came
by the tape (I didn't). It was the first of many attempts by
the AT&T lawyers to justify their existence and to kill UNIX.
At the 1994 USENIX technical meeting, there was a 25th birthday
session after which Lou "confessed" that he had received a phone
message at Columbia to the effect that if he drove down to Mountain
Avenue "around 2pm," he'd "find" something of interest. So he and
Reidar Bornholdt drove from Manhattan to Murray Hill and "found"
the can with the tape in it. Ken told me he had "no idea" how the
tape had gotten there. Dennis suggested that it might have "fallen
from a truck." Everyone laughed.
At this time AT&T had a strict policy of
- no advertising
- no support
- no bug fixes
- payment in advance
This forced the users to band together and compelled them to
share what they had learned and what they knew.
1 Peter G. Neumann holds doctorates from
Harvard and Darmstadt. After a decade at Bell Labs, he moved to SRI
in 1971 and has remained there. Among other things, Neumann
is the co-founder of People for Internet Responsibility and chairs
the National Committee for Voting Integrity.
2 Canaday graduated from Harvard
in 1959 and subsequently received MS and PhD degrees from MIT.
He spent 25 years at Bell Labs, taking early retirement in 1989.
Long interested in business applications, Canaday was the manager of
the Programmer's Workbench "gang." He is the founder of SumTime.
3 A fuller version of Groundwater's narrative is in chapter 7
of A Quarter Century of UNIX.
4 Mel went
on to Rockefeller University and later became one of the founders
of NYSERNET.
5 Lou moved to UC Berkeley in 1981. He
was the founding President of USENIX. Lou was also the first
recipient of a 9-track tape of UNIX, cut by Ken. 6 The University
of Wollongong is now independent.
7 Interdata,
later bought by Perkin-Elmer, brought out the 7/32 in 1974 and
the 8/32 the following year.
8 See
chapter 15 of A Quarter Century of UNIX.
9 In 1996, after a great deal of correspondence and with the
active assistance of Dennis Ritchie, I succeeded in getting
permission from both AT&T and the (original) Santa Cruz Operation
to reprint Lions' work. ISBN 1-57398-013-1.
10 Chesson had
brought UNIX to the University of Illinois, where he received
his Ph.D. in 1977. He went on to become one of the founders of
Silicon Graphics.
Dr. Salus is the author of "A Quarter Century of UNIX" and several other books, including "HPL: Little Languages and Tools", "Big Book of Ipv6 Addressing Rfcs", "Handbook of Programming Languages (HPL): Imperative Programming Languages", "Casting the Net: From ARPANET to INTERNET and Beyond", and "The Handbook of Programming Languages (HPL): Functional, Concurrent and Logic Programming Languages". There is an interview with him, audio and video,"codebytes: A History of UNIX and UNIX Licences" which was done in 2001 at a USENIX conference. Dr. Salus has served as Executive Director of the USENIX Association.
|