logo
Go to the homepage of the Vrije Universiteit. Goto the homepage of the faculty of sciences. Goto the homepage of the department of computer science.

 


Rebuttal to Ken Brown


Original comment Follow up Code comparison Rebuttal

Introduction

For those of you just tuning into this soap opera, here is a brief summary of the plot so far. Ken Brown, president of a Washington think tank called the Alexis de Tocqueville Institution has written a book claiming open source using GPL is a bad idea and that Linus Torvalds stole Linux from MINIX, which I wrote. Linus, the alleged stealer, responded. As the alleged stealee I also felt the need to respond. Now Ken Brown has reacted to my responses. I very much doubt that when he came to visit me, he was expecting me to (1) defend Linus in our interview and then (2) do it fairly publicly later.

I was planning to spend my Sunday afternoon doing something useful, but since Brown has directly challenged me in his posting cited above, I feel I should respond. I will do this in the form of commenting on his posting. His comments are set off typographically like this:

"Samizdat is a series of excerpts from an upcoming book on open source and operating systems that will be published later this year. AdTI did not publish Samizdat with the expectation that rabidly pro-Linux developers would embrace it."

I have to give credit where credit is due. Brown got that one completely right.

"The United States is the home of the United States Patent and Trademark Office, an internationally respected agency which contributes to the worldwide effort to protect and govern intellectual property."

***EVERY*** country has a patent office. The United States is not unique in this respect. Furthermore, many people think that patenting software is a terrible idea. The subject of software patents is a very controversial issue in Europe right now.

"The Samizdat report recommends that the U.S. government should invest $5 billion in research and development efforts that produce true open source products, such as BSD and MIT license-based open source. Government investment in open source development will accelerate innovation."

I can live with this. Professors are always on the lookout for new sources of research funding.

"The disturbing reality is that the hybrid source model depends heavily upon sponging talent from U.S. corporations and/or U.S. proprietary software. Much of this questionable borrowing is a) not in the best interest U.S. corporations ..."

Excuse me? A Finnish student writes some software (in Finland) that a lot of people like and he is accused on sponging off U.S. corporations? And last time I checked, quite a few U.S. Corporations, such as IBM, seemed quite happy with Linux. And a very large number of U.S. corporations seem to be using the (open source) Apache web server. And even if open source weren't in the best interest of U.S. corporations, where is it written that all activities everywhere in the world must be done with the interests of U.S. corporations as their primary goal?

"Linux is a leprosy; ..."

This statement is not grammatically, politically, or factually correct. Does he mean "Linus has Hansen's disease"? I hope not. But if he does, fortunately, it is highly treatable these days. If he means Linux is wasting away, the facts speak otherwise. If he means "Linux is very contagious" this is true, but a better wording could have been chosen.

"... and is having a deleterious effect on the U.S. IT industry because it is steadily depreciating the value of the software industry sector. Software is also embedded in hardware, chips, printers and even consumer electronics. Should embedded software become 'free' too, it would be natural to conclude the value of hardware will spiral downward as well."

If, say, HP puts free software in its printers, how does this reduce the ***value*** of their printers? It would reduce the cost a little, which in a competitive marketplace might encourage them to drop the price somewhat, but I don't see why having cheaper printers is such a bad thing.

" ... Torvalds and the Linux kernel management team accept blind source code contributions. Then, they ask for a certification. But the certification does not hold the contributor, the Linux community, or Torvalds legally accountable. Nor does it guarantee that the source is produced in a 'clean room'."

This comment is actually true, but it holds for all software and all products. How does a commercial company with thousands of programmers know where all their code comes from? You might say: "The lawyers check each line of code to see if it is copyrighted." Sure. Maybe that is why there are so many lawyers. There is a lot of code to check.

A Brief History of Windows NT/2000/XP

Does Microsoft own Windows? Maybe HP does. Some history may be in order here. Windows 3.1, 95, 98, and ME were basically glorified shells running on top of 16-bit MS-DOS (which Microsoft didn't write, but bought from a company called Seattle Computer Products). In the 1980s, Microsoft realized that it would some day need a true 32-bit operating system. At about this time, David Cutler, one of the principal architects of the operating system for the DEC VAX, VMS, had just moved to Seattle to set up a development center to produce the successor to VMS. When top executives at DEC killed his project in 1988, Cutler decided to leave DEC and was quickly hired by nearby Microsoft to lead the team that produced Windows NT. Cutler took some of his key people with him. This was definitely a coup for Microsoft. Operating system designers of Cutler's quality are few and far between.

To make a long story short, Cutler and his team succeeded and the result was Windows NT. When the Windows 98 user interface was added and some small improvements made, it was renamed Windows 2000. A slightly modified version is now sold as Windows XP.

Not surprisingly, WNT looked a lot like VMS (just add one to each of the letters). After all, the same person was the chief architect of both of them. When a talented designer writes a 32-bit operating system and a few years later writes another 32-bit operating system, it is possible they might have some serious resemblances. I don't know if any code is the same. For details, see an article by Mark Russinovich. When DEC learned about WNT, they had some discussions with Microsoft and something in excess of $60 million was transferred from Redmond to Maynard to solve the problem. The case never went to court (probably because Microsoft wanted to get WNT out the door quickly and not get bogged down in years of litigation, even if they thought they would win). A few years later, DEC sued Intel for allegedly violating DEC's patents on the Alpha chip, although the case was settled out of court. By 1990, however, it was clear to everyone that the minicomputer era was over, despite the remark by DEC's president, Ken Olsen, "Nobody needs a computer in their [sic] house." By the mid 1990s, DEC may have been grasping at straws, threatening everyone in sight, just to survive. It didn't work and in 1998 DEC was bought by Compaq, which in turn was bought by Hewlett-Packard, which now owns the rights to VMS.

If Microsoft could not make sure its star programmer, who was known to have done similar work for a competing company, did not misuse some IP, how can they or any company make sure its thousands of programmers don't do something they shouldn't do? It is impossible. The problem of programmers misusing code is real but the problem is not unique to free software. And how can any company make sure its researchers, engineers, and other employees do not use techniques or processes patented by its competitors. It can't be done. But to say the problem of theft of IP is somehow greater for free software than for commercial software is completely unproven.

"He says Linus couldn't possibly have written that much code," said Tanenbaum. "But there's tremendous variation from programmer to programmer-- some research I saw says maybe as high as 30 to 1 for great programmers and poor ones -- and Linus could easily be in the top 10 percent or top 1 percent of all programmers.
--Lisa Stapleton, Linux Insider, May 21, 2004"

This quote is taken out of context. In it "that much code" refers to the current Linux operating system. Nobody has ever claimed Linus wrote every line of code in the current distribution." My point was that a decent programmer could easily have written the 10,000 lines of code in Linux 0.01 in a year.

"AdTI and Tanenbaum do agree on one point: the Linux kernel is an incredible, but conspicuous accomplishment."

Actually, we don't agree on this. I wasn't all that impressed with the monolithic design of Linux 0.01. I think I have made that point a couple of times already.

The Interview

"As many are aware, I interviewed Professor Tanenbaum, the author of Minix, a copyright protected property by Prentice Hall. On March 8, 2004, Professor Tanenbaum sent me the following e-mail: "MINIX was the base that Linus used to create Linux. He also took many ideas from MINIX, including the file system, source tree, and much more."

Linus used MINIX as his development platform. There is no dispute about that. He also used some ideas from MINIX. But MINIX wasn't original either. Here is a little bit of the history

Linux used ideas from MINIX
MINIX used ideas from UNIX
UNIX used ideas from MULTICS
MULTICS used ideas from CTSS
CTSS used ideas from FMS

In science, all work is based on what came before it. Nothing unusual here. What Linus didn't do was steal the MINIX code. That has been well documented.

"In an interview with Tanenbaum, it became immediately noticeable that the professor was an animated, but tense individual about the topic of rights and attribution. He felt that well-known facts about Minix/Linux development should not have to be questioned. It was clear that he was very conflicted, and probably sorry that he sent the email in the first place."

I'm pretty animated all the time. But I only get tense when people try to put words in my mouth. After half an hour of repeatedly answering the question "Could Linus have written the Linux kernel by himself?" in the affirmative, I was getting a bit irritated. Beginning psychoanalysts often take this for being conflicted. People who know me would probably confirm that I do not suffer fools gladly.

"Question #1: Is it likely that a student (Linus Torvalds) with no operating systems experience, a non-Unix licensee, without any use of Minix or Unix source code, could build a functioning kernel in six months -- whereas it took you (Tanenbaum) three years to build Minix?"

As I have said before, I wasn't working on it full time at all. I had a regular job and I read bedtime stories to my kids every evening. Ironically, the main character in these wonderful books by Sheila McCullagh was Roger Red-hat. Conspiracy theorists should go wild with this new information.

"In Tanenbaum's recent posts(5), he argues (as he told me) that there are "others" that have created Unix clones or operating systems within the same constraints. Tanenbaum's argumentation only increased our doubt about the Torvalds story because the comparisons were too unbelievable. For us to accept Tanenbaum's argument, Linus Torvalds at 21, with one year of C programming, was Doug Comer, an accomplished computer scientist, or smarter than the Coherent team, and of course a better programmer than the good professor too."

While I definitely encourage my students to think that professors are infallible, especially in the matter of grading exams, not all CS professors are top programmers. Of the professors in my department, there are many who can barely program at all. The fact that one or two professors are good programmers does not imply that students are necessarily bad programmers. Furthermore, the first version of Linux wasn't so great. I have made that point before as I recall.

"Tanenbaum told us about the Coherent project repeatedly, but it was easy to research that it was a completely different situation. It wasn't a solo effort, it was a team. Second, the timeline was wrong. Tanenbaum told us it took two years, then corrected himself on his own website writing it took six years."

Yes, I corrected myself. It was 6 man-years, not six real-time years. But in that time they wrote the complete operating system, a C compiler, and all the utilities. In his posting, Brown says the GNU C compiler is now 110,000 lines of code. Maybe the Coherent compiler was half that, or 60,000 lines of code. The MINIX utilities were about 30,000 lines of code and covered about the same ground as Coherent did. Add a 10,000 line kernel to this and it looks like the three Coherent programmers wrote 100,000 lines of code in 6 man-years. That is a productivity of 16,000 lines per man-year. In that light I don't see why it is plausible for Canadian students to produce 16,000 lines a year but not plausible for Finnish students to produce 10,000 lines a year. It is just as cold in Finland as in Canada so programmers are never tempted to go outside.

Can One Person Write a Kernel?

"Both Ritchie and Thompson had exceptional familiarity with MULTICS-- and then wrote UNIX from scratch. Completely different from Linus, who says he started with nothing and had no experience. Another reason this is interesting is because the Ritchie, Thompson kernel was 11,000 lines of code over a number of years, and the Torvalds kernel was 32,000 in under a year.

Ken Thompson was a young programmer who worked on MULTICS. He wasn't one of the designers. Dennis Ritchie did not write any of the MULTICS code, although he had a part-time job at MIT writing some documentation on the MULTICS file system while he was a graduate student at Harvard. To say they were exceptionally familiar with MULTICS suggests that both of them knew the kernel inside and out, which is not true. Ken wrote the first version of UNICS by himself in assembly code on a PDP-7. I think it took less than a year. He did not have Lions' book available since it was not going to be written for another decade or so. He just sat down at his terminal, probably an ASR-33, and started typing. Dennis was not involved in the first version at all. Linux 0.01 was not 32,000 lines of code. It was just under 10,000 lines.

"Another problem with Tanenbaum's logic is that he only presents examples of people that were Unix licensees, had Unix source code, or who were exceptionally familiar with software development. He cannot provide one example reasonably comparable to the Torvalds case."

In my earlier posting, I pointed out almost half a dozen OS kernels written in around a man-year. Most of them were not UNIX licensees. I even forgot one--IDRIS--written by Bill Plauger. I think Linus' writing Linux in C on a PC with at least 64 KB was easier than Ken's writing UNICS in assembler on a 4K PDP-7. Ken's experience with MULTICS (which initially failed to boot because it didn't fit in the 256K memory of the large mainframe it was written for) didn't help much in writing assembly code for a tiny minicomputer. In short, Linus' writing Linux for the PC is not so different from Ken's writing UNICs for the PDP-7. Ken had a bit more experience, but the use of assembler and the tiny memory made the job harder. I find the argument that something can't be done because the half-dozen people who already did it were more experienced than the next one pretty strange. Doing anything is easier once someone else has shown that it can be done.

"Issue [sic] #2: Why do accounts continually assert that Torvalds "wrote Linux from scratch"?"

Maybe because everyone familiar with the facts, except Ken Brown, came to the same conclusion? How come nobody is challenging the fact that Dennis designed the C language and wrote the first C compiler all by himself? That was probably as hard as writing a kernel.

"Question #3 : If Linux was based on Minix, doesn't it owe rights, attribution to Prentice Hall?"

First, Linux 0.01 does not contain any MINIX code, as Alexey Toptygin's code comparison shows. Second, even if it had, there was no prohibition in using MINIX code for noncommercial purposes, even in the beginning. I find it dishonest in the extreme for Brown to have hired Toptygin to compare the Linux and MINIX code, get a report saying they were completely different, and then merrily continue claiming Linux was based on MINIX. I don't know if Brown used MS-Word to write his book, but saying Linux is based on MINIX is like saying Brown's book is based on MS-Word.

Follow Up With Torvalds

"AdTI contacted Torvalds employer OSDL to interview him for clarification. Without any facts, Tanenbaum goes as far to post that AdTI did not try to contact Linus, but this is contradicted by the attached post. The OSDL contact person tells AdTI that if Linus doesn't get back to us, he is not interested in being interviewed."

BEFORE stating that Brown did not talk to Linus, I asked Linus if Brown had interviewed him. Here is an excerpt from his e-mail to me:

----------------------

AST: Did Brown come visit you?

Linus: Nope. I can't even find any emails in my archives, so unless he used some other name or it got marked as spam and deleted, he never even tried to approach me.

----------------------

At the very least, Brown didn't try very hard. During the past couple of weeks, reporters from all over the place have managed to locate me for interviews. Surely it would not have been that hard for Brown to contact Linus about something this incendiary.

The Truth Finally Emerges

"Vrije University is a very cool place. AdTI encourages anyone that spends any time in Amsterdam to visit. At the good professor's recommendation, AdTI spent a number of hours talking with Vrije university computer science faculty. They were great fun and extremely helpful. For that, we are also very grateful."

Score another point for Ken Brown. We have this great masters program in parallel and distributed systems...

"Professor Tanenbaum did not convince AdTI that Linus Torvalds wrote the Linux kernel from scratch. "

I was on the debating team in high school. I guess I am getting rusty.


All in all, Brown's only argument is that he, personally, doesn't believe a 21-year-old kid could have written an operating system kernel in a year, despite the fact that half a dozen other people had done the same thing earlier and the code Linus wrote wasn't all that great initially. And faced with a whole bunch of people telling him otherwise and the consultant he hired to examine the code saying the code is completely different from MINIX, Brown just ignores all the facts and persists in his belief. I'll bet he dismisses the widely reported claim that Mozart wrote three symphonies and performed for the King of England when he was nine on the grounds that 9-year-olds don't normally do this sort of thing.

Andy Tanenbaum, 6 June 2004

Back to my home page


If you spot a mistake, please e-mail the maintainer of this page.
Your browser does not fully support CSS. This may result in visual artifacts.