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. He references one of his books, "Casting the Net," which you can obtain here. Enjoy.
The Daemon, the Gnu and the Penguin
By Peter H. Salus
Chapter 0. 1968 and 1969
- 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].
- In July 1968, Andrew Grove and Gordon Moore founded Intel.
- 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.
- 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.
- In August, humans landed on the moon.
- Summer saw the invention of UNIX.
- In the autumn, those first four nodes of the ARPAnet went up.
- 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
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).
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:
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."
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).
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.
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.
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
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
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
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),
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" 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.
"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.