Dunno if anyone has heard about it but there is a faily comical theatre going on in the media now, following the statement of one think tank that Linus Torvalds (the author or Linux) ripped Linux off Unix. The best review I have seen is from cnet and I pasted it below. I also thought Tanenbaum's words were interesting (the author or minix, a unix os that Linus used at the time).
The foundation that published this study is known as the Alexis de Tocqueville Institution and gets its funding from Microsoft among others. Coincidence?
===
Is Torvalds really the father of Linux?
Last modified: May 19, 2004, 10:10 PM PDT
By Stephen Shankland
Staff Writer, CNET News.com
It's hard to imagine that Linus Torvalds could have launched Linux without directly using earlier operating system work, according to a report that has become controversial even before its scheduled publication Thursday.
The 92-page report, from a 14-person Washington, D.C., think tank called the Alexis de Tocqueville Institution, suggests more Linux credit should go to Minix. A Unix clone, Minix was designed by Andrew Tanenbaum to help him teach operating systems and software at Vrije University in Amsterdam. Torvalds used Minix before he embarked on Linux development in 1991.
In an e-mail interview, Torvalds strongly disputed the study's conclusions. And Tanenbaum himself has harshly criticized the study.
According to the study, it's safe to argue that Tanenbaum, who had years of OS experience and who had seen the Unix source code, could create Minix in three years. "However, it is highly questionable that Linus, still just a student, with virtually no operating systems development experience, could do the same, especially in one-sixth of the time," says the study, which was written by Ken Brown, president of the Alexis de Tocqueville Institution.
"Why are the most brilliant business minds in the history of PC technology, with hundreds of millions of dollars in capital, licensing Unix source code, if it is as simple as writing it from scratch with little help or experience?" the study asks. "Is it possible that building a Unix operating system really only takes a few months--and, oh by the way, you don't even need the source code to do it?"
Gordon Haff, an engineer and analyst for analysis firm Illuminata, took a more measured view. "I think we can all stipulate that Linux is not a 'clean room' creation. Whether that makes it a derivative work is a question for the lawyers and the philosophers," he said. As for suspicions about Torvalds' rapid early progress, it should be noted "that the original product was quite primitive," he said.
The study comes not long after several attacks on Linux--many of them spurred by Microsoft, whose Windows operating system competes with Linux. More significantly, it arrives in the midst of a legal attack on Linux by the SCO Group, which argues Linux violates its Unix copyrights.
Bolder words
Although the new study raises more questions than it answers, in an interview, Brown was bolder in his claims.
"It's clear to me, at least from quotes from Tanenbaum, that Linus started from Minix...He just sat down with Minix and wrote this product. By definition, that is not an invention," Brown said. "If you sit down with the Ford blueprints and build a Chrysler and don't give Ford any credit, that's not invention."
In an interview conducted for the study, Brown quoted Tanenbaum as saying that 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."
If Linux is a derivative work of Minix, that makes Linux vulnerable to charges of intellectual property infringement by Prentice Hall, which published books on Minix, as well as the Minix source code, but restricted its use until 2000, the study said. "Arguably, Prentice Hall has lost out on tens of millions of dollars" because of lost book sales, the study said.
But Torvalds argued that he and other Linux developers have given proper credit.
"Linux never used Minix code...We never credited anybody else's code, because we never used anybody else's code," Torvalds said. But Unix, he said, did provide ideas: "Linux has always credited Unix. There has never been any question about the fact that Linux was very open about taking a lot of good ideas from Unix."
Minix, he said, was simply a platform on top of which Torvalds did his programming work.
The study suggested that Torvalds might have gradually replaced Minix code with Linux, but Torvalds says that did not happen.
"I didn't 'write the Minix code out of Linux,'" Torvalds said. "I was using Minix when I wrote Linux, but that's in the same sense that you are using Windows when you write your columns. Do your articles contain Windows source code because you use Windows to write them?"
Torvalds isn't the only one to dispute the study: Tanenbaum himself sided against Brown.
"Linus didn't sit down in a vacuum and suddenly type in the Linux source code. He had my book, was running Minix and undoubtedly knew the history (since it is in my book). But the code was his," Tanenbaum said in a Web posting about his interview.
"By the time Linus started, five people had independently implemented Unix or something approximating it...All of this was perfectly legal and nobody stole anything. Given this history, it is pretty hard to make a case that one person can't implement a system of the complexity of Linux."
Fueling the flames
When the institute announced the pending publication of the report earlier this week--saying it "directly challenges Linus Torvalds' claim to be the inventor of Linux"--it immediately drew criticism from open-source advocates who suggested Linux foe Microsoft was behind the report.
Microsoft indeed has provided funding to the Alexis de Tocqueville Institution for five years, a Microsoft representative said, without disclosing how much has been granted. Microsoft funds several public policy institutes, including the American Enterprise Institute, the Center for Strategic and International Studies, the Heritage Foundation, and the Cato Institute, the representative said.
Brown declined to discuss his organization's funding sources, but said there are several and that its research is independent. "I publish what I think, and that's it. I don't work for anybody's PR machine," he said.
One area where Brown and Torvalds agree is that Torvalds shouldn't bear the title of Linux "inventor."
"I'd agree that 'inventor' is not necessarily the right word," Torvalds said, to describe his role in Linux.
The study also raises the issue that Torvalds saw Unix source code. This was available in annotated source code that John Lions, a professor at the University of New South Wales in Australia, made available to his classes. The notes were widely distributed illegally afterward, and "many suspect that Linus also had the Lions notes," the report said.
Not true, Torvalds said: "I've never seen the Lions book, although I've obviously heard of it. And no, no Unix source code either."
Brown and his colleagues interviewed more than two dozen people for the study, but Torvalds "didn't get back to us" with requests for comment. Torvalds said he never received any e-mail from the institution.
The Linux issue fuels Brown's concern that open-source software makes it easier for other countries to benefit from U.S. technological prowess, he said: "How are you going to have an intellectual-property economy if you can just rip off stuff?"
Such political and business issues likely will get more attention in a book Brown plans to publish in coming months that will expand on the study.
The study will be sold by an outside e-book seller, Brown said. Although his organization usually makes studies available on its own, outsiders have crashed the group's Web site twice in recent days, after it published a press release on the upcoming study, Brown said.
The study is at times provocative, but in the end, it isn't revolutionary, Illuminata analyst Haff said: "It doesn't ultimately tell me anything surprising that would cause me to rethink the role of open source."
===
Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.4
Background
The history of UNIX and its various children and grandchildren has been in the news recently as a result of a book from the Alexis de Tocqueville Institution. Since I was involved in part of this history, I feel I have an obligation to set the record straight and correct some extremely serious errors. But first some background information.
Ken Brown, President of the Alexis de Tocqueville Institution, contacted me in early March. He said he was writing a book on the history of UNIX and would like to interview me. Since I have written 15 books and have been involved in the history of UNIX in several ways, I said I was willing to help out. I have been interviewed by many people for many reasons over the years, and have been on Dutch and US TV and radio and in various newspapers and magazines, so I didn't think too much about it.
Brown flew over to Amsterdam to interview me on 23 March 2004. Apparently I was the only reason for his coming to Europe. The interview got off to a shaky start, roughly paraphrased as follows:
AST: "What's the Alexis de Tocqueville Institution?"
KB: We do public policy work
AST: A think tank, like the Rand Corporation?
KB: Sort of
AST: What does it do?
KB: Issue reports and books
AST: Who funds it?
KB: We have multiple funding sources
AST: Is SCO one of them? Is this about the SCO lawsuit?
KB: We have multiple funding sources
AST: Is Microsoft one of them?
KB: We have multiple funding sources
He was extremely evasive about why he was there and who was funding him. He just kept saying he was just writing a book about the history of UNIX. I asked him what he thought of Peter Salus' book, A Quarter Century of UNIX. He'd never heard of it! I mean, if you are writing a book on the history of UNIX and flying 3000 miles to interview some guy about the subject, wouldn't it make sense to at least go to amazon.com and type "history unix" in the search box, in which case Salus' book is the first hit? For $28 (and free shipping if you play your cards right) you could learn an awful lot about the material and not get any jet lag. As I soon learned, Brown is not the sharpest knife in the drawer, but I was already suspicious. As a long-time author, I know it makes sense to at least be aware of what the competition is. He didn't bother.
UNIX and Me
I didn't think it odd that Brown would want to interview me about the history of UNIX. There are worse people to ask. In the late 1970s and early 1980s, I spent several summers in the UNIX group (Dept. 1127) at Bell Labs. I knew Ken Thompson, Dennis Ritchie, and the rest of the people involved in the development of UNIX. I have stayed at Rob Pike's house and Al Aho's house for extended periods of time. Dennis Ritchie, Steve Johnson, and Peter Weinberger, among others have stayed at my house in Amsterdam. Three of my Ph.D. students have worked in the UNIX group at Bell Labs and one of them is a permanent staff member now.
Oddly enough, when I was at Bell Labs, my interest was not operating systems, although I had written one and published a paper about it (see "Software - Practice & Experience," vol. 2, pp. 109-119, 1973). My interest then was compilers, since I was the chief designer of the the Amsterdam Compiler Kit (see Commun. of the ACM, vol. 26, pp. 654-660, Sept. 1983.). I spent some time there discussing compilers with Steve Johnson, networking with Greg Chesson, writing tools with Lorinda Cherry, and book authoring with Brian Kernighan, among many others. I also became friends with the other "foreigner," there, Bjarne Stroustrup, who would later go on to design and implement C++.
In short, although I had nothing to do with the development of the original UNIX, I knew all the people involved and much of the history quite well. Furthermore, my contact with the UNIX group at Bell Labs was not a secret; I even thanked them all for having me as a summer visitor in the preface to the first edition of my book Computer Networks. Amazingly, Brown knew nothing about any of this. He didn't do his homework before embarking on his little project
MINIX and Me
Years later, I was teaching a course on operating systems and using John Lions' book on UNIX Version 6. When AT&T decided to forbid the teaching of the UNIX internals, I decided to write my own version of UNIX, free of all AT&T code and restrictions, so I could teach from it. My inspiration was not my time at Bell Labs, although the knowledge that one person could write a UNIX-like operating system (Ken Thompson wrote UNICS on a PDP-7) told me it could be done. My real inspiration was an off-hand remark by Butler Lampson in an operating systems course I took from him when I was a Ph.D. student at Berkeley. Lampson had just finished describing the pioneering CTSS operating system and said, in his inimitable way: "Is there anybody here who couldn't write CTSS in a month?" Nobody raised his hand. I concluded that you'd have to be real dumb not to be able to write an operating system in a month. The paper cited above is an operating system I wrote at Berkeley with the help of Bill Benson. It took a lot more than a month, but I am not as smart as Butler. Nobody is.
I set out to write a minimal UNIX clone, MINIX, and did it alone. The code was 100% free of AT&T's intellectual property. The full source code was published in 1987 as the appendix to a book, Operating Systems: Design and Implementation, which later went into a second edition co-authored with Al Woodhull. MINIX 2.0 was even POSIX-conformant. Both editions contained hundreds of pages of text describing the code in great detail. A box of 10 floppy disks containing all the binaries and source code was available separately from Prentice Hall for $69.
While this was not free software in the sense of "free beer" it was free software in the sense of "free speech" since all the source code was available for only slightly more than the manufacturing cost. But even "free speech" is not completely "free"--think about slander, yelling "fire" in a crowded theater, etc. And this was before the Patriot Act, which requires John Ashcroft's written permission before you can open your mouth. Also Remember (if you are old enough) that by 1987, a university educational license for UNIX cost $300, a commercial license for a university cost $28,000, and a commercial license for a company cost a lot more. For the first time, MINIX brought the cost of "UNIX-like" source code down to something a student could afford. Prentice Hall wasn't really interested in selling software. They were interested in selling books, so there was a fairly liberal policy on copying MINIX, but if a company wanted to sell it to make big bucks, PH wanted a royalty. Hence the PH lawyers equipped MINIX with a lot of boilerplate, but there was never any intention of really enforcing this against universities or students. Using the Internet for distributing that much code was not feasible in 1987, even for people with a high-speed (i.e., 1200 bps) modem. When distribution via the Internet became feasible, I convinced Prentice Hall to drop its (extremely modest) commercial ambitions and they gave me permission to put the source on my website for free downloading, where it still is.
Within a couple of months of its release, MINIX became something of a cult item, with its own USENET newsgroup, comp.os.minix, with 40,000 subscribers. Many people added new utility programs and improved the kernel in numerous ways, but the original kernel was just the work of one person--me. Many people started pestering me about improving it. In addition to the many messages in the USENET newsgroup, I was getting 200 e-mails a day (at a time when only the chosen few had e-mail at all) saying things like: "I need pseudoterminals and I need them by Friday." My answer was generally quick and to the point: "No."
The reason for my frequent "no" was that everyone was trying to turn MINIX into a production-quality UNIX system and I didn't want it to get so complicated that it would become useless for my purpose, namely, teaching it to students. I also expected that the niche for a free production-quality UNIX system would be filled by either GNU or Berkeley UNIX shortly, so I wasn't really aiming at that. As it turned out, the GNU OS sort of went nowhere (although many UNIX utilities were written) and Berkeley UNIX got tied up in a lawsuit when its designers formed a company, BSDI, to sell it and they chose 1-800-ITS UNIX as their phone number. AT&T felt this constituted copyright infringement and sued them. It took a couple of years for this to get resolved. This delay in getting free BSD out there gave Linux the breathing space it needed to catch on. If it hadn't been for the lawsuit, undoubtedly BSD would have filled the niche for a powerful, free UNIX clone as it was already a stable, mature system with a large following.
Ken Brown and Me
Now Ken Brown shows up and begins asking questions. I quickly determined that he didn't know a thing about the history of UNIX, had never heard of the Salus book, and knew nothing about BSD and the AT&T lawsuit. I started to tell him the history, but he stopped me and said he was more interested in the legal aspects. I said: "Oh you mean about Dennis Ritchie's patent number 4135240 on the setuid bit?" Then I added:"That's not a problem. Bell Labs dedicated the patent." That's when I discovered that (1) he had never heard of the patent, (2) did not know what it meant to dedicate a patent (i.e., put it in the public domain), and (3) really did not know a thing about intellectual property law. He was confused about patents, copyrights, and trademarks. Gratuitously, I asked if he was a lawyer, but it was obvious he was not and he admitted it. At this point I was still thinking he might be a spy from SCO, but if he was, SCO was not getting its money's worth.
He wanted to go on about the ownership issue, but he was also trying to avoid telling me what his real purpose was, so he didn't phrase his questions very well. Finally he asked me if I thought Linus wrote Linux. I said that to the best of my knowledge, Linus wrote the whole kernel himself, but after it was released, other people began improving the kernel, which was very primitive initially, and adding new software to the system--essentially the same development model as MINIX. Then he began to focus on this, with questions like: "Didn't he steal pieces of MINIX without permission." I told him that MINIX had clearly had a huge influence on Linux in many ways, from the layout of the file system to the names in the source tree, but I didn't think Linus had used any of my code. Linus also used MINIX as his development platform initially, but there was nothing wrong with that. He asked if I objected to that and I said no, I didn't, people were free to use it as they wished for noncommercial purposes. Later MINIX was released under the Berkeley license, which freed it up for all purposes. It is still in surprisingly wide use, both for education and in the Third World, where millions of people are happy as a clam to have an old castoff 1-MB 386, on which MINIX runs just fine. The MINIX home page cited above still gets more than 1000 hits a week.
Finally, Brown began to focus sharply. He kept asking, in different forms, how one person could write an operating system all by himself. He simply didn't believe that was possible. So I had to give him more history, sigh. To start with, Ken Thompson wrote UNICS for the PDP-7 all by himself. When it was later moved to the PDP-11 and rewritten in C, Dennis Ritchie joined the team, but primarily focused on designing the C language, writing the C compiler, and writing the I/O system and device drivers. Ken wrote nearly all of the kernel himself.
In 1983, a now-defunct company named the Mark Williams company produced and sold a very good UNIX clone called Coherent. Most of the work was done by Bob Swartz. I used this system for a while and it was very solid.
In 1983, Rick Holt published a book, now out of print, on the TUNIS system, a UNIX-like system. This was certainly a rewrite since TUNIS was written in a completely new language, concurrent Euclid.
Then Doug Comer wrote XINU. While also not a UNIX clone, it was a comparable system.
By the time Linus started, five people had independently implemented the UNIX kernel or something approximating it, namely, Thompson, Swartz, Holt, Comer, and me. All of this was perfectly legal and nobody stole anything. Given this history, it is pretty hard to make a case that one person can't implement a system of the complexity of Linux, whose original size was about the same as V1.0 of MINIX.
Of course it is always true in science that people build upon the work of their predecessors. Even Ken Thompson wasn't the first. Before writing UNIX, Ken had worked on the MIT MULTICS (MULTiplexed Information and Computing Service) system. In fact, the original name of UNIX was UNICS, a joke made by Brian Kernighan standing for the UNIplexed Information and Computing Service, since the PDP-7 version could support only one user--Ken. After too many bad puns about EUNUCHS being a castrated MULTICS, the name was changed to UNIX. But even MULTICS wasn't first. Before it was the above-mentioned CTSS, designed by the same team at MIT.
Thus, of course, Linus didn't sit down in a vacuum and suddenly type in the Linux source code. He had my book, was running MINIX, and undoubtedly knew the history (since it is in my book). But the code was his. The proof of this is that he messed the design up. MINIX is a nice, modular microkernel system, with the memory manager and file system running as user-space processes. This makes the system cleaner and more reliable than a big monolithic kernel and easier to debug and maintain, at a small price in performance, although even on a 4.77 MHz 8088 it booted in maybe 5 seconds (vs. a minute for Windows on hardware 500 times faster). An example of commercially successful microkernel is QNX. Instead of writing a new file system and a new memory manager, which would have been easy, Linus rewrote the whole thing as a big monolithic kernel, complete with inline assembly code :-( . The first version of Linux was like a time machine. It went back to a system worse than what he already had on his desk. Of course, he was just a kid and didn't know better (although if he had paid better attention in class he should have), but producing a system that was fundamentally different from the base he started with seems pretty good proof that it was a redesign. I don't think he could have copied UNIX because he didn't have access to the UNIX source code, except maybe John Lions' book, which is about an earlier version of UNIX that does not resemble Linux so much.
My conclusion is that Ken Brown doesn't have a clue what he is talking about. I also have grave questions about his methodology. After he talked to me, he prowled the university halls buttonholing random students and asking them questions. Not exactly primary sources.
The six people I know of who (re)wrote UNIX all did it independently and nobody stole anything from anyone. Brown's remark that people have tried and failed for 30 years to build UNIX-like systems is patent nonsense. Six different people did it independently of one another. In science it is considered important to credit people for their ideas, and I think Linus has done this far less than he should have. Ken and Dennis are the real heros here. But Linus' sloppiness about attribution is no reason to assert that Linus didn't write Linux. He didn't write CTSS and he didn't write MULTICS and didn't write UNIX and he didn't write MINIX, but he did write Linux. I think Brown owes a number of us an apology.
Linus and Me
Some of you may find it odd that I am defending Linus here. After all, he and I had a fairly public "debate" some years back. My primary concern here is trying to get the truth out and not blame everything on some teenage girl from the back hills of West Virginia. Also, Linus and I are not "enemies" or anything like that. I met him once and he seemed like a nice friendly, smart guy. My only regret is that he didn't develop Linux based on the microkernel technology of MINIX. With all the security problems Windows has now, it is increasingly obvious to everyone that tiny microkernels, like that of MINIX, are a better base for operating systems than huge monolithic systems. Linux has been the victim of fewer attacks than Windows because (1) it actually is more secure, but also (2) most attackers think hitting Windows offers a bigger bang for the buck so Windows simply gets attacked more. As I did 20 years ago, I still fervently believe that the only way to make software secure, reliable, and fast is to make it small. Fight Features.
If you have made it this far, thank you for your time. Permission is hereby granted to mirror this web page provided that the original, unmodified version is used.
Andy Tanenbaum, 20 May 2004
The foundation that published this study is known as the Alexis de Tocqueville Institution and gets its funding from Microsoft among others. Coincidence?
===
Is Torvalds really the father of Linux?
Last modified: May 19, 2004, 10:10 PM PDT
By Stephen Shankland
Staff Writer, CNET News.com
It's hard to imagine that Linus Torvalds could have launched Linux without directly using earlier operating system work, according to a report that has become controversial even before its scheduled publication Thursday.
The 92-page report, from a 14-person Washington, D.C., think tank called the Alexis de Tocqueville Institution, suggests more Linux credit should go to Minix. A Unix clone, Minix was designed by Andrew Tanenbaum to help him teach operating systems and software at Vrije University in Amsterdam. Torvalds used Minix before he embarked on Linux development in 1991.
In an e-mail interview, Torvalds strongly disputed the study's conclusions. And Tanenbaum himself has harshly criticized the study.
According to the study, it's safe to argue that Tanenbaum, who had years of OS experience and who had seen the Unix source code, could create Minix in three years. "However, it is highly questionable that Linus, still just a student, with virtually no operating systems development experience, could do the same, especially in one-sixth of the time," says the study, which was written by Ken Brown, president of the Alexis de Tocqueville Institution.
"Why are the most brilliant business minds in the history of PC technology, with hundreds of millions of dollars in capital, licensing Unix source code, if it is as simple as writing it from scratch with little help or experience?" the study asks. "Is it possible that building a Unix operating system really only takes a few months--and, oh by the way, you don't even need the source code to do it?"
Gordon Haff, an engineer and analyst for analysis firm Illuminata, took a more measured view. "I think we can all stipulate that Linux is not a 'clean room' creation. Whether that makes it a derivative work is a question for the lawyers and the philosophers," he said. As for suspicions about Torvalds' rapid early progress, it should be noted "that the original product was quite primitive," he said.
The study comes not long after several attacks on Linux--many of them spurred by Microsoft, whose Windows operating system competes with Linux. More significantly, it arrives in the midst of a legal attack on Linux by the SCO Group, which argues Linux violates its Unix copyrights.
Bolder words
Although the new study raises more questions than it answers, in an interview, Brown was bolder in his claims.
"It's clear to me, at least from quotes from Tanenbaum, that Linus started from Minix...He just sat down with Minix and wrote this product. By definition, that is not an invention," Brown said. "If you sit down with the Ford blueprints and build a Chrysler and don't give Ford any credit, that's not invention."
In an interview conducted for the study, Brown quoted Tanenbaum as saying that 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."
If Linux is a derivative work of Minix, that makes Linux vulnerable to charges of intellectual property infringement by Prentice Hall, which published books on Minix, as well as the Minix source code, but restricted its use until 2000, the study said. "Arguably, Prentice Hall has lost out on tens of millions of dollars" because of lost book sales, the study said.
But Torvalds argued that he and other Linux developers have given proper credit.
"Linux never used Minix code...We never credited anybody else's code, because we never used anybody else's code," Torvalds said. But Unix, he said, did provide ideas: "Linux has always credited Unix. There has never been any question about the fact that Linux was very open about taking a lot of good ideas from Unix."
Minix, he said, was simply a platform on top of which Torvalds did his programming work.
The study suggested that Torvalds might have gradually replaced Minix code with Linux, but Torvalds says that did not happen.
"I didn't 'write the Minix code out of Linux,'" Torvalds said. "I was using Minix when I wrote Linux, but that's in the same sense that you are using Windows when you write your columns. Do your articles contain Windows source code because you use Windows to write them?"
Torvalds isn't the only one to dispute the study: Tanenbaum himself sided against Brown.
"Linus didn't sit down in a vacuum and suddenly type in the Linux source code. He had my book, was running Minix and undoubtedly knew the history (since it is in my book). But the code was his," Tanenbaum said in a Web posting about his interview.
"By the time Linus started, five people had independently implemented Unix or something approximating it...All of this was perfectly legal and nobody stole anything. Given this history, it is pretty hard to make a case that one person can't implement a system of the complexity of Linux."
Fueling the flames
When the institute announced the pending publication of the report earlier this week--saying it "directly challenges Linus Torvalds' claim to be the inventor of Linux"--it immediately drew criticism from open-source advocates who suggested Linux foe Microsoft was behind the report.
Microsoft indeed has provided funding to the Alexis de Tocqueville Institution for five years, a Microsoft representative said, without disclosing how much has been granted. Microsoft funds several public policy institutes, including the American Enterprise Institute, the Center for Strategic and International Studies, the Heritage Foundation, and the Cato Institute, the representative said.
Brown declined to discuss his organization's funding sources, but said there are several and that its research is independent. "I publish what I think, and that's it. I don't work for anybody's PR machine," he said.
One area where Brown and Torvalds agree is that Torvalds shouldn't bear the title of Linux "inventor."
"I'd agree that 'inventor' is not necessarily the right word," Torvalds said, to describe his role in Linux.
The study also raises the issue that Torvalds saw Unix source code. This was available in annotated source code that John Lions, a professor at the University of New South Wales in Australia, made available to his classes. The notes were widely distributed illegally afterward, and "many suspect that Linus also had the Lions notes," the report said.
Not true, Torvalds said: "I've never seen the Lions book, although I've obviously heard of it. And no, no Unix source code either."
Brown and his colleagues interviewed more than two dozen people for the study, but Torvalds "didn't get back to us" with requests for comment. Torvalds said he never received any e-mail from the institution.
The Linux issue fuels Brown's concern that open-source software makes it easier for other countries to benefit from U.S. technological prowess, he said: "How are you going to have an intellectual-property economy if you can just rip off stuff?"
Such political and business issues likely will get more attention in a book Brown plans to publish in coming months that will expand on the study.
The study will be sold by an outside e-book seller, Brown said. Although his organization usually makes studies available on its own, outsiders have crashed the group's Web site twice in recent days, after it published a press release on the upcoming study, Brown said.
The study is at times provocative, but in the end, it isn't revolutionary, Illuminata analyst Haff said: "It doesn't ultimately tell me anything surprising that would cause me to rethink the role of open source."
===
Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.4
Background
The history of UNIX and its various children and grandchildren has been in the news recently as a result of a book from the Alexis de Tocqueville Institution. Since I was involved in part of this history, I feel I have an obligation to set the record straight and correct some extremely serious errors. But first some background information.
Ken Brown, President of the Alexis de Tocqueville Institution, contacted me in early March. He said he was writing a book on the history of UNIX and would like to interview me. Since I have written 15 books and have been involved in the history of UNIX in several ways, I said I was willing to help out. I have been interviewed by many people for many reasons over the years, and have been on Dutch and US TV and radio and in various newspapers and magazines, so I didn't think too much about it.
Brown flew over to Amsterdam to interview me on 23 March 2004. Apparently I was the only reason for his coming to Europe. The interview got off to a shaky start, roughly paraphrased as follows:
AST: "What's the Alexis de Tocqueville Institution?"
KB: We do public policy work
AST: A think tank, like the Rand Corporation?
KB: Sort of
AST: What does it do?
KB: Issue reports and books
AST: Who funds it?
KB: We have multiple funding sources
AST: Is SCO one of them? Is this about the SCO lawsuit?
KB: We have multiple funding sources
AST: Is Microsoft one of them?
KB: We have multiple funding sources
He was extremely evasive about why he was there and who was funding him. He just kept saying he was just writing a book about the history of UNIX. I asked him what he thought of Peter Salus' book, A Quarter Century of UNIX. He'd never heard of it! I mean, if you are writing a book on the history of UNIX and flying 3000 miles to interview some guy about the subject, wouldn't it make sense to at least go to amazon.com and type "history unix" in the search box, in which case Salus' book is the first hit? For $28 (and free shipping if you play your cards right) you could learn an awful lot about the material and not get any jet lag. As I soon learned, Brown is not the sharpest knife in the drawer, but I was already suspicious. As a long-time author, I know it makes sense to at least be aware of what the competition is. He didn't bother.
UNIX and Me
I didn't think it odd that Brown would want to interview me about the history of UNIX. There are worse people to ask. In the late 1970s and early 1980s, I spent several summers in the UNIX group (Dept. 1127) at Bell Labs. I knew Ken Thompson, Dennis Ritchie, and the rest of the people involved in the development of UNIX. I have stayed at Rob Pike's house and Al Aho's house for extended periods of time. Dennis Ritchie, Steve Johnson, and Peter Weinberger, among others have stayed at my house in Amsterdam. Three of my Ph.D. students have worked in the UNIX group at Bell Labs and one of them is a permanent staff member now.
Oddly enough, when I was at Bell Labs, my interest was not operating systems, although I had written one and published a paper about it (see "Software - Practice & Experience," vol. 2, pp. 109-119, 1973). My interest then was compilers, since I was the chief designer of the the Amsterdam Compiler Kit (see Commun. of the ACM, vol. 26, pp. 654-660, Sept. 1983.). I spent some time there discussing compilers with Steve Johnson, networking with Greg Chesson, writing tools with Lorinda Cherry, and book authoring with Brian Kernighan, among many others. I also became friends with the other "foreigner," there, Bjarne Stroustrup, who would later go on to design and implement C++.
In short, although I had nothing to do with the development of the original UNIX, I knew all the people involved and much of the history quite well. Furthermore, my contact with the UNIX group at Bell Labs was not a secret; I even thanked them all for having me as a summer visitor in the preface to the first edition of my book Computer Networks. Amazingly, Brown knew nothing about any of this. He didn't do his homework before embarking on his little project
MINIX and Me
Years later, I was teaching a course on operating systems and using John Lions' book on UNIX Version 6. When AT&T decided to forbid the teaching of the UNIX internals, I decided to write my own version of UNIX, free of all AT&T code and restrictions, so I could teach from it. My inspiration was not my time at Bell Labs, although the knowledge that one person could write a UNIX-like operating system (Ken Thompson wrote UNICS on a PDP-7) told me it could be done. My real inspiration was an off-hand remark by Butler Lampson in an operating systems course I took from him when I was a Ph.D. student at Berkeley. Lampson had just finished describing the pioneering CTSS operating system and said, in his inimitable way: "Is there anybody here who couldn't write CTSS in a month?" Nobody raised his hand. I concluded that you'd have to be real dumb not to be able to write an operating system in a month. The paper cited above is an operating system I wrote at Berkeley with the help of Bill Benson. It took a lot more than a month, but I am not as smart as Butler. Nobody is.
I set out to write a minimal UNIX clone, MINIX, and did it alone. The code was 100% free of AT&T's intellectual property. The full source code was published in 1987 as the appendix to a book, Operating Systems: Design and Implementation, which later went into a second edition co-authored with Al Woodhull. MINIX 2.0 was even POSIX-conformant. Both editions contained hundreds of pages of text describing the code in great detail. A box of 10 floppy disks containing all the binaries and source code was available separately from Prentice Hall for $69.
While this was not free software in the sense of "free beer" it was free software in the sense of "free speech" since all the source code was available for only slightly more than the manufacturing cost. But even "free speech" is not completely "free"--think about slander, yelling "fire" in a crowded theater, etc. And this was before the Patriot Act, which requires John Ashcroft's written permission before you can open your mouth. Also Remember (if you are old enough) that by 1987, a university educational license for UNIX cost $300, a commercial license for a university cost $28,000, and a commercial license for a company cost a lot more. For the first time, MINIX brought the cost of "UNIX-like" source code down to something a student could afford. Prentice Hall wasn't really interested in selling software. They were interested in selling books, so there was a fairly liberal policy on copying MINIX, but if a company wanted to sell it to make big bucks, PH wanted a royalty. Hence the PH lawyers equipped MINIX with a lot of boilerplate, but there was never any intention of really enforcing this against universities or students. Using the Internet for distributing that much code was not feasible in 1987, even for people with a high-speed (i.e., 1200 bps) modem. When distribution via the Internet became feasible, I convinced Prentice Hall to drop its (extremely modest) commercial ambitions and they gave me permission to put the source on my website for free downloading, where it still is.
Within a couple of months of its release, MINIX became something of a cult item, with its own USENET newsgroup, comp.os.minix, with 40,000 subscribers. Many people added new utility programs and improved the kernel in numerous ways, but the original kernel was just the work of one person--me. Many people started pestering me about improving it. In addition to the many messages in the USENET newsgroup, I was getting 200 e-mails a day (at a time when only the chosen few had e-mail at all) saying things like: "I need pseudoterminals and I need them by Friday." My answer was generally quick and to the point: "No."
The reason for my frequent "no" was that everyone was trying to turn MINIX into a production-quality UNIX system and I didn't want it to get so complicated that it would become useless for my purpose, namely, teaching it to students. I also expected that the niche for a free production-quality UNIX system would be filled by either GNU or Berkeley UNIX shortly, so I wasn't really aiming at that. As it turned out, the GNU OS sort of went nowhere (although many UNIX utilities were written) and Berkeley UNIX got tied up in a lawsuit when its designers formed a company, BSDI, to sell it and they chose 1-800-ITS UNIX as their phone number. AT&T felt this constituted copyright infringement and sued them. It took a couple of years for this to get resolved. This delay in getting free BSD out there gave Linux the breathing space it needed to catch on. If it hadn't been for the lawsuit, undoubtedly BSD would have filled the niche for a powerful, free UNIX clone as it was already a stable, mature system with a large following.
Ken Brown and Me
Now Ken Brown shows up and begins asking questions. I quickly determined that he didn't know a thing about the history of UNIX, had never heard of the Salus book, and knew nothing about BSD and the AT&T lawsuit. I started to tell him the history, but he stopped me and said he was more interested in the legal aspects. I said: "Oh you mean about Dennis Ritchie's patent number 4135240 on the setuid bit?" Then I added:"That's not a problem. Bell Labs dedicated the patent." That's when I discovered that (1) he had never heard of the patent, (2) did not know what it meant to dedicate a patent (i.e., put it in the public domain), and (3) really did not know a thing about intellectual property law. He was confused about patents, copyrights, and trademarks. Gratuitously, I asked if he was a lawyer, but it was obvious he was not and he admitted it. At this point I was still thinking he might be a spy from SCO, but if he was, SCO was not getting its money's worth.
He wanted to go on about the ownership issue, but he was also trying to avoid telling me what his real purpose was, so he didn't phrase his questions very well. Finally he asked me if I thought Linus wrote Linux. I said that to the best of my knowledge, Linus wrote the whole kernel himself, but after it was released, other people began improving the kernel, which was very primitive initially, and adding new software to the system--essentially the same development model as MINIX. Then he began to focus on this, with questions like: "Didn't he steal pieces of MINIX without permission." I told him that MINIX had clearly had a huge influence on Linux in many ways, from the layout of the file system to the names in the source tree, but I didn't think Linus had used any of my code. Linus also used MINIX as his development platform initially, but there was nothing wrong with that. He asked if I objected to that and I said no, I didn't, people were free to use it as they wished for noncommercial purposes. Later MINIX was released under the Berkeley license, which freed it up for all purposes. It is still in surprisingly wide use, both for education and in the Third World, where millions of people are happy as a clam to have an old castoff 1-MB 386, on which MINIX runs just fine. The MINIX home page cited above still gets more than 1000 hits a week.
Finally, Brown began to focus sharply. He kept asking, in different forms, how one person could write an operating system all by himself. He simply didn't believe that was possible. So I had to give him more history, sigh. To start with, Ken Thompson wrote UNICS for the PDP-7 all by himself. When it was later moved to the PDP-11 and rewritten in C, Dennis Ritchie joined the team, but primarily focused on designing the C language, writing the C compiler, and writing the I/O system and device drivers. Ken wrote nearly all of the kernel himself.
In 1983, a now-defunct company named the Mark Williams company produced and sold a very good UNIX clone called Coherent. Most of the work was done by Bob Swartz. I used this system for a while and it was very solid.
In 1983, Rick Holt published a book, now out of print, on the TUNIS system, a UNIX-like system. This was certainly a rewrite since TUNIS was written in a completely new language, concurrent Euclid.
Then Doug Comer wrote XINU. While also not a UNIX clone, it was a comparable system.
By the time Linus started, five people had independently implemented the UNIX kernel or something approximating it, namely, Thompson, Swartz, Holt, Comer, and me. All of this was perfectly legal and nobody stole anything. Given this history, it is pretty hard to make a case that one person can't implement a system of the complexity of Linux, whose original size was about the same as V1.0 of MINIX.
Of course it is always true in science that people build upon the work of their predecessors. Even Ken Thompson wasn't the first. Before writing UNIX, Ken had worked on the MIT MULTICS (MULTiplexed Information and Computing Service) system. In fact, the original name of UNIX was UNICS, a joke made by Brian Kernighan standing for the UNIplexed Information and Computing Service, since the PDP-7 version could support only one user--Ken. After too many bad puns about EUNUCHS being a castrated MULTICS, the name was changed to UNIX. But even MULTICS wasn't first. Before it was the above-mentioned CTSS, designed by the same team at MIT.
Thus, of course, Linus didn't sit down in a vacuum and suddenly type in the Linux source code. He had my book, was running MINIX, and undoubtedly knew the history (since it is in my book). But the code was his. The proof of this is that he messed the design up. MINIX is a nice, modular microkernel system, with the memory manager and file system running as user-space processes. This makes the system cleaner and more reliable than a big monolithic kernel and easier to debug and maintain, at a small price in performance, although even on a 4.77 MHz 8088 it booted in maybe 5 seconds (vs. a minute for Windows on hardware 500 times faster). An example of commercially successful microkernel is QNX. Instead of writing a new file system and a new memory manager, which would have been easy, Linus rewrote the whole thing as a big monolithic kernel, complete with inline assembly code :-( . The first version of Linux was like a time machine. It went back to a system worse than what he already had on his desk. Of course, he was just a kid and didn't know better (although if he had paid better attention in class he should have), but producing a system that was fundamentally different from the base he started with seems pretty good proof that it was a redesign. I don't think he could have copied UNIX because he didn't have access to the UNIX source code, except maybe John Lions' book, which is about an earlier version of UNIX that does not resemble Linux so much.
My conclusion is that Ken Brown doesn't have a clue what he is talking about. I also have grave questions about his methodology. After he talked to me, he prowled the university halls buttonholing random students and asking them questions. Not exactly primary sources.
The six people I know of who (re)wrote UNIX all did it independently and nobody stole anything from anyone. Brown's remark that people have tried and failed for 30 years to build UNIX-like systems is patent nonsense. Six different people did it independently of one another. In science it is considered important to credit people for their ideas, and I think Linus has done this far less than he should have. Ken and Dennis are the real heros here. But Linus' sloppiness about attribution is no reason to assert that Linus didn't write Linux. He didn't write CTSS and he didn't write MULTICS and didn't write UNIX and he didn't write MINIX, but he did write Linux. I think Brown owes a number of us an apology.
Linus and Me
Some of you may find it odd that I am defending Linus here. After all, he and I had a fairly public "debate" some years back. My primary concern here is trying to get the truth out and not blame everything on some teenage girl from the back hills of West Virginia. Also, Linus and I are not "enemies" or anything like that. I met him once and he seemed like a nice friendly, smart guy. My only regret is that he didn't develop Linux based on the microkernel technology of MINIX. With all the security problems Windows has now, it is increasingly obvious to everyone that tiny microkernels, like that of MINIX, are a better base for operating systems than huge monolithic systems. Linux has been the victim of fewer attacks than Windows because (1) it actually is more secure, but also (2) most attackers think hitting Windows offers a bigger bang for the buck so Windows simply gets attacked more. As I did 20 years ago, I still fervently believe that the only way to make software secure, reliable, and fast is to make it small. Fight Features.
If you have made it this far, thank you for your time. Permission is hereby granted to mirror this web page provided that the original, unmodified version is used.
Andy Tanenbaum, 20 May 2004
Buy on AliExpress.com