The Daemon, the GNU and the Penguin - by Peter H. Salus - Part 1

by Pamela Jones
Groklaw

April 07 2005

Here is our first chapter in our ongoing publication of Peter Salus' book, "A History of Free and Open Source - The Daemon, the GNU, and the Penguin." Our next chapter will be next Thursday, and every Thursday thereafter. For any who missed it, the Introduction is here [ http://www.groklaw.net/article.php?story=20050327184603969 ]. He references one of his books, "Casting the Net," which you can obtain here [ http://www.computerbooks01.com/search/books/AuthorSearch/Peter+H.+Salus/1/ ]. Enjoy.

***************************

The Daemon, the Gnu and the Penguin

By Peter H. Salus

Chapter 0. 1968 and 1969

  1. In June 1968, the Federal Communications Commission's "Carterphone" decision compelled AT&T to allow its customers to connect non-Western Electric equipment to the telephone network. [FCC Docket Number 16942; 13 FCC 2nd, 420].
  2. In July 1968, Andrew Grove and Gordon Moore founded Intel.
  3. In August 1968, William G. McGowan established Microwave Communications of America [MCI] and the FCC ruled that MCI could compete with AT&T, using microwave transport between Chicago and St. Louis.
  4. In December 1968, the Defense Advanced Research Projects Agency let a contract to Bolt, Beranek and Newman of Cambridge, MA, for just over $1 million. The contract was for a packet-switching network of four nodes.

Four more events of importance followed the next year.

  1. In August, humans landed on the moon.
  2. Summer saw the invention of UNIX.
  3. In the autumn, those first four nodes of the ARPAnet went up.
  4. And, in December, Linus Torvalds was born.

Had anyone asked, I would have thought the first of these events was the most important. Outside of his immediate family, I seriously doubt whether anyone even knew about the last of these.

As of the outset of the Twenty-First Century, the moon landing has taken us nowhere. The other items in this list though are the stuff of revolution.

Chapter 1. Ancient History

While mechanical calculation goes back to the seventeenth century, computation is far more recent. Though first conceived by Charles Babbage in 1823, the computer as we know it needed more than a century to come into being. The first true electro-mechanical computer was Harold Aiken's Mark I (conceived in 1937 and put into operation in 1944) and the first fully electronic machine was Maurice Wilkes' EDSAC (1949).

IBM and SHARE

The first commercial computer, the IBM 701, wasn't completed until late in 1952. The first production machine was shipped from Poughkeepsie to the IBM headquarters building in Manhattan that December. The second machine was destined for Los Alamos, and production continued in IBM's Poughkeepsie facility through June 1954, when machine 18 was shipped to Lockheed in Burbank. That's rather slow production by our standards, but literally everything was new in the early 1950s.

Prior to the 701, all computers had been one-offs. Aiken's, Wilkes', ENIAC, etc.; each was sui generis. The 701 was a genuine breakthrough. On 7 May 1954, the redesigned 701 was announced as the IBM 704. It was more than merely a redesign. The 704 was incompatible with the 701. It had 4096 words of magnetic core memory. It had three index registers. It employed the full, 36-bit word (as opposed to the 701's 18-bit words). It had floating-point arithmetic. It could perform 40,000 instructions per second. While deliveries began in late 1955, the operators (today we would think of them as system administrators) of the eighteen 701s were already fretful months earlier. 1

IBM itself had no solution to the problem. Though IBM had hosted a "training class" for customers of the 701 in August 1952, there were no courses, no textbooks. But several of the participants in the training class decided to continue to meet informally and discuss mutual problems. (According to Pugh2, their first meeting was "in February 1953 during an AIEE-IRE Computer Conference in Los Angeles.") The participants agreed to hold a second meeting after their own 701s had been installed. The second meeting was hosted by Douglas Aircraft in Santa Monica in August 1953. There were other informal meetings and then, following an IBM Symposium, The RAND Corporation hosted a meeting in Los Angeles in August 1955 of representatives from all seventeen organizations that had ordered 704s. It was at this meeting that the world's first computer user group was formed. It was called SHARE.

IBM encouraged the operators to meet, to discuss their problems, and to share their solutions to those problems. IBM funded the meetings as well as making a library of 300 computer programs available to members. SHARE, 50 years later, is still the place where IBM customers gain information. (A number of the earliest contributed programs are still available.)

The importance of SHARE can be seen in the fact that in December 1955, early purchasers of Remington Rand's ERA1103A formed an organization called USE [= Univac Scientific Exchange]. In 1956, user groups for Burroughs and Bendix computers were formed, as well as IBM's GUIDE, for users of their business computers. Though SHARE was vendor-sponsored at the outset, today it is an independent organization.

User groups are one thread in the complex fabric which we employ today. Another is communication.

DARPA and IPTO

In response to the USSR's launching of Sputnik in October 1957, the US Department of Defense set up the Defense Advanced Research Projects Agency (DARPA 3). That charge was "to think independently of the rest of the military and to respond quickly and innovatively to national defense challenges."

In 1962, Jack Ruina, the Director of DARPA, hired J. C. R. Licklider to be the first Director of DARPA's new Information Processing Techniques Office (IPTO). 4

Originally, the IPTO was to extend research into the computerization of the air defense system. The IPTO funded research into advanced computer (and networking) technologies and funded fifteen groups to do research in human-computer interaction and distributed systems. (Among the research sites were: Carnegie-Mellon University, MIT, the RAND Corporation, the Stanford Research Institute, the System Development Corporation, UC Berkeley, UC Santa Barbara, UCLA, the University of Southern California, and the University of Utah.) In 1963, Lick (as many called him) funded Project MAC at MIT, headed by Robert Fano. 5 Project MAC explored the potential for communities on time-sharing machines. That is, relationships among the uses and the users of shared mainframes.

And this leads directly to the next strand in our narrative: time-sharing.

Time-Sharing

John McCarthy had begun thinking about time-sharing in the mid-1950s. But it was only at MIT in 1961-62 that he, Jack Dennis and Fernando Corbato talked seriously about permitting "each user of a computer to behave as though he were in sole control of a computer." 6

When McCarthy went to MIT from Dartmouth in 1957, it was clear that time-sharing the IBM 704 would require an interrupt system which didn't exist yet. So McCarthy proposed a hardware solution involving a relay whereby the 704 could be set to "trapping mode" by an external signal. But, like many other brilliant insights, McCarthy's notion went undeveloped for several years.

Four years later, MIT had a transistorized computer, the IBM 7090, and so Corbato wrote CTSS (Compatible Time-Sharing System). While it had bugs, it was a wild success, influencing systems at Dartmouth (DTSS) and the Incompatible Time-Sharing System (ITS) for the PDP-10s at MIT (more about this later).

At the same time, Lick's imagination led him to note how many different multi-million dollar computers he was funding, each of which was a solitude, unable to communicate with others. In early 1963 he sent a memo to "Members and Affiliates of the Intergalactic Computer Network." He consistently asserted that the computer was a communications, not a computation device. Then he returned to MIT.

Lick's successor at the IPTO was Robert Taylor. He was interested in networking and, in 1966, was funding 17 sites with a variety of incompatibilities. He needed help; and he found it in Larry Roberts.

Roberts had been working at the Lincoln Laboratory in Massachusetts since 1963. While there, he and Thomas Marill had conducted a networking experiment connecting the Systems Development Corporation's AN/FSQ-32 in Santa Monica, CA, with the TX-2 at Lincoln via a 1200 bps dedicated phone link. This permitted any program on one machine to dial the other computer, log in and run a program from a server (somewhat like a subroutine call). 7

While this was quite an achievement, it really did not further the aim of ARPA, except to demonstrate that long-distance data transfer via telephone wires was indeed feasible. 8

In April 1967, Roberts and Taylor took advantage of the meeting of the IPTO Principal Investigators in Ann Arbor, MI, to talk up their ideas of a network. Some of the PIs were interested in "resource sharing," but the contractors in attendance set up a sub-group, "Communication Group," to work on problems. Among the problems were the conventions to be used in communications and the kinds of communications lines.

It was agreed that work should be begun on the conventions and that the connections would be via dial-up lines. The plan as developed was for the computer sites to be connected via commercial phone lines and data sets, so that each computer could be connected with every other computer via circuit-switching. During the discussion, Wesley Clark (who had moved to Washington University in St. Louis from Lincoln) had an idea. He thought about it and described it to Roberts after the meeting during a shared cab ride between Ann Arbor and the Detroit airport.

Clark's idea was that the problems of working out the many possible connections could be solved by placing a mini-computer on each site. These mini-computers would communicate with each other and each site would only have to concern itself with the task of communicating with its mini. Roberts incorporated the idea into his summary of the meeting, "Message Switching Network Proposal," which he sent on April 27, 1967. He called the mini an "Interface Message Processor." The IMP was born. 9

Nearly a year later, on March 1, 1968, the IPTO reported to the Director of ARPA that the specifications were "essentially complete." Larry Roberts submitted a "program plan" to the Director on June 3rd and it was approved on June 21st. The ARPA budget for 1968 earmarked $500,000 for the ARPANET.

ARPA sent out a Request for Quotation to 140 potential bidders. The Defense Supply Service - Washington received twelve proposals. Four of the bidders were deemed to be in contention and, finally, the week before Christmas 1968, the contract was awarded to BBN in Cambridge, Massachusetts. Work began on January 2, 1969. At the end of December, there were four nodes on the ARPAnet: UCLA, SRI, UCSB, and the University of Utah.

Excursus: Law I

In 1949, the Truman Department of Justice filed suit against AT&T and Western Electric, claiming the companies were acting "in restraint of trade." On 24 January 1956, Judge Thomas F. Meaney entered a "consent decree," in which the companies were enjoined "from commencing ... manufacture for sale or lease any equipment" other than that used in providing telephone or telegraph services; from "engaging ... in any business not of a character or type engaged in by Western or its subsidiaries ..."; and AT&T was enjoined "from engaging ... in any business other than the furnishing of common carrier communications services."

There were a few exceptions. Exception (b) was "experiments for the purpose of testing or developing new common carrier communications services."

AT&T was further required to reveal the patents it held and to license these when asked. No one could have foreseen the problems that this consent decree would entail.


1 Actually, there were nineteen 701s, the first having gone to IBM World Headquarters. Eventually (by 1960), 123 IBM 704 systems were sold.

2E.W. Pugh, Building IBM; MIT Press, 1995; p.186

3DoD directive 5105.15 (7 February 1958) set up "The Advanced Research Projects Agency" (ARPA). On 23 March 1972, by DoD directive, the name was changed to DARPA. On 22 February 1993, DARPA was "redesignated" ARPA, and on 22 February 1996, Public Law 104-106 (Title IX of the FY 1996 Defense Authorization Act) directed an "organizational name change" to DARPA. The basic "charge" of the Agency was not changed significantly.

4Licklider (1915-1990) has been called the Father of Artificial Intelligence, the Father of Cybernetics, the Father of the ARPAnet, and of many other things. See M.M. Waldrop, The Dream Machine (Viking Press, 2001).

5 Fano (1917- ) was born in Turin, Italy, and studied there until he emigrated to the US in 1939. He received his Sc.D. from MIT and joined its faculty in 1947. He has done important work in information theory (with Shannon), microwave transmission and networking.

6McCarthy received his Ph.D. from Princeton in 1951 and coined the term "Artificial Intelligence" at the 1955 Dartmouth Conference. He was the creator of Lisp and received the 1971 Turing Award.

7The TX-2 had been installed at Lincoln Lab in 1958, the successor to the TX-0 (1955), the first transistorized computer. The original team included Wesley Clark as the designer and Ken Olsen -- who would go off to found DEC -- as the engineer-in-charge. The TX-2 was the computer on which Ivar Sutherland in 1959 designed and ran Sketchpad, the first graphics program. SDC's AN/FSQ-32 ran TSS (Time-Sharing System) in 1963, which had been designed in response to a challenge from Licklider.

8 For a fuller narrative of how Roberts got to Washington, see my Casting the Net (1995), chapter 3.

9 Detailed pre-history of the Internet can be found in Casting the Net.


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.

"A History of Free and Open Source - The Daemon, the GNU and the Penguin" © Copyright 2005 Peter H. Salus.
Dr. Salus' book is released under a Creative Commons License, 2.0, Attribution [ http://creativecommons.org/licenses/by/2.0/ ].

12:33 AM EDT

Copyright 2005 http://www.groklaw.net - http://creativecommons.org/licenses/by-nc-nd/3.0/