Interview with Bob Morris
MSM: Talked to Doug McIlroy. Ken Thompson, Dennis Ritchie, Sam Morgan, Lorinda, Brian, Sandy Fraser, Al Aho, Joe Condon, Weinberger and Berk Tague, oh and Stu Feldman. Have I missed someone important?
Morris: Well, there's three people, that they have missed. Two
are dead, so, uh, you waited too long. That's Lee McMahon and
Joe Osanna.
MSM: Who was the first person?
Morris: Lee McMahon. He died about two years ago. Joe Osanna
maybe died ten years ago. There is another person. Who was in
very early. That gets inadequate credit for what he did. But,
he left the research area, sort of right after when things really
sort of got started. People have forgotten about him. Which
they shouldn't, because, hey, I had forgotten his name too.
MSM: Rudd Canaday?
Morris: That's probably who I'm thinking of.
MSM: He was one of the original three that met in Ken's office.
Morris: Yeah. Okay. No you didn't mention him.
MSM: I hadn't talked to him.
Morris: Yeah and uh, I mention that because there's quite a few
people who were not in it in the beginning at all, who still get
a lot of credit. Some people who were in it in the beginning
who don't and I think Rudd would definitely be one of them.
MSM: I'll talk to him.
Morris: Of the people you talked to, very few were associated
with the creation of the system itself. Or were even anywhere
near close to it. Those who were were really, Ken, Dennis and
Rudd. Others came in maybe a year or two or three years later
and myself included. I was nearby but not involved in the creation
of the system and the fundamental ideas that went into it. I
was nearby but not involved.
MSM: How did you get involved?
Morris: Interesting goings on. Possibility of restoring what a
time was a
Bell Labs had become a technological backwater
in almost all computer science related activities, and not only
that, but we were headed in a direction of more stagnation as
time went on. This was right after the death of MULTICS project.
Which we had been on for oh perhaps six years, seven years something
like that. I think we started in about 1963 or 4. 64. It was
a dying system and never did serve any really useful purpose.
We recognized Bell Labs recognized it was a dying system and
abandoned it, in 1970 or '71. I can't the exact date.
MSM: It's gotta be '69.
Morris: Maybe. Yeah. All of my dates back then are plus or minus
a year.
MSM: That's what references are for.
Morris: Here was the possibility for creating a computing environment.
That was actually somewhat forward looking. Using what then
had become relatively common facilities for multiple users on,
that is multiple access to a time shared system. So, that the
access was broad and usage was broad. What we had at Bell Labs
up until that time was pretty much big machines somewhere in the
basement. Inside a room somewhere and you put a deck of cards
down and that's the way the job run. That was all very well when
I arrived at Bell Labs in 1960, that was the way computing environments
were. Uh, but, during the '60's people had gotten way, way head
of that and here was a project that was attempting to and eventually
did get us back on the track. On more or less on an up to date
computing environment. By no means a first, God it wasn't the
fifth, there were just in my own experience that I personally
used not just a handful but a considerable number of predecessor
systems of that sort. Remote access for multiple users and provided
reasonable computing services.
MSM: Had you used them at the Labs or in other projects, you were
involved in?
Morris: Well, the Labs itself, themselves didn't have much. The
labs itself had nothing of that sort. MULTICS would have been
an attempt to go in that direction. But it failed for reasons
I guess that we don't often hear. Too big, too complicated.
The best quotation of getting MULTICS to do something is like
kicking a whale down a beach. No, I had used systems at MIT.
I give them credit for being the first off the market. They
produced the first system of this sort. Of which UNIX was a simply
logical development, eight years later. But, the system that,
again all my dates are plus or minus a year, the system that MIT
produced in 1963, called CTSS, basically showed the way for all
the others. By '66 or '67 I was using a home grown time sharing
system, at Berkeley, and the work, just one they basically built
themselves.
MSM: Is this the Genie system?
Morris: Huh?
MSM: Genie? Or what was the name of the system at Berkeley?
Morris: Oh God. I don't know. Berkeley timesharing system, I
think.
MSM: Okay.
Morris: Ran on a SDS-940. I don't think it had a fancy name,
but it was a project that was home grown within the electrical
engineering department, and uh, I had used it by that date. I
was at Berkeley in '66 or '67. There were several commercial
time-sharing systems. ______________________________ So, it had
become reasonably common. I went back to Bell Labs from Berkeley,
in the summer of '67. And uh, we were still kicking MULTICS around
and it didn't seem even at that time, to have any future; I never
took much interest in it. I spent some time working on it. But
really as little as I could get away with it. It died, whatever
date you said. Basically, Ken Thompson saw some machines kicking
around that weren't being used and decided to set up a time sharing
on them and uh, at that point, it was pretty much his baby. I
saw it happening but I did not participate. He got the rudiments
of a system to work on, oh God I don't know. PDP7 PDP9
MSM: The PDP7 was the first one.
Morris: Something like that. They're both the same. I'd have
to physically remember how big it was.
MSM: (Laughing)
Morris: Between the PDP7 or the PDP9. They're the same machine. They run the same code. Got that going though was really only the rudiments of an operating system at that point. It handled input, output. Some scheduling of processes. But certainly did not for multiple users. It supported one user, sort of. I've forgotten whether it supported one user, so long as he was at the console or not. But, it was along those lines. It went along and never got a heck a lot beyond that point. Or, Bell Labs computing. Bell Labs situation otherwise was dependent on monolithic mainframe computers. That was viewed by them as the way they wanted to go. The wave of their future at least and they continued on. Somebody, I guess just Ken needed to scrounge on a machine. In which he could put together a viable operating system that for which the PDP7, PDP9 version was just a forerunner. I think, whether and to what extent he asked his own management for support for this I don't know. Certainly he didn't get it. But that is neither here nor there. Well, actually he did both here and there. (Laughing) He managed to con I think the Murray Hill patent department into paying for the machine. I'm sure of that. Chris would know better.
MSM: _________________
Morris: Promised them and eventually delivered a system which
would provide them significant economic savings, in their patent
preparation operations. That actually happened. Got the machine,
I think they paid for it. that would have been a oh God knows
PDP something with very low number, 11-2.
MSM: I think it was eleven forty-five.
Morris: Before that.
MSM: Before that.
Morris: Eleven forty-five is distinctly later. I think eleven-twenty.
MSM: Okay.
Morris: Let's think eleven-twenty. The first machine was quite small. If it was in this room. You could have concealed it so there's not now visible. I mean, I think it occupied about 5 cubic feet.
MSM: I see.
Morris: By, so by so. Something like 5 cubic feet. Let's see
at this point. Joe Osanna, is clearly in the picture. He's probably
the second person to really commit himself to the development
of the system. That machine was set up in our space in an attic
room in Murray Hill.
MSM: By our space now you mean computer research?
Morris: Yeah.
MSM: Okay.
Morris: Yeah. Don't think of a fancy laboratory, but it was a
room up in the attic. And instead of bringing the facility to
the patent department, the patent department came to us. There
were something like four patent department secretaries resident
in our space for I think for several years. I would estimate,
two years. Something like that. The system was largely developed
including the software, that they used, within present. You could
get, to say the least rather instant feedback. Don't like this.
Do like this. This doesn't work. How can I do this or why can
I do that and things like that. Was rather immediate feedback.
At this point we had, currently have Ken, Dennis, Joe Osanna
and Rudd Canaday working on it. Those four were really the four
that brought. I was nearby. But, again not participating. I
saw this happening but I wasn't doing it. Those four people were
in it in the beginning and they were the ones that had the vision
to turn an idea into something that could kick. But, it was developed
initially as a text processing system. For the Murray Hill patent
department. That was the surface reason for its creation. Right
from the outset.
MSM: When did it catch your attention as something you would want
to work on?
Morris: Within a year after that.
MSM: What about it that caught your attention?
Morris: Just what I said at the outset. That it seemed like a
distinct step away from the, by then one can fairly say bankrupt
notion of computing a cardex on the monolithic computers. You
put your job into compile and you go back an hour later and get
it and discover, there was a compilation error. First of all
very inefficient. The wrong way to do things and what caught
my attention was simply that, and I had had tremendous experience
in software. I was a heavy user of CTSS at MIT. Heavy user of
the Berkeley time sharing system at Berkeley and UNIX was a derivative
of all of these. It would be too much to say there was nothing
new in UNIX. But, that's not often much of an exaggeration.
Obviously tremendously derivative on what existed at the time
and what have you created in the past.
MSM: What were you using a computer for?
Morris: Me? I'm a mathematician.
MSM: You were using it to do math?
Morris: Of course, also the text processing. Because, I wrote
my own papers. I mean part of the way a mathematician survives
is by doing mathematics and also another way of surviving is to
publish papers. Any paper that I was writing, and there's was
always something on the fire. The text preparation was certainly
being done, on some time sharing system and after UNIX arrived
on it. So, that I was there probably about a year after its creation.
The. That was damned near it for a long time. Probably another
three years or so. During the time I was with it, I didn't do
that work. It really turned into a fairly complete system. With
the system utilities, you would need and expect to do the ordinary
things you expect to do with a computer.
MSM: Did you add some of those utilities yourself?
Morris: The one thing that I did, from the earliest times was
the, was to contribute most almost all perhaps of the mathematics
related, arithmetic related software. The mathematics, I don't
need fancy mathematically things. I mean that if the system printed
up a date on your terminal. The chances are to get the numbers
and that date. It went through software that I wrote. So, when
I mean invented software. I really mean in a broad sense arithmetic
software. I did a great deal of that. So, just stuff that involved
numbers for whatever reason. Like entering a date, or receiving
a date. All kinds of conversion type stuff. Conversion of numbers
to form or another. Because these things are really held internally
anything like the form that you would expect to see them externally.
Also, I wrote the fundamental service routines that computed
the commonly used mathematical functions, sines, cosines, tangents,
logarithms, exponentials, things of that sort. As far as I can
recollect I wrote all of those plus some specialized things.
The so called desk calculator. Still pretty widely used. Though
I didn't write it for the public, I wrote it for myself and that's
true of a lot of software that people are buy and large writing
software according to their own standards. The way they wanted
to. For their own use, and the use of their friends and associates.
Certainly no notion in the early '70's that this was going
to become a country and of worldwide time sharing system that
everybody and his brother would be using. We did not contemplate
that and certainly in early times. The software was just not
written anything like that. The desk calculator, which was now
used by, I suppose, tens of thousands of people. I wrote it for
one person. Myself. Period, and the reason for it actually that
fairly early on it replace an earlier version of it by something
else that I needed to do a lot of coefficients in order to install
sine, cosine, logarithms, and stuff. I needed high precision
arithmetic to do that and DC was the vehicle for that. There's
another program called BC which is just the same stuff.
MSM: I've used BC.
Morris: Same stuff. Repackaged.
MSM: You put that together, cause you needed it. But it eventually
became a utility that others used and others contributed their
packages and one of the other things that struck me is that there
is certain if not uniformly consistency of approach. Or am I
misreading things?
Morris: It depends on your point of view. Some would say and
I feel a consistency of approach in style in general, orientation
and in attitude, but, there are others, critics who at some justification
observe that in the ordinary commands one uses day to day, it
seems like nobody was talking to anybody else there that they
are all maybe similarly or generally but enough different in detail.
A total pain in the butt. Some arguments have dashes before them.
Some arguments that, ordinary functions have dashes before them.
Require the dashes but for the argument, for the command. Some
require them. Some forbid them. It takes some experience to guess
which is which. There certainly is a uniformity. It did not
extend into enough detail, that that is a widely held view. I
view it that way. Later on I got into other things. One of the
contributions that I put in was, all the password related stuff.
MSM: May I ask you about that? When did it acquire password in
some form of security?
Morris: Some form of security? Right from the beginning. I can't
remember when there wasn't some forms of password security, that
they weren't used. But, there were there. The initial version
of the system. When it first got on the air. Every user could
have a password. But, most didn't. Which was very unusual. In
the early 70s, for anyone to actually use a password. They were
available. The password itself was kept in a file somewhere and
now you begin to get into problems of being able to keep those
passwords on a file. So, that they could be entered, or when
people entered passwords or changed passwords. They could be
awked up when the system needed to check the authenticity of something.
But, yet you wanted to prevent others from either reading them
or changing them. So the clear text so called, let's call it
clear text passwords, unencrypted passwords. I was having an
argument at some point with somebody. This was certainly rather
early '70's. Probably '73 there about. Again, everything plus
or minus a year. But, we are talking after all about a twenty
year old offense.
MSM: Exactly. (Laughing)
Morris: The notion that I had was to encrypt them. Pretty standard
stuff and has been for a long time. But, that wouldn't quite
do the job. If the algorithm used to encrypt them was readily
available, because anybody who wanted to mimic a real user. Just
had to mimic the encryption. Which though you might be able to
keep it secret for a certain period of time it would eventually
become known and what I bet I could come up with was, and though
I did not know it, this trick had been done before, whenever,
I don't think ever published. Somebody in England had done the
same thing was to find an encryption operator who would work in
the direction of turning ordinary passwords into encrypted passwords.
But, extremely difficult to go the other route and that is proving
to be true. It's seems even now, and God knows the current version
of UNIX password is encryption, the current version is close to
fifteen years old. It is much older than ten years. Expect fifteen
or fourteen years, people still don't seem to be able to have
any edge at all on going backwards. Obviously, you can try things.
You can try things automatically. People run whole dictionaries
through the damn thing.
MSM: Yeah._________________
Morris: That certainly works. I made that as slow as I could.
But, I couldn't arbitrarily slow and I knew the future was going
to be faster and has just turned out that the future is faster.
And originally, I put the routines in so that the amount of time
it took to do the lookup of a password was about as slow as I
felt people would tolerate them. 'Bout a second. Things have
speeded up now. It could even at that time been sped up by perhaps
a factor of ten. But, still that ten per seconds, it takes a
hell of a long time to go through a dictionary.
MSM: Yeah.
Morris: Machines however, are perhaps twenty times faster as they
were then, and now what I had originally had the that version
was used on-line. Which took about one second per password, is
now doable in something on the order of 10 milliseconds.
MSM: Really.
Morris: It's a lot faster.
MSM: But, no big deal. Expected. The only question was when,
and five years hence it would be some other factor faster. It
still takes awhile to go through a dictionary and encrypt all
the words in it. That remains as far as I know the only attack
on the password algorithm. No one seems to have gotten any edge
on going backwards, going from the encrypted passwords. And the
advantage of encrypted passwords is that you can keep it openly
in the file, and it gives people relatively little edge. It
turns out in retrospect that may not be the wisest thing, but
you still can do it without total loss of security, as long as
you can look at a password file and has everybody's encrypted
passwords. You still got a whole lot of work ahead of you, to
find out what their passwords were.
MSM: I was, I was actually in that file the other day in my own
machine. Because, I was having, seeming to have trouble with
a password command. Someone said, "Just check the password
and see if its changed
"
Morris:
and it would tell you.
MSM:
and it would tell me.
Morris: If it succeeded in putting in a new password, by God,
it would change. The first one that I put in worked but it had
draw backs, of which the main one was that it could be made to
run too fast. That was probably first put in about 1973. It
was changed in a major way about three years later with an algorithm
whose main advantage was actually that it was much more slower
and pretty hard to speed up. Anyway those are two of the principles
things that I contributed to the system.
MSM: Did you see those as interesting theoretical problems or
___________________.
Morris: Oh the password thing was just a side issue. I just,
just like I fix bugs and so forth in one way or another. The
password stuff was not central. The arithmetic stuff fell into
two baskets really. One was general service routines for the
people who wanted to do genuine computation on computers. A rare
thing now days. Now days computers you use text processing, not
arithmetics. But, that's a change that has really taken place
in during my working career. That changes. When I came to work
at Bell Labs in 1960. That's what people used computers for.
MSM: Surely, it's primary use was in numerical analysis.
Morris: Not just the predominate _________________________.
MSM: Sole users.
Morris: That changed through the sixties. So, that 1960 was a
hundred percent. In 1970 there was considerable amount of text
processing. In by now it 's almost unheard to hear of someone
using a computer for numerical analysis. It just doesn't happen.
I mean I don't even use my own computer to perform numerical
analysis. I use text processing one kind or another. Oh maybe
occasionally I would run some numerical programming. It's a
rarity. It's not what it's there for. So, one basket is certainly
the
(END OF SIDE 1)
SIDE TWO
Morris: You back again?
MSM: We're back again.
Morris: Yeah. The service stuff that simply contributed to the
system being a complete operating system but had the kinds of
support and service mechanisms that one would expect. Part of
it was that and the good part of was really doing my own work.
By and large, when I did things like writing sine, cosine, tangent,
exponential, and logarithm functions. I tried very hard to some
success to first do a very good job and second there was a enough
originality in it that most of the work of that sort that I did
got published.
MSM: I see.
Morris: Sooner or later. So, that was genuinely part of the
research I was doing. Mathematical component. Not a side issue.
Passwords were always a side issue. There solved immediately
an irritating problem that we have more than one copy of the password
file. Because, of the old style password. We had more than one
copy of. One copy you could look at and one copy you couldn't
look at. You needed to look at some of the information having
to do with log-in names, because for example you would simply
be able to know who was logged-in. Or you would want to mail something
to somebody. Something of that sort. So, and we did have and
they were always kind of out of synch with each other and never
worked out right. The, so, one of the important perceived advantages
of an encrypted password scheme was the new ability to keep all
the user related information in single file. Now, it turns out
in twenty years, retrospective that ain't a hot idea. What the
hell. What does turn out to be a good idea in twenty years. I
don't know.
MSM: Twenty years from now it may look like a good idea again.
Morris: At this point in proceedings there were, to the best of
my recollection, and I'm talking about 1973. Five people working
for _______Unix. Well except that Rudd left. But, for a long
time it was Rudd, Ken, Osanna and myself and Doug. That's about
it. During the period of time where it developed from the idea
for an operating system to a fairly complete operating system
things that people wanted to do. It was really those five or
six people that I mentioned.
MSM: So, what was Doug's role?
Morris: Well you see Doug was a manager and he had a supervisory
responsibility for the whole thing anyway. It was all being done
by people, I think all in
He was a department head and I
think was being done by people in his department. There may well
be exceptions but, most of them certainly were in his department.
So, at the early stage. He simply watched this happen and thought
it was a good idea, supported it, and helped in an administrative
way to make it happen. Perhaps a couple of years later, he was
right along in there pushing along with the rest of them. On
the technical level. That's why in this stage I include him.
I don't mean Doug as a manager as a department head. But, as
a technical might, he was in there by 1973 thereabouts. But,
at the point, when it was turning, say when we had encapsulated
the system for the patent attorneys. That machine by the way
got sent back to the Murray Hill patent department, with the
secretaries, and they had a locally operating system built for
them. To their requirements, that they used quite some years
in the PDP1120 I believe. Its at that point that we get a 45
and again to within the usual inaccuracy. I'd say '73 or '74.
MSM: Okay.
Morris: You know in the best of all possible worlds there may
be places where we could actually determine that, rather than
getting people's guesses, but this ain't the best of all best
possible worlds, and I know approximately. Others would also
know.
MSM: That's what archives are for, and other sources.
Morris: There aren't any archives. Most of this information is
anecdotal and long since lost. I think.
MSM: Well one of the things I want to do is to look at, track
down the case numbers of some of these things, these projects
that were associated with it. But, as you say, a lot of it is
just cross checking people.
Morris: I remember for example, one piece of software that I made
a noticeable change in. I was listening one day in about 1974
to Ken and Dennis arguing about when something happened and even
at that point they couldn't agree to the nearest year it happened.
They had a printout in front of them which had the date on it.
Month and day of the month and I looked at them, looked at the
piece of paper, their argument and in my best Southern drawl.
I said, "Ah shit," and turn around console and actually
changed the print programming program called PR and so it would
now print out the year.
MSM: (Laughing)
Morris: I did it and I did it one day without anybody noticing
it was in 1974. It was not part of the original package. Find
the sheets. If you see them. Which were printed before that.
Do not have the year on it. At one point, I put that in just
for that reason. Because, we were already losing the precision
of knowing when things had happened and paper records that should
have settled such questions were not in fact settling. (Laughing)
So, I was the user, and of parts of it I was creator, but there
mainly in the arithmetic and mathematics. I continued to be a
user. I continued to do research on making things on it, beyond
that. But, the creativity slowed down in the late '70's and was
practically dead by 1980.
MSM: You mean in the system? In what was going into UNIX?
Morris: The rate of change slowed down tremendously... The rate
of change in the early '70's was absolutely unbelievable. The
responsiveness of it was also unbelievable. One day early on
let me pick about 1973. I was watching Dennis Ritchie do some
arithmetic computations. I don't mean anything fancy. He was
just adding up a list of numbers. Using DC to do it and as he
was typing them in he made a error of typing and DC for no particular
reason except just the way it was designed. It could have just
printed him a error comment. But, that's not what it did. It
printed him a error comment and wiped out the current sum. So,
he had to start from scratch and again went back to my favorite
Southern drawl. Went in made the change to the first program
of DC. Recompiled it and installed it and it when about ten minutes
later. Dennis, who probably hadn't seen me, the fact that I was
watching him, said, "There's a problem with your program
and think I ought to fix it." Hey it's already installed
and that kind of thing could happen with any person , any software,
any time and was the rule rather than the exception.
MSM: What do you think in
Morris: In the early and mid '70's, we were basically in the same
room with all of our users.
MSM: Okay. What is it that made that, that facilitated that kind
of flexibility. Is it the tools? Was it the shared knowledge
of how the system worked or
For instance, when you were going
in there making those changes. I take it now at this point that
you using C?
Morris: Yeah, yeah.
MSM: That made a difference?
Morris: Well actually that program happened to be machine language.
But, that's the detail of
the machine language was it in
the beginning and B had become available, and B changed to C and
I don't remember the date of the, the real date of the change.
But, it was '74 or '75. Before the system itself was written
in C, and you would expect that essentially anybody wrote for
any purpose. But, it is a detail and about that, because BC was
written early on. That sure it was written in machine language.
I think the reason for it is share of knowledge of the system.
But, I think a general. Two things one is general attitude.
People contributing system software and that crucial, there were
not working toward externally separate departments. We were not
bidding on some Goddamn government project. Which meant somebody
who didn't know anything had set out a lot of ways of how the
system should operate. (Coughing) Excuse me. We had almost total
freedom in that and we were able to and it's a luxury. I mean
no one could do that kind of stuff with UNIX now. Couldn't possibly.
MSM: That's what everybody says.
Morris: Not with AT&T UNIX. Not with any UNIX. You just couldn't
possibly laugh and see something so wrong go with a program.
See that it was wrong. Go in, find the place when the change needed
to be made and install the result. Hey that was perfectly reasonable
in 1974. By 1978, it was absolutely out of the question.
MSM: Did you guys talk among yourselves in a explicit way about
this shared philosophy? Did it work itself out? Was it seeing
one another's work? How do you do explain the emergence of this
sharing of thoughts?
Morris: We all worked in the same room. We worked all up in an
attic room on the sixth floor, in Murray Hill. In space that
maybe was one and a half times the size of this hotel room. We
were sitting at adjacent terminals, and adjacent, and we knew
each other and we had always in fact ate lunch together. Shared
a coffee pot. So, it was a very close relationship and most of
us were both users and contributors and there was a significant
innovative for research contribution at all points. As I mentioned,
the possibly the best known in name terms of all the quota I put
as BC or DC. The. As far as people using code without knowing
it, that pales with something in comparison to the sine routine,
or, that a lot of the code does just mundane conversions. That's
gets for example a date, the year and print it out right on your
terminal. That kind of quote don't make you famous. But, it's
still going to be there. So, I was a user and I was creating
system that in part, in large parts I wanted to use. So, the
parts I was creating were in many cases the part, I needed for
my own work. So, I was both a user and a contributor. But, that
was generally true. It was true of everyone. C for example, everybody
I imagine now just happened. Well, it didn't just happen. In
one form or another, was in the process of being born for very
nearly a decade and I watched most of it. I wasn't a contributor.
Well I used to bitch about it. Bitching about someone else's
software was always a contribution in those times. I was not
a contributor, but I saw it happening and it was basically transition
from a language developing in Britain called BCPL. Got important
in this country and it was some attempts to get it or some like
it going on. MULTICS never panned out, then Multics never ______________.
Then a version of it, a modified version of it turned up on UNIX
written by Dennis, as B, the language B. It was an outgrowth
of BC and an improvement on it. But, then turned into C. Mid
'70's. Before, '75 certainly. A tremendous amount of development
had taken place and Dennis wasn't just batting his gums. He was
doing a real research in programming languages. In process of
taking relatively antiquated BCPL that nobody's ever heard of.
I mean the only reason anyone has ever heard BCPL was because
it was two times antecedent of C and that the C that was originally
created ain't the same C as exists in UNIX now. It's called the
same name. But, I had the interesting experience of not too long
ago. Maybe two or three years ago, to compile a program, that
I had written. In about 1974 or '75. Fairly complex Boolean
_________ program. I compiled it and I think I as a result hold
the world's record on error comments from a compiler. I ran it
through a error checker called... It does a better job than C
in outlining your errors and miraculously I got seven thousand
knots. On every single program. A lot of things had changed and
you know much of it, I could look through, I actually wanted the
program, look through it and see a third of comments were all
on the same subject, that a particular piece of the syntax had
changed and I hadn't bothered to change. I fixed that and looked
at what the big winner was and I think in four or five hours I
finally got the thing to compile. But, it certainly sensitized
me that to the fact that the C that started out like, is recognizably
a predecessor of the C that now exists. But, that's all it is.
MSM: When I first started programming in C in 1982 and I got some
routines. I've had well no were near your record. But, had that
same phenomena. Compiling now and getting error messages. That
the earlier compiler didn't care about.
Morris: Yeah, and it would have been much. In order to get the
ten thousand. I had to go through some significant syntax change.
Changes in syntax. That took place in the late '70's. There's
a construct if you want to say A equals A plus B. Originally
you wrote that A=+B and that got changed to A+=. _____________A
minus turned into = reversed. [editor's note: the tape is unclear
here. However, Morris is explaining the change in notation from
A=+B to A+=B, and A=-B to A-=B. This was needed to distinguish
"A gets A minus B" from "A gets minus B. "]
You know that by itself can cause thousands of error comments.
But, that wasn't all. That's easy because quick editing of passwords,
will take care of that. Some of them were genuinely hard. Because
you could no longer quite work on just line by line change. As
if it were a syntax change. Genuine facilities that disappear,
or change in some service functions for example, whether it disappeared
or changed their function in a central way. So, that a significant
change had to be made. But, it's still changes. Yes, eighty-two
would not be the same of ninety-one. Oh hell a lot closer than
'75 for sure.
MSM: You mentioned that Dennis was paying serious attention to
developments of programming languages. One of the things that
has struck me about UNIX as a system is its close ties to developments
in theoretical computer science during the late '60's and especially
the early '70's. Did it pick up that
Morris: The '60's were the golden age for computer science to
turn theory into practice in computer science is something that
happened in the '60's. Didn't happen much before that. There
wasn't much science, and didn't happened really at all. Notice
that UNIX is practically the last operating system to be developed.
Not quite, but very nearly. There are operating systems which
are simply copies. Renamed copies of things that already exist.
C is very nearly the last programming language to be developed.
Again, there exceptions, but there aren't many. One can only
really think of two, Ada and PL1, that were developed since, C,
um that's a close one too, PL1 very early
MSM: Actually PL1 comes before C.
Morris: I don't think so.
MSM: PL1 was under development in the mid '60's.
Morris: I'm sorry.
MSM: It was originally called new programming language. Doug
was responsible for the semantics of it.
Morris: I'm sorry, you're quite right. I just got my dates mixed
up. PL1 became a reality in about 1967. '66 or '67.
MSM: Because, I went to an IBM workshop. There were trying sell
humanists on it as a language. '67.
Morris: It's not much use even now. Perfectly good language,
and some what the same features of Ada, but, I guess, I would
have to say that Ada is pretty much it. There isn't. There has
been relatively. You know those are extreme statements of what
of course, could have __________________ But, the broad notions
still exist. That there is been remarkably less research in innovation
in both operating systems and in languages. Since the days when
all of us were getting geared up to do this kind of thing. Late
'60's. Those were the good days to do those then. The good days
don't much seem to be here anymore. I don't see comparable activity
taking place, beyond mid '70's. It hasn't. The operating systems
that one encounters that are newer than that are so bad as to
be almost laughable. DOS? That they call DOS an operating system?
It doesn't to my mind. It would have generally at least fit
the definition of operating systems of 1960's. Certainly wouldn't
in 1980. The definition of a operating system is 1960 would have
been, the service routines that handle IO that's it. Period.
By 1980, minimum definition for an operating system was process
control. DOS don't exactly do that. So, it is indeed almost laughable.
But, there haven't been, there has been remarkably little innovative
in programming languages and operating systems. Since the UNIX
experience. It was the right time to strike and one of the best
things about UNIX is. Isn't anything in UNIX itself. But timing.
It was a darn good system, coming out at essentially exactly
the right time.
MSM: What made it the right time?
Morris: I don't know. I know the Ken was help selling the system
and this is all hazy in my mind. Because, I wasn't even particularly
close to that. I know that it happened. Ken persuading AT&T
operating companies to use UNIX? For various kinds of purposes.
Not for text processing. But for one thing like maintenance
and things like that and quite a few did. The actually, pieces
of the government, peddled the idea of using UNIX to national
security agencies. I kind of laughed at the people there. Because,
are they aware of the fact that the UNIX that they are now running
actually got to NSA in the trunk of my car.
Both: (Laughing)
Morris: In the mid '70's. Ken and Dennis and I went down there
one day and bought the tape, Which is the direct predecessor
of what they're now using. They didn't upgrade to more recent
version.
MSM: Oh, they didn't?
Morris: They are stuck riveted the wheel system, it is actually
a system that developed out of that tape, that I brought down
there.
MSM: No kidding?
Morris: About fifteen years ago.
MSM: How do you, you said that
Morris: I don't so, that's a definitive answer. I don't know
where I was at the time. I thought about it before and I put
together in my mind in some of the pieces that make it clear,
that it was the right time. I had thought about it and I do not
know the answer.
MSM: You said that, if I remember correctly that AT&T had
become something of a technological backwater in computing science.
Then the UNIX project or UNIX got underway. Was there a change
in the place of computing at the Labs at that time? I mean, I
know that at first the project wasn't encouraged but by the same
token, new people were being hired.
Morris: In the crucial years, it was not supported. The years
that made the difference between it continuing and not continuing.
The best one can say management role is, they didn't manage to
kill it. Hey, that's fine. In many other organizations, they
would have managed to kill it. At Bell Labs, they didn't. I
don't see an awful lot of distinction. I was originally hired
in the engineering department at Bell Laboratories. Promptly
within a year transferred into math research, and computer science
was then viewed as essentially a part of math research and indeed
my training is, was, is a mathematician. There are relations
in a certain way that I do computing and there continue to be
relations. The um. We had an IBM 7090 basically, well it had
been a 704. It became, in that term 7090. Then that turned into
a 7094, etc. The whole period, about a decade, '58 through about
'68. Not terribly much changed during that period. At the beginning
of it. There was relatively little need for computer science
and the parts we did need, had some support. This would be, for
example, numerical analysis, support. But, not much and by say
1970, we just sort of '68 through '70 which is sort of crucial
date of what we're talking about. This situation was much the
same thing. We really didn't have a bunch of people, who were
trained in computer science in the way you would expect. Numerical
analysis was still getting some support. But, considering the
organization, actually to my mind, surprisingly little. Or, this
may not have been a management decision in supporting it. Maybe
it just getting and holding those people was hard to do and indeed
it was. For us, I think in general, it was a good time to do
that kind of stuff and lots of people did. They were doing exactly
the same thing when I was out in Berkeley, two years previously.
People had been doing the same thing. At MIT, eight years previously,
they continued and theirs was the, I mean they really were first
off the market. The fundamental underlying of ideas came MIT's
CTSS. Which stands for something. Compatible time sharing. Some
nonsense like that. It was the right time. But, you have to
have the right people put together. We did and I think that's
a accidental, and. Things would be much more if we hadn't. _______________Ken
was one that wanted on and saw a machine not being used. He said,
"Hey, that machine's not used, you ought to fix that"
and that's one important piece of it. Dennis, Rudd Canaday was
in with Ken on that end of things. Dennis came in very shortly
after and basically and Joe Osanna, probably at or before the
transition to the PDP11. I know they did in fact. But, having
those people all put together. Having to be the right time and
I have no explanation for having the right people all together
at that time. Is just an accidental piece of magic it happened.
I don't know why.
MSM: Did you, that original core group play any role, selecting
the second generation? There is, the core group you've talked
about, it doesn't include Brian. For example, or Lorinda _______[NOTE:
Probably Lorinda Cherry]. Can one talk about generations involved
in this?
Morris: Not really, because people are showed up essentially one
by one and simply joined the group. Not in any formal way. But,
in some informal way and no there is no such thing as generation,
because if you look into where all this lists of people you were
talking about had some involvement here. Say by about seven or
eight years later. The original people still there and the number
of people who had left, was really quite small. I think by 1979,
by 1979 the dye was completely cast. UNIX was a living, going
thing and what we have now was inevitable of the situation in
'79. By that time, I think the only people that had left were
Rudd Canaday and Joe Osanna died. Roughly that time period.
I would say around '78 or '79, again, the usual plus or minus
a year, of the rest of the people that had originally started
on it, were still there. The people that had drifted in later.
(END OF SIDE 2)
(TAPE 2, SIDE 1)
MSM: Okay. Uh. One of the more revealing statements that came up in an earlier argument. I was talking to Joe Condon and uh asking about his encounter with the machine because he was in many ways a user of the system
Morris: Oh yes.
MSM:
and I said, I forget how it came up. He said one day
he went to you he went because he didn't find the manual much
help and he said something like. "How do you know what these
commands do?" He said your response to it was. "What
you think they ought to do. Uh. That is what would make sense
for them to do. That's pretty much what they probably do do.
"
Morris: Excessively a flexible attitude.
MSM: (Laughing) But he took that as sort reflecting of philosophy
of what we call UNIX. Do you remember that encounter?
Morris: I don't specifically recognize the encounter. It's the
kind of thing I perfectly would have said. Should have said and
probably did say. I've had conversations myself that are much
the same line. There is for example a collection of formatting
software that formats basically mathematically text. There's
something I use in my own writing a great deal. Its called EQN,
and neither here near there. When it first came out I sort of
made a deal with the author of it. That must be Brian. Yeah.
That the damn thing ought to work and it ought to work in obvious
ways and I didn't have a manual. Wasn't going to get one and
never intended to look at one. That if something that I tried
is a natural way of creating a construct didn't work. Then
the program needed to be changed. His view was and that's in
line with my conversation with Condon. His view was completely
supportive of that. Uh, uh. That uh his view was if I used common
sense and tried to create some construct, uh and I wrote integral
from A to B of X that it should damn well produce a nice integral
sign and an A at the bottom of it and a B at the top of it and
an integrand and do all that without a lot of messing around and
if it didn't recognize common sense ways that ordinary people
say this is mathematical text so ordinary people who were writing
that mathematical text. Then it ought to be changed. And that's
the way it stayed. I'm still a user of EQN, and I still never
seen a manual with EQN. That's one of the credible ones.
Because there are an awful lot of possible differences.
I mean looking at competing packages of that sort damn near unusable,
because you have to learn so many rules to operate them. Uh,
uh. That by the time you learn half of the rules, you're already
bored with the whole thing. And uh the, you attempted to do the
whole thing in long hand.
MSM: Well WordPerfect has embedded EQN in their mathematical interface?
Morris: Have they?
MSM: Yeah. That's how it's based. I find out you could just write
each EQN statements off the keyboard and the mathematical editor
will format them.
Morris: That must be more recent; I'm still dealing with
MSM: This is the WordPerfect 5.1.
Morris: I'm still stuck at 4.2.
MSM: 5.1 has mathematics editor and uh you can have an EQN expression
in a file and just import it will become the equation.
Morris: Okay. Well it was a real piece of work. You know it
was good time for creativity. Because in many cases what you
did in those years changed the world. Uh, uh. yeah. You didn't
know at the time what you were doing. In retrospect it turns out
a lot of things people did. Awful lot of decisions people made.
They restocked and they changed the future. And uh, in hundreds
of different ways so that not just the effect is just not on current
UNIX the effect is on, current computer environment in an awful
lot of ways as you say. Found it's way into WordPerfect.
MSM: Yeah.
Morris: Crazy.
MSM: Did anyone lead exercise any particular leadership in this
enterprise?
Morris: No.
MSM: It was more cooperative?
Morris: It was. I don't think there was any time when there was
any notion of anybody adopting on leadership. Uh. If Ken, uh,
asked somebody to do something, the answer would be, "Go
suck a grapefruit."
Both: (Laughing)
Morris: Oh no matter who he asked. Or if someone in the group
had been asked to do something. "Do it yourself." Uh.
No. There was no leadership that I detected for being in, was
community. No I can't imagine you've heard anything different
from that.
MSM: Well I haven't.
Morris: No.
MSM: Well it's a question I
Morris: You better ask questions. I'm running out of free flow
remarks.
MSM: No. Well. It's actually it's been very revealing. When did
you leave Bell Labs?
Morris: I left the environment of Bell Labs Research and went
to work on a particular focus project at Whippany.
MSM: Uh, uh.
Morris: Military Project in 1981. Uh, uh. I worked on that for
about five years. About five years later left Bell Labs at the
termination at that project in the fall of '86. Pushing five
years now. Uh, uh.
MSM: You felt part of the UNIX project up to that point. Or was
there a point you felt UNIX was on its own.
Morris: No. I was part of the UNIX project until I left Murray
Hill in '80 or '81. Uh. But the rate of change and the rate
of contribution had slowed down tremendously by then. Uh. People
were by and large off on relevant but tangential potential things
by then. Uh. The all the examples that I brought out is extreme
creativity responsiveness throughout early and mid '70's. Uh.
The rate of the possibility of that happening simply continued
to decrease throughout the 70s until about 1980. It was at that
point simply no longer possible. Just say such and such piece
of software needs a change, I'm going to go in and change it
and install the change.
MSM: That's the bitter price of success.
Morris: Oh sure. But by then of course we had customers all over
the damn place. I don't know when Berkeley came into all this.
But, relatively early on and I talk in terms say '79 is a good
date. We're talking about a complete delivered system that uh
is basically the, obviously the predecessor in software now.
Uh. The uh. Once either that had happened or feared that it was
going to happen. That kind of up and at them creativity was simply
no longer appropriate. Because you just couldn't cope with the
system of some guy might come in with a hangover and decided he
was going to change the way he did things. If the six people are
all sitting in the next room. You could say that next morning
or at lunch. Hey, I changed the way everybody does things. This
is the way everybody does things. That's okay. But, there came
a time when that was no longer a user community or user group
and uh, perfectly obviously just wouldn't go to that. There had
to be some notion of stability. Stability was not one of your
watch words in the early days. The system was anything but, not
stable.
MSM:: (Laughing)
MSM: Thank God. Any further thoughts?
Morris: No. I'm running down on free flow.
MSM: Okay.
Morris: Your questions or subjects.
MSM: No. I've managed to get my questions in too. I'm may at
some point think of them.
(END OF TAPE)