home *** CD-ROM | disk | FTP | other *** search
/ Telecom / 1996-04-telecom-walnutcreek.iso / reports / 25th.anniversary.of.unix < prev    next >
Internet Message Format  |  1993-12-26  |  58KB

  1. Received: from delta.eecs.nwu.edu by MINTAKA.LCS.MIT.EDU id aa04164;
  2.           27 Dec 93 7:19 EST
  3. Received: by delta.eecs.nwu.edu id AA15949
  4.   (5.65c/IDA-1.4.4 for telecom-recent@lcs.mit.edu); Mon, 27 Dec 1993 03:20:34 -0600
  5. Received: by delta.eecs.nwu.edu id AA07995
  6.   (5.65c/IDA-1.4.4 for /usr/lib/sendmail -oQ/var/spool/mqueue.big -odi -oi -ftelecom-request telecomlist-outbound); Mon, 27 Dec 1993 03:20:01 -0600
  7. Date: Mon, 27 Dec 1993 03:20:01 -0600
  8. From: TELECOM Digest <telecom@delta.eecs.nwu.edu>
  9. Message-Id: <199312270920.AA07995@delta.eecs.nwu.edu>
  10. To: telecom@delta.eecs.nwu.edu
  11. Subject: Special Report: Early History of Unix
  12.  
  13.  
  14. Here is a special report I think will be of interest to telecom
  15. readers on the forthcoming 25th anniversary of the invention of the
  16. Unix kernel at Bell Labs in 1969.
  17.  
  18.  
  19. PAT
  20.  
  21.  From: ronda@umcc.umcc.umich.edu (Ronda Hauben)
  22.  Subject: Early Days of Unix - Draft for Comment
  23.  Date: 26 Dec 1993 18:48:31 -0500
  24.  Organization: UMCC, Ann Arbor, MI
  25.  
  26.     I am in the process of working on the current draft and I
  27. would appreciate any comments, suggestions, additional information,
  28. etc. regarding the early days of unix development and the work to
  29. develop computer science that this early work on unix represented.
  30.  
  31. Thanks.
  32.  
  33. Ronda
  34.  
  35.                                 DRAFT
  36.  
  37.               On the Evolution of Unix and the Automation
  38.                  of Telephone Support Operations 
  39.                   (i.e. of Computer Automation)
  40.                            by Ronda Hauben
  41.   
  42. Abstract:
  43.    1994 is the 25th anniversary of the invention of the UNIX kernel
  44.    at Bell Labs.  The following article is a chapter in a longer
  45.    paper documenting some of the events that have contributed to
  46.    the development of a Global Computer Network in the past 25 years.
  47.    This article describes how the need to automate telephone support
  48.    operations in the U.S. in the late 1960s and the early 1970s
  49.    nourished the birth and developement of the UNIX operating
  50.    system and how academic computer science contributed to
  51.    and gained from the development of UNIX. This article is intended as a 
  52.    contribution to a 25th anniversary commemoration of the significance
  53.    of the UNIX breakthrough and the lessons that can be learned for
  54.    making the next step forward.
  55.  
  56.  
  57. "I don't believe UNIX is Utopia. It's just the best set of tools around."
  58.                -- Dick Haight, Unix Review, Jan. 1985, p. 117
  59.  
  60. "What does industrial computer science research consist of?....Although
  61. work for its own sake resulting, for example, in a paper in a learned journal 
  62. is not only tolerated but welcomed, there is strong though wonderfully
  63. subtle pressure to think about problems somehow relevant to our
  64. corporation....Indeed, researchers love to find problems to work on;
  65. one of the advantages of doing research in a large company is the
  66. enormous range of puzzles that turn up....Thus, computer research
  67. at Bell Labs has always had a considerable commitment to the world...."
  68.               -- Dennis Ritchie, "Reflections on Software Research,"
  69.               Communications of the ACM, vol 27, no. 8, August 1984, p. 759
  70.  
  71.  
  72. "Bell had already gained some field support experience switching machines
  73. and their software. Supporting a network of mini computers would be 
  74. a significantly different problem."
  75.                -- August Mohr, "The Genesis Story,"
  76.                Unix Review, Jan. 1985, p.24
  77.  
  78. "From hence it necessarily follows...Rich and Poor, Young and Old, must
  79. must study the Art of Number, Weight, and Measure.
  80.              Sir William Petty," Political Arithmetic,"
  81.              in Collected Works, vol 1, p. 261.
  82.  
  83.  
  84.       During the formative years in the creation of the Arpanet, which
  85. was to become the backbone to the Global Computer Network, there were
  86. similar seminal developments taking place at the Bell Laboratories,
  87. the Research and Development unit of the Bell System. These
  88. developments were to have a significant impact on the future course of
  89. computer science research and networking in the world. As early as
  90. 1957, Bell Labs found they needed an operating system for their
  91. inhouse computer center which was then running lots of short batch
  92. jobs.  Describing the situation facing the Labs, Victor Vyssotsky, who
  93. had been involved the techanical head of the Multics project at Bell
  94. Labs and later Executive Director of Research in the Information
  95. Systems Division of AT&T Bell Labs, explains, " We just couldn't take
  96. the time to get them on and off the machine manually. We needed an
  97. operating system to sequence jobs through and control machine
  98. resources." (from "Putting Unix in Perspective", Interview with Victor
  99. Vyssotsky, by Ned Pierce, in Unix Review, Jan. 1985, p. 59)
  100.  
  101.      The BESYS operating system was created at Bell Labs to deal with
  102. their inhouse needs. When asked by others outside the labs to make a
  103. copy available, they did so but with no obligation to provide support.
  104. "There was no support when we shipped a BESYS tape to somebody,"
  105. Vyssotsky recalls, "we would answer reasonable questions over the
  106. telephone. If they found troubles or we found troubles, we would
  107. provide fixes." (Ibid., p. 59)
  108.  
  109.      By 1964, however, the Labs was adopting third generation computer
  110. equipment and had to decide whether they would build their own
  111. operating system or go with one that was built outside the Labs.
  112. Vyssotsky recounts the process of deliberation at the time, "Through a
  113. rather murky process of internal deliberation we decided to join
  114. forces with General Electric and MIT to create Multics," he explains.
  115. The Labs planned to use the Multics operating system "as a mainstay
  116. for Bell Laboratories internal service computing in precisely the way
  117. that we had used the BESYS operating system." (Ibid., p. 59)
  118.  
  119.     The collaborative project by GE, MIT and AT&T to create a computer
  120. operating system that would be called Multics (1965-68) was to "show
  121. that general-purpose, multiuser, timesharing systems were viable."
  122. (See Douglas Comer, "Pervasive Unix: Cause for Celebration," Unix
  123. Review, October, 1985, p. 42) Based on the results of research gained
  124. at MIT using the Compatible Time-Sharing System (CTSS), AT&T and G.E.
  125. agreed to work with MIT to build a "new hardware, a new operating
  126. system, a new file system, and a new user interface." (Ibid.) Though
  127. the project proceeded slowly and it took several additional years to
  128. develop Multics, Doug Comer, a Professor of Computer Science at Purdue
  129. University, explains that "fundamental issues were uncovered, new
  130. approaches were explored and new mechanisms were invented." (Ibid) The
  131. most important, he explains, was that "participants and observers
  132. alike became devoted to a new form of computing (the interactive,
  133. multiuser, timesharing system.). As a result, the Multics project
  134. dominated computer systems research for many years, and many of its
  135. results are still considered seminal."(Ibid.)
  136.  
  137.    Evaluating the influence of the MULTICS research on Bell Labs
  138. researchers, Comer points out that top researchers in computer science
  139. and mathematics from the world's premier industrial research center,
  140. Bell Labs, were able to work with top researchers from academia. When
  141. Ken Thompson, Dennis Ritchie and their "Bell Laboratories colleagues,"
  142. writes Comer, "later began work on their own implementation of a
  143. Multics-like time-sharing system, they drew heavily from the Multics
  144. experience. So, despite popular myth, UNIX was not an accidental
  145. discovery at all -- it evolved directly from experiences with academic
  146. research."  (Ibid., p. 41-42)
  147.  
  148.      By 1969, however, AT&T made a decision to withdraw from the
  149. project. Describing that period, Dennis Ritchie, another of the
  150. inventors of unix at Bell Labs writes, "By 1969, Bell Labs management,
  151. and even the researchers came to believe that the promises of Multics
  152. could be fulfilled only too late and too expensively." (from Dennis
  153. Ritchie, "The Development of the C Language," ACM, presented at Second
  154. History of Programming Languages conference, Cambridge, Mass, April
  155. 1993, p. 1)
  156.  
  157.      Detailing the reasons for the decision, Vyssotsky responds, "It
  158. turned out that from our point of view the Multics effort simply went
  159. awry. In the first place, we were naive about how hard it was going to
  160. be to create an operating system as ambitious as Multics. It was the
  161. familiar second system syndrome.  You put in everything you wished
  162. you'd had in the other one."(Vyssotsky, pg. 59) Also he details how
  163. GE, MIT, and AT&T each had different goals for the project, which made
  164. it difficult for them to work together. While GE wanted to develop
  165. Multics to "strengthen its product line," MIT wanted Multics "to
  166. advance the state of art" of computing, and Bell Labs' purpose was to
  167. have a good environment for our people to work in." (Ibid.) Given
  168. these different objectives, Vyssotsky explains, "It turned out that
  169. under the stress of slipping schedules and the increasing realization
  170. that we had difficulty agreeing on a common course of action, we ended
  171. up simply pulling out of Multics. We said, `OK, it's too wet to plow.
  172. We aren't going to get from here to there'."(Ibid.)
  173.  
  174.      When the decision to pull out of the Multics project was made by
  175. AT&T, Vyssotsky explains there was an operating system that he called
  176. a "precursor of Multics" running on their GE 645 computer.  "From the
  177. point of view of the few people who could use it," he notes, "it was a
  178. very nice programming environment. In particular, Ken Thompson thought
  179. it was a very nice programming environment."(Ibid.)
  180.  
  181.      However, when Bell Labs pulled out of the Multics project they
  182. took the Multics precursor off their GE 645 computer and put up GECOS,
  183. a much less state of the art operating system. "If you were an old
  184. line Spanish American War type computer user like me," Vyssotsky
  185. admits, "GECOS was a perfectly satisfactory system for getting from
  186. here to there in a well-designed application. You knew what it was
  187. going to do." (Ibid., p. 60)
  188.  
  189.      But for a research computer scientist like Ken Thompson, GECOS
  190. was inadequate. According to Vyssotsky, "It was nowhere near as
  191. satisfactory if you were trying to do things that were technically
  192. difficult and imperfectly defined, which is the main task of
  193. research."(Ibid.)
  194.  
  195.      Not only for Ken Thompson's work, but for the research purposes
  196. of the Labs, an operating system more like what Multics had promised
  197. was needed. "I wanted a much more flexible system than BESYS or GECOS
  198. or OS360 or anything I could see," Vyssotsky recounts, "I had various
  199. things that I was trying to do with computers that were just plain
  200. hard to do with existing operating systems."(Ibid.)
  201.  
  202.      "Moreover, for people like Ken Thompson," Vyssotsky emphasizes,
  203. "having this embryonic version of Multics taken away and GECOS slapped
  204. down in its place was something of a disaster. Suddenly they were back
  205. to square one."(Ibid.)
  206.  
  207.      With the loss of the Multics experimental operating system, Ken
  208. Thompson, Dennis Ritchie and the others at the Labs who began work on
  209. UNIX, realized they had to focus on creating an operating system for
  210. their programming needs. "I don't think," Vyssotsky relates, "that
  211. either of them was particularly fascinated by operating systems until
  212. they found themselves cast back upon GECOS. They sort of got
  213. interested in the subject out of self defense."(Ibid.)
  214.  
  215.      In his account of this period, Dennis Ritchie writes, "Even
  216. before the GE-645 Multics machine was removed from the premises, an
  217. informal group, led primarily by Ken Thompson, had begun investigating
  218. alternatives." ( Ritchie, pg. 1)
  219.  
  220.     Thompson and Ritchie presented Bell Labs with proposals to buy
  221. them a computer so they could build their own interactive, time
  222. sharing operating system. Their proposals weren't acted on.
  223. Eventually, Ken Thompson found a little used and obsolete PDP 7
  224. computer. According to Vyssotsky the orphaned PDP-7 computer was a
  225. tiny machine, "more nearly in the class of a Commodore 64 than the
  226. class of a PC-AT." (Vyssotsky, pg. 60)
  227.  
  228.      Ritchie explains that Ken Thompson was attempting to create a
  229. programming environment which included "many of the innovative aspects
  230. of Multics," such as "an explicit notion of a process as a locus of
  231. control, a tree-structured file system, a command interpreter as a
  232. user-level program, simple representation of text files, and
  233. generalized access to devices." (Ritchie, p. 1-2)
  234.  
  235.      Describing the primitive conditions that Thompson faced, Ritchie
  236. writes, "At the start, Thompson "did not even program on the PDP
  237. itself, but instead used a set of macros for the GEMAP assembler on a
  238. GE-635 machine. A postprocesser generated a paper tape readable by the
  239. PDP-7. These tapes were carried from the GE machine to the PDP-7 for
  240. testing until a primitive UNIX kernel, an editor, an assembler, a
  241. simple shell (command interpreter), and a few utilities (like the Unix
  242. rm, cat, cp commands) were completed. At this point, the operating
  243. system was self- supporting; programs could be written and tested
  244. without resort to paper tape, and development continued on the PDP-7
  245. itself."  (Ibid., pg 2)
  246.  
  247.      The result, Ritchie explains, was that "Thompson's PDP-7
  248. assembler outdid even DEC's in simplicity; it evaluated expressions
  249. and emitted the corresponding bits. There were no libraries, no loader
  250. or link editor: the entire source of a program was presented to the
  251. assembler, and the output file -- with a fixed name -- that emerged
  252. was directly executable.(Ibid., pg. 2)
  253.  
  254.      The operating system was named UNIX, to distinguish it from the
  255. complexity of MULTICS. Vyssotsky recalls that in addition to Thompson
  256. and Ritchie, "the two most active contributors at that stage were Joe
  257. Ossanna and Rudd Canaday. I should also add," he explains, "that Doug
  258. McIlroy was tremendously influential on their thinking."(Vyssotsky,
  259. pg.60) Vyssotsky elaborates, "I don't think that Doug actually
  260. contributed much of the programming, but for example, the appearance
  261. of pipes in UNIX was clearly a result of Doug's discussions with Ken
  262. and Dennis." (Ibid. ) Ken put them in, but "it was McIlroy who said,
  263. "Look you ought to do it. Pipes, like most things in UNIX were not a
  264. radically new idea. Co-routines had, after all, shown up in SIMULA by
  265. the end of 1967."(Ibid.)
  266.    
  267.      As work continued on the Bell Labs operating system, the
  268. researchers developed a set of principles to guide their work.  Among
  269. these principles were:
  270.  
  271.      "(i) Make each program do one thing well. To do a new job, 
  272.      build afresh rather than complicate old programs by adding 
  273.      new features.
  274.  
  275.      (ii) Expect the output of every program to become the input 
  276.      to another, as yet unknown, program. Don't clutter output 
  277.      with extraneous information. Avoid stringently columnar or 
  278.      binary input formats. Don't insist on interactive input.
  279.  
  280.      (iii) Design and build software, even operating systems, to 
  281.      be tried early, ideally within weeks. Don't hesitate to 
  282.      throw away the clumsy parts and rebuild them.
  283.  
  284.      (iv) Use tools in preference to unskilled help to lighten a 
  285.      programming task, even if you have to detour to build the 
  286.      tools and expect to throw some of them out after you've 
  287.      finished using them."
  288.      
  289.               (from M.D. McIlroy, E.N.Pinson, and B.A. Tague
  290.                "Unix Time-Sharing System Forward",
  291.                The Bell System Technical Jounal, July -Aug 1978
  292.                vol 57, number 6 part 2, p. 1902)
  293.  
  294.      By 1970, Ritchie writes, the UNIX researchers were "able to
  295. acquire a new DEC PDP-11. The processor," he remembers, "was among the
  296. first of its line delivered by DEC, and three months passed before its
  297. disk arrived." (Ritchie, p. 5) Soon after the machine's arrival and
  298. while "still waiting for the disk, Thompson," Ritchie recalls,
  299. "recoded the Unix kernel and some basic commands in PDP assembly
  300. language. Of the 24K bytes of memory on the machine, the earliest
  301. PDP-11 Unix system used 12K bytes for the operating system, a tiny
  302. space for user programs, and the remainder as a RAM disk." (Ibid., p.
  303. 5) "By 1971," Ritchie writes, "our miniature computer center was
  304. beginning to have users. We all wanted to create interesting software
  305. more easily. Using assembler was dreary enough that B, despite its
  306. performance problems, had been supplemented by a small library of
  307. useful service routines and was being used for more and more new
  308. programs."(Ibid., p. 6)
  309.  
  310.  
  311.      "C came into being in the years 1969-1973," Ritchie explains, "in
  312. parallel with the early development of the Unix operating system; the
  313. most creative period occurred during 1972."(Ibid., p. 1) "By early
  314. 1973," the essential of modern C were complete. The language and
  315. compiler were strong enough to permit us to rewrite the kernel for the
  316. PDP-11 in C during the summer of that year. (Thompson had made a brief
  317. attempt to produce a system coded in an early version of C -- before
  318. structures -- in 1972, but gave up the effort.)" (Ibid.)
  319.  
  320.      Each program they built developed some simple capability and they
  321. called that program a tool. They wanted the programs to be fun to use
  322. and to be helpful to programmers. Describing the achievements of the
  323. lab, Doug McIlroy, one of the researchers and Thompson's Dept Head
  324. when they created UNIX, describes the atmosphere at the lab:
  325.  
  326.      "Constant discussions honed the system....Should  tools 
  327.      usually accept output file names? How to handle demountable 
  328.      media?   How  to manipulate addresses in a higher level 
  329.      language?  How to minimize the  information  deducible from  
  330.      a rejected  login?  Peer pressure and simple pride in 
  331.      workmanship caused gobs of code to be rewritten or discarded 
  332.      as better  or  more  basic ideas emerged.  Professional 
  333.      rivalry and protection of turf were  practically  unknown:  
  334.      so  many good  things were happening that nobody needed to 
  335.      be proprietary about innovations."
  336.                     [from M.D. McIlroy, "Unix on My Mind," Proc. 
  337.                     Virginia Computer Users Conference, vol 21, 
  338.                     Sept. 1991, Blacksburg, p. 1-6.]
  339.  
  340.      The research done at the Labs was concerned with using the
  341. computer to automate programming tasks. By a scientific approach to
  342. their work and careful attention to detail, Bell Labs researchers
  343. determined the essential elements in a design and then created a
  344. program to do as simple a job as possible. These simple computer
  345. automation tools would then be available to build programs to do more
  346. complicated tasks.
  347.  
  348.      They created a UNIX kernel accompanied by a toolbox of programs
  349. that could be used by others at Bell Labs. The kernel consisted of
  350. about 11,000 lines of code. Eventually, 10,000 lines of the code were
  351. rewritten in C and thus could be transported to other computer
  352. systems. "The kernel," Ken Thompson writes, "is the only UNIX code
  353. that cannot be substituted by a user to his own liking. For this
  354. reason, the kernel should make as few real decisions as possible."
  355. (from K. Thompson, "UNIX Implementation", "The Bell System Technical
  356. Journal," vol 57, No. 6, July-August 1978, p. 1931)
  357.  
  358.      Thompson describes creating the kernel:
  359.  
  360.      "What is or is not implemented in the kernel represents both 
  361.      a great responsibility and a great power. It is a soap-box 
  362.      platform on `the way things should be done.' Even so, if 
  363.      `the way' is too radical, no one will follow it. Every 
  364.      important decision was weighed carefully. Throughout, 
  365.      simplicity has been substituted for efficiency. Complex 
  366.      algorithms are used only if their complexity can be 
  367.      localized."
  368.           (Ibid., p. 1931-2)
  369.  
  370.      The kernel was conceived as what was essential and other features
  371. were left to be developed as part of the tools or software that would
  372. be available. Thompson explains:
  373.  
  374.      The UNIX kernel is an I/O multiplexer more than a complete 
  375.      operating system. This is as it should be. Because of this 
  376.      outlook, many features are found in most other operating 
  377.      systems that are missing from the UNIX kernel. For example, 
  378.      the UNIX kernel does not support file access methods, file 
  379.      disposition, file formats, file maximum sizes, spooling,      
  380.      command language, logical records, physical records, 
  381.      assignment of logical file names, logical file names, more 
  382.      than one character set, an operator's console, an operator, 
  383.      log-in, or log-out. Many of these things are symptoms rather 
  384.      than features. Many of these things are implemented in user 
  385.      software using the kernel as a tool. A good example of this 
  386.      is the command language. Maintenance of such code is as easy 
  387.      as maintaining user code. The idea of implementing "system" 
  388.      code and general user primitives comes directly from 
  389.      MULTICS."
  390.                (Ibid., p. 1945-6)  
  391.  
  392.       Evaluating the achievement represented by the kernel, Vyssotsky
  393. explains, "I would say that the greatest intellectual achievement
  394. embedded in UNIX is the success Ken Thompson and Dennis Ritchie had in
  395. understanding how much you could leave out of an operating system
  396. without impairing its capability."(Vyssotsky, pg. 60-62)
  397.  
  398.      "To some extent," he continues, "that was forced by the fact that
  399. they were running on small machines. It may also have been a reaction
  400. to the complexity of Multics...It took some very clear thinking on the
  401. part of the creators of UNIX to realize that most of that stuff didn't
  402. have anything to do with the operating system and didn't have to be
  403. included." (Ibid., p. 62 )
  404.  
  405.      Eventually the unix operating system was adopted in other
  406. departments at AT&T to do a variety of work. "There is one piece of
  407. history that I think is very important to understand," explains
  408. Vyssotsky, "When UNIX evolved within Bell Laboratories, it was not a
  409. result of some deliberate management initiative. It spread through
  410. channels of technical need and technical contact ... this was typical
  411. of the way UNIX spread around Bell Laboratories. You had MTSS
  412. Supervisors and Department Heads saying we had to go in this direction
  413. while Executive Directors were saying, `Well, I'm awful nervous about
  414. it. But if you guys say that is what we've got to do, I'll back your
  415. play."(Ibid, pg.  62-64)
  416.  
  417.      Explaining the importance of how unix was implemented
  418. organizationally within the Bell System, Vyssotsky comments, "There
  419. are a lot of organizations that do not work that way. I brought out
  420. that little hunk of history to point out that the spread and success
  421. of UNIX, first in the Bell organizations and then in the rest of the
  422. world, was due to the fact that it was used, modified, and tinkered up
  423. in a whole variety of organizations within Bell Laboratories ... the
  424. refinement of UNIX was not done as the result of some management
  425. initiative or council of vice presidents. It was the supervisors
  426. saying, "This thing is already better than our other options and
  427. flexible enough for us to make it a go."  (Ibid. p. 64)
  428.  
  429.      During the same period that the search for an operating system to
  430. replace the promise of Multics had begun by Bell Labs computer
  431. programming researchers, the Bell System was faced with the problem of
  432. automating their telephone operations using minicomputers. Describing
  433. the problem facing the Bell System during this period, August Mohr, in
  434. an article in Unix Review, "The Genesis Story"(January 1985, p. 22),
  435. writes "Bell was starting to perceive the need for minicomputer
  436. support for its telephone operations." (Mohr was editor of /usr/group
  437. 's CommUNIXations newsletter.)
  438.  
  439.      "The discovery that we had the need -- or actually, the
  440. opportunity -- in the early '70s to use these minis to support
  441. telephone company operations encouraged us to work with the UNIX
  442. system," confirms Berkley Tague. ("Interview with Berkley Tague," Unix
  443. Review, June 1985, p. 59) "We knew we could do a better job with
  444. maintenance, traffic control, repair, and accounting applications."
  445. (Ibid.)
  446.  
  447.      "The existing systems were made up of people and paper," he
  448. relates, "The phone business was in danger of being overwhelmed in the
  449. early '70s with the boom of the '60s. There was a big interest then in
  450. using computers to help manage that part of the business. We wanted to
  451. get rid of all of those Rolodex files and help those guys who had to
  452. pack instruments and parts back and forth just to keep things going."
  453.  
  454.      During the late 1960's, AT&T was under pressure from regulatory
  455. bodies like the New York Public Service Commission, to solve what was
  456. termed as a "service crisis." (See especially, "Wrong Number," by Alan
  457. Stone, N.Y., 1989, p. 145) This pressure encouraged AT&T to explore
  458. technological advances that would make its support operations more
  459. efficient.
  460.  
  461.      Tague explains that there had been local mechanization of
  462. processes but not large scale integration of the mechanization.  "Take
  463. repair," he suggests as an example, "A lot of it deals with keeping
  464. the connections straight between what we call the main distribution
  465. frames in the central office and the wires that tie residential
  466. telephones into the switch. Prior to the use of computers,
  467. `mechanization' consisted of somebody on a remote test bench using
  468. electrical meters and instruments to test lines.  To get those
  469. connections made, an intercom was used to broadcast requests to a
  470. bunch of people standing around with alligator clips and soldering
  471. irons down in the wire center. The requests went something like,
  472. `Would you kindly connect jumper x to terminal y?' to get testing
  473. done."(Ibid, p. 60)
  474.  
  475.      Tague describes how the mini computer made it possible to
  476. automate this process. "First, we were able to get more instructions
  477. out to the people actually making the connections. And, at the other
  478. end, we were able to centralize information about entire systems and
  479. end-to-end circuits."
  480.  
  481.      "This meant," he elaborates, "that if I was responsible for
  482. keeping the Superbowl broadcast on the air between New Orleans and New
  483. York, I could -- with a single console -- view all the connections on
  484. that link and have access to all of the information automatically
  485. being collected about it. If something broke, I could immediately
  486. recognize that and orchestrate the process of getting it repaired. The
  487. repair itself would ultimately be left to a person working in much the
  488. same way as before." (Ibid.)
  489.  
  490.      This change affected workers like those "plugging in an alternate
  491. module or pulling a manual switch and going to a backup system," he
  492. clarifies. "Suddenly, their work became much faster because the
  493. information was all in one place -- unlike earlier days when eight
  494. guys would have had to collect and sort out the trouble data in a
  495. series of phone calls before actually being able to get down to the
  496. business of working on solutions."  (Ibid.)
  497.  
  498.      Other applications were affected as well, he explains.  "in areas
  499. like cable and wiring layouts. The algorithms applying to these
  500. layouts were well known here at the Laboratories, but they were not
  501. the sort of thing you could usefully put into a manual. They were,
  502. however, easily put into computer programs.  Optimum layouts could
  503. thus be generated using the computer to assess all the complicated
  504. engineering tradeoffs."(Ibid.)
  505.  
  506.  
  507.      Not only did they need a good programming environment, but Mohr
  508. emphasized that the Bell System applications required, "Operations
  509. Systems, not Operating Systems.  With the number of systems under
  510. consideration, the possiblity of being tied to a single vendor, or
  511. having each site tied to a different vendor, induced a kind of
  512. paranoia. There just had to be another way."  (Mohr, p.22 )
  513.  
  514.  
  515.      Tague elaborates, "If we faced the phone company with 18
  516. different vendors and 19 different environments, neither the
  517. developers nor the phone companies were going to be able to maintain
  518. the thing once it got out in the field in large numbers.  As a
  519. planner, I was trying to focus on a few vendors. At that time, it was
  520. primarily Hewlett-Packard and DEC, plus a few IBM systems." (Tague,
  521. pg. 60)
  522.  
  523.      This led to the realization of a need for an operating system.
  524. "Vendor operating systems were available as a starting point", he adds
  525. "but a number of people had already started to build their own when
  526. they realized that what the vendors had was not adequate." (Ibid.)
  527.  
  528.      Tague explains that his role in planning for the transition meant
  529. that he tried to warn those involved that they would need a good
  530. software environment to do the development of the software needed to
  531. use the mini computers for these new roles.
  532.  
  533.      "I observed," he comments, "that people were starting to put
  534. these minis out in the operating company, and saw that it was an area
  535. of both opportunity and potential problems. I found," he adds, "that
  536. some of the people in development had never built an operating system
  537. for any computer before; many of them had very little software
  538. background. They were coming out of hardware development and telephone
  539. technology backgrounds, and yet were starting to build their own
  540. operating systems. Having been through that phase of the business
  541. myself, it seemed silly to go through it another hundred times, so I
  542. started pushing the UNIX operating system into these projects." (Mohr,
  543. pg. 22)
  544.  
  545.      Tague was familiar with UNIX and its capabilities and tells the
  546. variety of reasons ranging from inadequate file systems, to inadequate
  547. performance, to poor user interface that he recommended the initial
  548. adoption of UNIX to start the work. "We sold those first application
  549. developers on UNIX simply by pointing out that the first job they were
  550. going to have to do was program development and that by using the UNIX
  551. operating system they could get that job done more easily. I did not
  552. argue with them about whether or not they should develop their own
  553. operating systems -- knowing in my heart of hearts that once they got
  554. on UNIX they wouldn't be able to do any better with the experience and
  555. the schedules they had. Indeed, that is what happened."  (Tague, pg.
  556. 60-1)
  557.      
  558.      Tague's backing of UNIX, as a development system for operations,
  559. was not just a personal preference. "I had every confidence in the
  560. people who built it because I'd worked with them on Multics," he
  561. explained. "With their experience and training, I figured they could
  562. build a much better operating system than somebody who's building one
  563. for the first time, no matter how smart that person is." (Mohr, pg 22)
  564.  
  565.      Tague describes how UNIX had been functioning in the research
  566. environment and thus had demonstrated that it could be used as a
  567. beginning basis for this important job.
  568.  
  569.      Also, he knew that there would be a need to develop a support
  570. system for those operating companies around the country that would
  571. begin to use UNIX: "We were starting to put these things in the
  572. operating companies all around the countryside," explains Tague, "and
  573. the prospects were that there were going to be several hundred minis
  574. over the next few years that were going to have to be maintained with
  575. all their software and hardware." (Ibid., pg. 24)
  576.  
  577.      Bell had created the needed field support system to maintain the
  578. electronic switching machines and software that were now being
  579. upgraded. "Supporting a network of minicomputers would be a
  580. significantly different problem, though," August Mohr explains.
  581. "Maintaining an operating system is not at all like maintaining an
  582. electronic switching system. The minicomputers had different
  583. reliablity demands, requiring a different support structure in the
  584. organization -- one that did not yet exist in any form. In many ways,
  585. the operations group was breaking new ground," writes Mohr. (Ibid.)
  586.  
  587.      As head of the Computer Planning Department, Tague had been
  588. responsible for systems engineering. In 1971 Tague garnered support
  589. for UNIX to be adopted. Then he pushed to have UNIX made the internal
  590. standard and to provide central support through his organization. By
  591. September, 1973, he was able to form a development organization to
  592. provide support for a "standard Unix." This group, called UNIX
  593. Development Support worked with Bell Labs Research. Though the two
  594. groups sometimes diverged regarding their priorities, Mohr explains
  595. that they agreed on the need for UNIX portability.
  596.  
  597.      According to Mohr, "Tague foresaw the possiblity of UNIX becoming
  598. an inteface between hardware and software that would allow
  599. applications to keep running while the hardware underneath was
  600. changing." (Ibid., p. 24)
  601.  
  602.      "From the support point of view," he continues, "such a
  603. capability would solve a very important problem. Without UNIX and its
  604. potential portability, the people building the operations support
  605. systems were faced with selecting an outside vendor that could supply
  606. the hardware on which to get their devlopment done.  Once that was
  607. complete, they would be locked into that vendor."  However, according
  608. to Mohr, "Portability obviated this limitation and offered a number of
  609. other advantages. When making a hardware upgrade, even to equipment
  610. from the same vendor, there are variations version to version. That
  611. could cost a lot of money in software revisions unless there were some
  612. level of portability already written into the scenario." (Ibid., pg.
  613. 24-25)
  614.  
  615.      Just as Operating Systems people in the Bell system had come to
  616. recognize the need for portability in a computer operating system,
  617. Ritchie and Thompson and the other programming researchers at Bell
  618. Labs had created the computer language C and rewritten the majority of
  619. the UNIX kernel in C and thus had made the important breakthrough in
  620. creating a computer operating system that was not machine dependent.
  621. Describing their breakthrough with UNIX, Thompson and Ritchie
  622. presented their first paper on UNIX at the Symposium on Operating
  623. Systems Principles, IBM Thomas J. Watson Research Center, Yorktown
  624. Heights, New York, October 15-17, 1973,(reference from UNIX(tm)
  625. Time-Sharing System: Unix Programmers Manual, 7th edition, vol 2,
  626. Murray Hill, f/n pg 20).  See also Ritchie's account of the creation
  627. of C by early 1973 in "The Development of the C Language," ACM,
  628. presented at Second History of Programming Languages conference,
  629. Cambridge, Mass, April 1993, p. 1) Describing this important
  630. achievement by Bell Labs researchers, Mohr writes, "the integral
  631. portability of the system developed by Research proved adequate to
  632. make UNIX portable over a wide range of hardware."
  633.  
  634.      With the research breakthrough of a portable computer operating
  635. system, "the first UNIX applications were installed in 1973 on a
  636. system involved in updating directory information and intercepting
  637. calls to numbers that had been changed. The automatic intercept system
  638. was delivered for use on early PDP-11s. This was essentially the first
  639. time UNIX was used to support an actual, ongoing operating business."
  640. (Mohr, pg. 26)
  641.  
  642.      Different operations sites had taken on to create computer
  643. software to meet similar needs, such as print spooling, mail, help,
  644. etc. Tague's group's assignment was to gather the software and to
  645. determine what the standard should be and send the standard back out
  646. to the sites. Tague credits the technical strength of UNIX for making
  647. software standardization possible.  UNIX "made it easy," he explains,
  648. "to get the right stuff in without upsetting the whole world."
  649.  
  650.      Establishing a standard UNIX, according to Tague, was "a process
  651. of negotiation and compromise with the UNIX-using community -- not a
  652. unilateral decision." (Ibid.) His group and the people at the variety
  653. of Bell sites "often ended up arguing things out until everybody
  654. understood the issues and a suitable compromise was made," he relates.
  655. (Ibid.)
  656.  
  657.      Tague describes how his group the UNIX Support Group (USG) which
  658. had been established in September of 1973 "released the first C
  659. version of UNIX internally. [Generic I, II, and III were produced by
  660. these intitial efforts.] In parallel with our efforts," he notes, "the
  661. Programmer's Workbench gang under Rudd Canaday worked the same vein
  662. over in the BIS [Business Information Systems] area.(Tague, p. 61)
  663.  
  664.      The application of UNIX to automating the operating systems at
  665. Bell also involved automating the monitoring, measurement, help for
  666. routing and ensuring quality of calls. That was a "tall order," writes
  667. Tony Culwick, "given the standards people have come to expect...but
  668. the fact remains that the fundamental integrity of the national
  669. telecommunications network depends on more than 1000 real-time,
  670. mini-computer-based systems that are built on a version of the UNIX
  671. operating system." (from "Reach out and Touch the Unix System," by
  672. Tony Cuilwik, "Unix Review," June 1985, p. 50. Cuilwik was the head of
  673. the Operations Systems Development Department at Bell Laborators and
  674. then director of AT&T Information Systems Laboratories in Columbus,
  675. Ohio.)
  676.  
  677.      Describing the functions that UNIX makes possible, he writes,
  678. "Among the varied and wide-ranging functions these systems perform are
  679. network performance measurement, automated network testing, circuit
  680. order planning, circuit order record-keeping, automated trouble
  681. detection, automated or directed trouble repair, service quality
  682. assurance, quality control, inventory control, customer
  683. record-keeping, and customer billing -- as well as any number of other
  684. operational and administrative functions.  These functions all
  685. require," Cuilwik explains, "the ability to present data to users in
  686. real-time." (Ibid.)
  687.  
  688.      The object in these systems is "to guarantee a minimal acceptable
  689. human response time. This challenge has been met by tuning the
  690. underlying UNIX system." (Ibid.)
  691.  
  692.      Cuilwik describes how the need for such real time applications
  693. was determined in the 1969-70 period, just when UNIX was being
  694. created. Development, he reports, "began in earnest in 1971. Early in
  695. this period," he writes, "it was determined that an operating system
  696. and environment should be provided to system designers, who would then
  697. only need to develop application-specific software."  By 1974, he
  698. reports "several sites had chosen the UNIX operating system as this
  699. development environment.  A few, meanwhile, had also selected it as an
  700. execution environment and were busy designing enhancements and
  701. improvements for the system." (Ibid.)
  702.  
  703.      The need was also recognized for "a common operating environment
  704. between projects." (Ibid.,p. 50-52) "Major additions" he writes,
  705. "necessary to move the timeshared UNIX system into real-time
  706. applications included interprocess communications (name pipes,
  707. messages, semaphores, and shared memory), file access (logical file
  708. system, record access system), error recovery, power fail/restart, and
  709. line and terminal disciplines. These additions were developed,
  710. integrated or donated to the common good by people developing specific
  711. systems. By 1979," he reviews, "there was an enhanced real-time UNIX
  712. system that was centrally supported, offering a collection of tools
  713. and a number of human/machine interface designs to protect system
  714. users from direct contact with UNIX primitives." (Ibid, p. 52)
  715.  
  716.       The process of the development of UNIX so it contained such a
  717. range of options involves its adoption and development by the academic
  718. research community. Early in its development, word of the UNIX
  719. operating system and its advantages spread outside of Bell Labs.
  720. (Several sources attribute this to the paper that Ritchie and Thompson
  721. presented on UNIX at the Symposium on Operating Principles at Purdue
  722. in November, 1973. See for example McKusick, "A Berkeley Odyssey" in
  723. Unix Review, January 1985, p.  31, and Peter Ivanov, "Interview with
  724. John Lions", Unix Review, October, 1985, p. 51, about the publication
  725. of the paper in July 1974 in the "Communications of the ACM".)  The
  726. labs made the software available to academic institutions at a very
  727. small charge. For example, John Lions, a faculty member in the
  728. Department of Computer Science at the University of New South Wales,
  729. in Australia, reported that his school was able to acquire a copy of
  730. research UNIX Edition 5 for $150 ($110 Australian) in December, 1974,
  731. including tape and manuals. (See "An Interview with John Lions," in
  732. Unix Review, October, 1985, p. 51)
  733.  
  734.      UNIX was attractive to the academic Computer Science community
  735. for several reasons. John Stoneback, describing these reasons, writes:
  736.  
  737.      "UNIX came into many CS departments largely because it was 
  738.      the only powerful interactive system that could run on the 
  739.      sort of hardware (PDP-11s) that universities could afford in 
  740.      the mid '70s. In addition, UNIX itself was very inexpensive. 
  741.      Since source code was provided, it was a system that could 
  742.      be shaped to the requirements of a particular installation. 
  743.      It was written in a language considerably more attractive 
  744.      than assembly, and it was small enough to be studied and 
  745.      understood by individuals."
  746.  
  747.           (from John Stoneback, "The Collegiate Community," Unix 
  748.           Review, October 1985, p. 27.)
  749.  
  750.      Describing how research UNIX helped make it possible for academic
  751. computer science departments to establish and develop research in
  752. computer science, he writes:
  753.  
  754.      "UNIX had another appealing virtue that many may have 
  755.      recognized only after the fact -- its faithfulness to the 
  756.      prevailing mid-'70s philosophy of software design and 
  757.      development. Not only was UNIX proof that real software 
  758.      could be built the way many said it could, but it lent 
  759.      credibility to a science that was struggling to establish 
  760.      itself as a science. Faculty could use UNIX and teach about 
  761.      it at the same time. In most respects, the system 
  762.      exemplified good computer science. It provided a clean and 
  763.      powerful user interface and tools that promoted and 
  764.      encouraged the development of software. The fact that it 
  765.      was written in C allowed actual code to be presented and 
  766.      discussed, and made it possible to lift textbook examples 
  767.      into the real world. Obviously, UNIX was destined to grow in 
  768.      the academic community.
  769.           (Ibid., p. 27)
  770.  
  771.      In trying to teach his students the essentials of a good
  772. operating system, John Lions describes how he prepared a booklet
  773. containing the source files for a version of Edition 6 of research
  774. UNIX in 1976 and the following year completed a set of explanatory
  775. notes to introduce students to the code. "Writing these," he recounts,
  776. "was a real learning exercise for me. By slowly and methodically
  777. surveying the whole kernel, I came to understand things that others
  778. had overlooked."
  779.  
  780.      This ability to present his students with a real example of 
  781. an operating system kernel was a breakthrough. Lions writes:
  782.  
  783.      Before I wrote my notes on UNIX, most people thought of 
  784.      operating systems as huge and inaccessible. Because I had 
  785.      been at Burroughs, I knew that people could get to learn a 
  786.      whole program if they spent some time working at it. I knew 
  787.      it would be possible for one person to effectively become an 
  788.      expert on the whole system. The Edition 6 UNIX code 
  789.      contained less than 10,000 lines, which positioned it 
  790.      nicely to become the first really accessible operating 
  791.      system."  (Lions, p. 52-3)
  792.  
  793.      In keeping true to the UNIX community spirit of helping each
  794. other, Lions wrote a letter to Mel Ferentz, Lou Katz and others from
  795. Usenix and offered to make copies of his notes available to others.
  796. After some negotiation with Western Electric over the patent
  797. licensing, he distributed the notes titled "A Commentary on the UNIX
  798. Operating System" to others with UNIX licenses on the conditions that
  799. Western Electric had set out.   (Ibid., p. 53)
  800.  
  801.      Lions describes how he helped to develop a UNIX tool "pack" which
  802. was eventually combined with tools created at Bell Labs called huff
  803. and unhuff and distributed as a standard UNIX command.  He and others
  804. from his college were invited to spend periods of time at Bell Labs to
  805. work with the unix researchers there. (See for example, pg. 57)
  806.  
  807.      Describing how research UNIX and its adoption at academic
  808. institutions has served to develop computer science, Doug Comer
  809. writes:
  810.  
  811.      The use of UNIX as a basis for operating systems research 
  812.      has produced three highly desirable consequences. First, the 
  813.      availability of a common system allowed researchers to 
  814.      reproduce and verify each others' experiments. Such 
  815.      verification is the essence of science. Second, having a 
  816.      solid base of systems software made it possible for 
  817.      experimenters to build on the work of others and to tackle 
  818.      significant ideas without wasting time developing all the 
  819.      pieces from scratch. Such a basis is prerequisite to 
  820.      productive research. Third, the use of a single system as 
  821.      both a research vehicle and a conventional source of 
  822.      computing allowed researchers to move results from the 
  823.      laboratory to the production environment quickly. Such quick 
  824.      transition is mandatory of state-of-the-art computing." 
  825.           (Comer, p. 44)
  826.  
  827.      Not only did research UNIX serve the academic community, but the
  828. contributions of the academic community were incorporated into
  829. research UNIX. An example, is the work by Babaoglu and Porker at UC
  830. Berkeley of designing a virtual memory version of UNIX for the VAX
  831. computer which was later optimized by Bill Joy and incorporated into a
  832. release of UNIX. (Ibid.)
  833.       
  834.      Academic contributions which were incorporated into research UNIX
  835. included the vi editor which was created by Bill Joy at University of
  836. California at Berkeley. Describing this phenomena Comer writes:
  837.  
  838.      "Many universities contributed to UNIX. At the University of 
  839.      Toronto, the department acquired a 200-dt-per-inch 
  840.      printer/plotter and built software that used the printer to 
  841.      simulate a phototypesetter. At Yale University, students and 
  842.      computer scientists modified the UNIX shell. At Purdue 
  843.      University, the Electrical Engineering Department made 
  844.      major improvements in performance, producing a version of 
  845.      UNIX that supported a larger number of users. Purdue also 
  846.      developed one of the first UNIX computer networks. At the 
  847.      University of California at Berkeley, students developed a 
  848.      new shell and dozens of smaller utilities. By the late 
  849.      1970s, when Bell Labs released Version 7 UNIX, it was clear 
  850.      that the system solved the computing problems of many 
  851.      departments, and that it incorporated many of the ideas that 
  852.      had arisen in universities. The end result was a 
  853.      strengthened system. A tide of ideas had started a new 
  854.      cycle, flowing from academia to an industrial laboratory, 
  855.      back to academia, and finally moving on to a growing number 
  856.      of commercial sites." (Comer, p. 43)
  857.  
  858.      In the process of using UNIX within Bell Labs, bugs would be
  859. discovered and reported to the programmers, or new applications would
  860. be created by the departments using the programs for their own tasks.
  861. The research labs would need to provide maintenance and updating of
  862. software as well as getting the bug reports to the programmer and
  863. sending out fixes.
  864.  
  865.         To automate this maintenance work, Mike Lesk, one of the Bell
  866. Labs computer researchers, proposed an automated maintenance system
  867. that would make it possible to have the research computer call up the
  868. computers in the departments and automatically deliver updated
  869. software and test that it worked on the remote computer.
  870.  
  871.     As part of the automated maintenance system, Lesk created a UNIX
  872. program called UUCP (UNIX to UNIX copy) which made it possible to use
  873. a phone or hard wired connection to have one computer poll another
  874. computer and deliver the software.
  875.  
  876.      Describing the considerations by Bell Labs at this time, Vyssotky
  877. explains, (from Vyssotsky, pg. 64)" In 1976, there were those three
  878. versions of UNIX. The Change Control Process on all three of those
  879. versions was such that, at any moment in time, the people who were
  880. programming could tell what changes had gotten in and what changes
  881. were scheduled to go in. However, it was still a little hard for the
  882. users to tell what they were getting. It wasn't until 1978 that we had
  883. anything that I would consider to be a reasonable configuration
  884. management process of UNIX. That was the point at which we finally
  885. realized we had something which, like it or not, was a major product.
  886. So we said, `Given that it is a major product, there can be no horsing
  887. around.' We could no longer regard it as something in the underbrush.
  888. We had to regularize our arrangements. We set up a process for
  889. configuration management and we focused the thing in the direction of
  890. a coherent system." (Vyssorsky, pg. 64-68)
  891.  
  892.      But he emphasizes, "Perhaps, the most important one was that UNIX
  893. was being used as the operating system basis for a bunch of operations
  894. support systems in the Bell Operating Companies and we could not
  895. afford to let those support systems go down. We put configuration
  896. management and all of the associated paraphernalia in place about
  897. 1978. (Ibid., pg. 68)
  898.  
  899.      Lions says about the freezing, "Much of the development of UNIX
  900. in Bell Laboratories occurred before 1978. After Edition 7, many of
  901. the original group went off to do other things. At the same time, UNIX
  902. was becoming important within the Bell System, which gave rise to a
  903. support group whose charter was to develop a polished and stable
  904. version of UNIX. This group was less interested in innovation than in
  905. stabilizing the system.  Universities have simply picked up the slack.
  906. (Lions, pg. 56)
  907.  
  908.      Meanwhile, academic UNIX users had to do their own software
  909. maintenance. Lions describes how a community of academic unix users
  910. grew up who were willing to help each other.
  911.  
  912.      "One very positive effect, however" writes Lions, "is that the
  913. number of universities using UNIX and the lack of any formal support
  914. forced us to band together into AUUG. (Australian unix users group
  915. -ed) The connections we have thereby made have created and cemented
  916. bonds between people in the different departments.  UNIX has been a
  917. very unifying influence for computer science within Australia. This
  918. cannot be overestimated."(Ibid., pg. 57)
  919.  
  920.      UUCP made such exchanges easier. It was included with the Version
  921. 7 UNIX, which was made available to the academic community outside of
  922. Bell Labs. UUCP made it possible for UNIX users to communicate with
  923. each other even when they were at spatially distant locations.
  924.  
  925.      Using UUCP, the UNIX community was able to pioneer still another
  926. advance, Usenet News. "Though large institutions have been able to
  927. avail themselves of communications networks such as ARPANET, the UNIX
  928. community has made inexpensive electronic communication available to
  929. all of its members via Usenet," writes Stoneback, "A community that
  930. already had so much in common," he explains, "was strengthened and
  931. enhanced by the ability to move software easily among locations and to
  932. maintain a reasonable electronic mail system. The cost of this network
  933. has been borne at least in part by private industry, thus mitigating
  934. expenses for the users themselves. The Usenet network stands today as
  935. a clear sign that the UNIX community is solidly in place. It now
  936. includes numerous corporate members providing universities on the
  937. network with the added advantage of pooling academic researchers,
  938. industrial developers, industrial researchers and regular users.
  939. Combined with a functional, cheap electronic communication system,
  940. Usenet offers the academic community unique advantages."  (Stoneback,
  941. p. 26)
  942.  
  943.     "The network," he points out, "is the direct result of a community
  944. that supports its members and in turn is nurtured by the ones it
  945. serves. The community is a reasonably democratic one, reasonably open
  946. to new ideas, resonably open to change, and reasonably generous with
  947. its benefits."(Ibid.)
  948.  
  949.      Thus by 1980, a survey conducted by the Computer Science Research
  950. Network (CSNET) of academic institutions to find out what computer
  951. system they used, found that "over 90 percent of all departments were
  952. served by one or more UNIX systems."  (Comer, pg. 42)
  953.  
  954.      Explaining the surprising popularity that UNIX achieved despite
  955. its grassroots distribution system, McIlroy writes, "Therein lies the
  956. genius of Unix, which, without a sales force, and without the support
  957. of hardware makers, was enthusiastically adopted around the world ..."
  958. ("Unix on My Mind")
  959.  
  960.      "Unix," he emphasizes, "was the distilled essence of operating
  961. systems, designed solely to be useful. Not to be marketable. Not to be
  962. compatible. Not to be an appendage to a particular kind of hardware.
  963. Moreover a computer running Unix was to be useful as a computer, not
  964. just a `platform' for canned `solutions'. It was to be programmable -
  965. cumulatively programmable. The actions of program builders were to be
  966. no different in kind from the actions of users; anything a user could
  967. do a program could do too...."
  968.                     (Ibid.)
  969.  
  970.      Describing the environment that gave birth to these advances,
  971. McIlroy writes,
  972.  
  973.      "Open systems! Our systems! How well those who were there 
  974.      remember the pipe-festooned garret where Unix took form. The 
  975.      excitement of creation drew people to work there amidst the 
  976.      whine of the computer's cooling fans, even though almost the 
  977.      same computer access could be had from one's office or from 
  978.      home. Those raw quarters saw a procession of memorable 
  979.      events. The advent of software pipes precipitated a day-long 
  980.      orgy of one-liners...as people reveled in the power of 
  981.      functional composition in the large, which is even today 
  982.      unavailable to users of other systems. In another memorable 
  983.      event, the unarticulated notion of software tools, which had 
  984.      been bolstered by pipes, was finally brought home by the 
  985.      liberation of the pattern matching program grep from within 
  986.      the editor."
  987.                (Ibid.)
  988.  
  989.      He continues:
  990.  
  991.      "A parade of visitors came to marvel at the system and to 
  992.      copy it. The makers of our 1972 model phototypesetter 
  993.      goggled when they saw the paper tape input replaced by wires 
  994.      straight from a computer. On-line PicturePhone[r] service 
  995.      caught attention. Synthetic speech was initiated by a 
  996.      memorable `Come here, Watson' event when words typed in a 
  997.      remote office range out clearly in the lab: `It sounds 
  998.      better over the telephone.' The computer's readings and 
  999.      misreadings became a constant crowd pleaser. There was 
  1000.      great, if somewhat conspiratorial, excitement over a 
  1001.      stealthy version of the C compiler that would recognize and 
  1002.      silently bug the Unix login program and would propagate the 
  1003.      ability through future generations of the compiler 
  1004.      itself....No trace of the bug appeared in source code."  
  1005.                (Ibid.)     
  1006.  
  1007.      And UUCP and then Usenet News made this the experimental research
  1008. environment available for those not at Bell Labs, or with access to
  1009. the experimental Arpanet.  "Eager to distribute his software quickly
  1010. and painlessly, Mike invented uucp, thereby begetting a whole global
  1011. network," McIlroy writes. (from "A Research UNIX Reader: Annotated
  1012. Excerpts from the Programmer's Manual, 1971-1986" by M. D. McIlroy,
  1013. Computing Science Technical Report No. 139, AT&T Bell Laboratories,
  1014. June 1987, p. 3.
  1015.  
  1016.      Summarizing the relationship between Bell Labs and the academic
  1017. community in developing UNIX, Comer concludes:
  1018.  
  1019.           "UNIX was not invented by hackers who were fooling 
  1020.      around, nor did it take shape in a vacuum. It grew from 
  1021.      strong academic roots and it has both nurtured and taken 
  1022.      nourishment from academia throughout its development. The 
  1023.      primary contributors to UNIX were highly educated 
  1024.      mathematicians and computer scientists employed by what many 
  1025.      people feel is the world's premier industrial research 
  1026.      center, Bell Laboratories. Although they were knowledgeable 
  1027.      and experienced in their own right, these developers 
  1028.      maintained professional contacts with researchers in 
  1029.      academia, leading to an exchange of ideas that proved 
  1030.      beneficial for both sides. Understanding the symbiotic 
  1031.      relationship between UNIX and the academic community means 
  1032.      understanding the background of the system's inventors and 
  1033.      the history of interactions between universities and Bell 
  1034.      Laboratories." (Comer, p. 34, 42)
  1035.  
  1036.      Describing this fertilization, Dennis Ritchie wrote, "... Unix
  1037. enjoyed an unusually long gestation period. During much of this time
  1038. (say 1969-1979) the system was effectively under the control of its
  1039. designers and being used by them. It took time to develop all the
  1040. ideas and software, but even though the system was still being
  1041. developed people were using it, both inside Bell Labs, and outside
  1042. under license. Thus, we managed to keep the central ideas in hand,
  1043. while accumulating a base of enthusiastic, technically competent users
  1044. who contributed ideas and programs in a calm, communicative, and
  1045. noncompetitive environment. Some outside contributions were
  1046. substantial, for example, those from the University at Berkeley."
  1047. ("Reflections on Software," August 1984, vol 27, No. 8, p. 75)
  1048.  
  1049.      John Lions, reviewing his experience as part of the UNIX
  1050. community, concludes, "We have made a large number of contacts and
  1051. exchanged a great deal of information around the world through this
  1052. UNIX connection. Possibly that is the nicest thing about UNIX: it is
  1053. not so much that the system itself is friendly but that the people who
  1054. use it are. "(Lions, p. 57)
  1055.  
  1056.      It is a rare and wonderful event in the development of human
  1057. society when a scientific and technological breakthrough is made which
  1058. will certainly affect the future course of social contributions wer
  1059. substantial, for example, those from the development and which becomes
  1060. known when its midwives are still alive to tell us about it. UNIX, the
  1061. product of researcher at Bell Labs, the then regulated AT&T system,
  1062. and academic computer science, and a valuable invention for computer
  1063. science, for computer education and for the education of the next
  1064. generation of computer scientists and engineers, is such an event.
  1065.  
  1066.  
  1067.  
  1068. Ronda Hauben           Amateur Computerist
  1069. ronda@umcc.umich.edu   or ae547@yfn.ysu.edu
  1070.  
  1071.  
  1072.