Dennis Ritchie, the father of the C programming language and one of the co-creators of Unix, shares his thoughts on the open source development model, Linux, and the legacy of Unix.
He invented the C programming language. He is one of the co-creators of Unix. He has watched more than one multi-billion dollar industry evolve around his creations. And still, Dennis Ritchie shows up for work each day in the same Murray Hill, NJ office where he and Ken Thompson first ran Unix on a Digital Equipment Corp. PDP-7 back in 1969. Why? Well, it’s not just any old company that employs Ritchie. This is Lucent’s Bell Labs we’re talking about – the home of the laser, the place where the transistor first saw life. It’s a pretty exciting work environment, and, as Ritchie is fond of saying, it’s nice to walk around your office and stumble into things like canisters of liquid helium. It was at his nondescript office, right next to where Unix was invented, that Ritchie met with Linux Magazine‘s Robert McMillan and Adam Goodman.
|PHOTOS © MARK MCQUEEN |
Linux Magazine: Where do you think we are in the Unix life cycle?
Dennis Ritchie: Maybe the most amazing thing about the whole phenomenon is the fact that it has lived so long. A few years ago I was able to start pointing out that the lifetime of Unix is actually more than half the lifetime of the commercial computer. It’s obvious that the Linux phenomenon is the latest part of that. There really aren’t many things in computing that are of comparable age.
LM: Does it surprised you that it’s lasted this long?
DR: Yes, I think so.
LM: With Linux, there is this whole new generation of people — in their 20s and 30s — who are basically continuing the line of Unix. What do you see as the connection between Unix and open source?
DR: Of course, classically, Unix systems have always been licensed and aren’t open like Linux is. But there are actually parallels in the sense that the AT&T licensing in the late 1970s and early 1980s was really quite liberal for educational institutions. Anyone in college — at least if they could persuade some faculty member to write a letter — could basically have it and do pretty much what they wanted.
The point is that given the economics of the time — the fact that the machines this was being done on were PDP-11s, which were not affordable to individuals — made it so that, in effect, the source was open as far as the users were concerned. By the time of the hobby-computer, things started to come out that people could afford; Unix had grown a little too much to be accommodated on those kinds of machines. The thing that made Linux possible was that suddenly everyone could afford to have a machine that was capable of running a semi-modern operating system.
LM:But when the Intel 386 came along, we had these Unix licensing models that were designed in the days of the $50,000 computer, which didn’t work very well for $2,000 machines.
DR: I don’t think there was ever individual licensing, at least when we were involved. And yes, you’re right, that obviously was connected to the fact that, presumably, individuals were unable to afford the machines.
LM:Did you give licensing issues much thought in the early days?
DR: We didn’t actually control what the situation was. There were people who wrote licenses. Naturally we pushed for them to be as liberal and as low-cost as possible.
LM: So even then you knew that the more people that could get their hands on Unix, the better it would be?
DR: We started getting inquiries about the system soon after the SOSP [Symposium on Operating Systems Principles] in Yorktown Heights happened in 1972 or 1973. So we tried to get the licensing as straightforward as possible. At that time, the company definitely wanted to make money off of these licenses. And because of the legal situation the Bell system was in — with consent decrees and all of this — they could not actually make it a business. But the licenses could be sold, as long as the whole thing was sort of incidental — essentially a research outcome — and not being supported as a product in and of itself.
But by the time of the divestiture in 1984, they definitely had the idea that this was going to be big business. And they were going to try and conduct the business in such a way as to maximize the money they made off of it. Now, whether or not they had a business plan that was any good is another question. They certainly didn’t do very well in that department. Part of the reason that AT&T didn’t do well in the computer business is that they never really had a product line as such.
A Portable Legacy
LM: To go back to the early days for a second: You wrote Unix on the PDP-7, and it got kind of kicked up to the PDP-11. How did it become a portable operating system? And how did that relate to the programming language work you were doing?
DR: It was actually a fairly amazing time. One aspect is that there were other people involved; it wasn’t just a couple of us. The portability realization came a little bit after C was in existence. C was moved to a variety of other environments; it was on the 360 or 370; it was on our Honeywell machine. And it turned out that creating the C environment and the predecessor to the portable C library was really a pain. It was a pain to produce these semi-portable programs because the libraries were hard to write.
So the actual genesis of the notion of portability was, “Instead of trying to rewrite the library to these various machines and systems, why not produce an operating system so you can take the whole system with you?” That was certainly the single most important technical aspect of Unix.
LM: Do you think that will be the legacy of Unix then?
DR: Yes, I think it is. I suppose you have to take the phenomenon as a whole, but if there’s a single specific thing, Unix’s legacy is the notion that operating systems can be portable.
LM: What do you think the legacy of the open source movement will be?
DR: That’s an interesting question. In some sense, the open source idea is a development model; it’s not constrained to any particular technology, technological approach, or flavor. But the historical fact is that it’s been very much steeped in the Unix-influenced technology. One could argue that one of the weaknesses of Linux, to take a particular example, is that it is derivative. And one of the snarky criticisms that people like to make about Linux is that it’s a 30-year-old operating system. And there’s some truth in that. Of course, I’m not sitting here arguing that point of view…
Open Source and Innovation
LM: Do you see any truly innovative things coming out of the open source world?
DR: I really can’t think of anything off the top of my head. But on the other hand, I’m not really that in touch with it.
LM: What about the GPL?
DR: Well, the GPL is interesting. Actually, I don’t particularly like it in the sense that, although I see the point, it’s clearly a very rigid kind of thing — the regular GPL, not the LGPL.
Once you’ve decided that you’re not going to try to sell a piece of software and make a business out of the money you get from selling or licensing it, then having as unrestricted a situation as possible is desirable. We certainly worked as hard as possible with the most recent Plan 9 distribution. [Plan 9 is a distributed operating system that was first released in 1993 by Ritchie's group at Bell Labs. -Ed.
LM: Was some of the writing and discussion that’s gone on in the open source world helpful to you in formulating the Plan 9 license?
DR: Oh, no. It wasn’t the writings and so forth. It was the fact that this phenomenon was so widespread. There were probably dreams of making lots of money off of Plan 9 licenses. The original distribution was pretty much the same for non-commercial use, but there were licensing issues if you wanted to resell it, and that really never happened. Once it was realized that the purpose of distributing it was essentially to show that we were still alive and kicking and doing interesting work, rather than to try and make a lot of money off of it — that observation combined with the fact that everybody else in even vaguely similar circumstances is doing an open distribution…
LM: Were you happier with it being open source?
DR: Oh, definitely. No question. We would have looked pretty silly had it not been.
LM: Yes, but I mean more on a philosophical level.
DR: Oh, yes. Ever since I’ve been here, the research group has been complaining about the fact that it has been so hard to get software released. Partly it was simply that the mechanics were slow and painful and partly it was the various restrictions. In the research context, we are definitely for openness, keeping in mind what the company is paying our salary for.
LM: If you were starting your career today, what technology would be most exciting to you?
DR: I honestly don’t know the answer to that. The kind of thing that’s going on that I think is interesting is in the general category of ubiquitous computing. The specific thing is sort of a set of protocols, a framework for applications that are kind of accessible anywhere.
Suppose that you have an editing session on your computer at work, and you’re done here and you want to go home. The basic idea is that your home terminal will have the same session exactly, so there’s been a sort of synchronization. It’s actually a token that gets passed around to various clients, about who owns things at the moment.
So the one challenge is just to get the synchronization across multiple users about the underlying state. The other is that all of this must be very adaptable to different display technologies. So, if you also want to do work on a PDA, then all of a sudden it gets a little more complicated. So that’s the kind of thing I’m interested in right now.
Thoughts on the Upstarts
LM: Have you ever had the chance to meet Linus Torvalds?
DR: Oh, yes.
LM: Do you think that his greatest strength is as a hacker or a project manager?
DR: Well, I guess I’d have to say that it must be as a project manager, because I think that is the challenge. I think one of the interesting things about the Linux phenomenon is that he has been able to keep some kind of control over such an amazingly extended development environment. I’m certainly glad that I didn’t have to develop C in public, because you get more suggestions than you really want. Being in this nice, small group, you can control that sort of thing. I honestly don’t know the dynamics and the details of the Linux kernel project. However, one of the knocks on Linux is that it is undisciplined. But I think probably the fairer observation is that it is amazingly disciplined, compared to what you would expect, given the nature of the endeavor.
LM: Right. Have you ever looked at the Linux source code?
DR: I haven’t looked in a lot of detail. A year and a half ago or so, we ported Inferno [a Bell Labs OS for appliances -Ed.] to it, and it was somewhat of a pain. Somebody discovered a driver — I guess — some place in the kernel that had some extremely stupid thing going on. It was about then that Ken gave some interview, and he remarked that he didn’t think very much of the quality of the code.
LM: Did you agree with him?
DR: Well, I haven’t really looked at the code, so I really have nothing to say except that [Ken] got enormous amounts of hate mail for being quoted. Of course the quote was really out of context in any event. So not only do I want to avoid that, but I also really had nothing to base this on one way or the other. One thing I do see is that locally — within a 45 second radius of my office, as opposed to other parts of Lucent — people have picked up on FreeBSD. I’m not sure exactly why. There are plenty of Linux fans in Lucent, even though there’s a fair amount of corporate pressure to use Windows.
LM: We talked about the GPL earlier. What is your impression of Richard Stallman?
DR: Unique. He makes his thoughts on things absolutely transparent. I certainly don’t think he’s deceitful, and he’s not shy either.
LM: Have you and he ever exchanged ideas on this?
DR: Not really. The only technical interchange I had with him was a brief one having to do with C. It was fairly low-level. Maybe I noticed a bug somewhere, or he noticed a bug somewhere. We haven’t had any philosophical talks. I disagree. I mean, in some sense I don’t strongly disagree, but I think he’s just a little rigid. That’s the way he is.
LM:When you saw Sun Microsystems develop into a successful company, was there any sense that, “Hey, that’s ours. We deserve that success?”
DR: No, no, no. That was neat. I mean, of course, there’s regret that we [AT&T] didn’t really do well. But Sun in particular was one that was looked at as good and, in general, the fact that there was an industry was good.
LM: Do you feel that way about Linux?
DR: I don’t really distinguish between Linux and things that are more or less direct descendants of Unix. I think they’re all the same at some level. Often, people ask me, “Do you feel jealous about Linux being the big thing.” And the answer is no, for the same reason. I think they’re the same.
Robert McMillan is editor at large with Linux Magazine. He can be reached at email@example.com.