The Daemon, the GNU and the Penguin - by Peter H. Salus - Ch. 2 & 3
by Pamela Jones
April 14 2005Here'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 [ http://www.groklaw.net/article.php?story=20050327184603969 ] and Chapter 1 [ http://www.groklaw.net/article.php?story=20050407114834583 ].
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.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
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.
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.While Multics certainly influenced UNIX, there were also profound differences.
It didn't exist by itself for very long ... maybe a day or two before we started developing the things we needed.
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.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.
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.
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.
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 CACM article most definitely had a dramatic impact.
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."
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:
INTRODUCTIONThe 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
Case Western Reserve University
The Children's Museum
City University of New York
Duke Medical Center
East Brunswick High School
Hebrew University of Jerusalem
Johns Hopkins University
Naval Postgraduate School
Oregon Museum of Science
Polytechnic University of NY
The Rand Corporation
St. Olaf College
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."
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 . 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 , 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.Lou Katz' version is a bit different:
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.)...
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.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.
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 this time AT&T had a strict policy of
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" [ http://www.amazon.com/exec/obidos/ASIN/0201547775/104-5814137-2823163 ] and several other books [ http://www.computerbooks01.com/search/books/AuthorSearch/Peter+H.+Salus/1/ ], 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" [ http://technetcast.ddj.com/tnc_play_stream.html?stream_id=583 ] which was done in 2001 at a USENIX conference. Dr. Salus has served as Executive Director of the USENIX Association.
10:56 PM EDT
Copyright 2005 http://www.groklaw.net - http://creativecommons.org/licenses/by-nc-nd/3.0/