Andy Tanenbaum on 'Who Wrote Linux'
Andy Tanenbaum writes "Ken Brown has just released a book on open source code. In it, he claims (1) to have interviewed me, and (2) that Linus Torvalds didn't write Linux. I think Brown is batting .500, which is not bad for an amateur (for people other than Americans, Japanese, and Cubans, this is an obscure reference to baseball). Since I am one of the principals in this matter, I thought it might be useful for me to put my 2 eurocents' worth into the hopper. If you were weren't hacking much code in the 1980s, you might learn something." Tanenbaum's description of the interview process with Brown is classic. See also Slashdot's original story and Linus' reply.
Torvalds Vs Tanenbaum. I've never used MINIX, but I believe the source code is out there somewhere, although AFAIK, it's not free software.
I've often wondered what things will be like when Hurd is ready, and we'll have GNU and GNU/Linux, and all those BSDs, and OS X all in usage.
And then we'll probably still have to worry about making stuff look right in IE 6, because Microsoft takes forever to update it.
Join the Free Software Foundation
Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.1
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 sooned 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 editio
Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.1
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 sooned 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 disc
MINIX is licensed under the BSD licence, as mentioned in the article.
...and to make them perform reasonably well, both of these have hacks (server collocation, etc.) that remove the whole reason for microkernels in the first place.
Don't fall for the hype.
On the other hand, QNX is actually pretty true to the concept.
In a kernel there is a lot of interaction between the various parts. In a monolithic kernel these interactions are performed by simple subroutine calls and manipulation of shared data. In a microkernel these interactions require a more complex switch between tasks, and message passing. In exchange, you get better protection of one part from the others, which makes tracking down bugs quicker.
John Sauter (J_Sauter@Empire.Net)
Here's a mirror of the article while it lasts.
Visit Lockjaw's Lair. He won't bite.
AST lists several independently developed systems of equivalent complexity to Mixix 1.0 / System 7. Here are a couple more I found:
OMU (6809 processor, ported to 68000) roughly system 7 but only single user, integrated shell.
http://tallyho.bc.nu/~steve/omu.html
UZI (Z80 processor, ported to 180, 280) roughly system 7: multitasking
http://www.dougbraun.com/uzi.html
my first reaction to this attack was, 'who the f### is Ken Brown? as they taught me back in school, 'always consider the source' --if this guy's attacking Linux, he'd better have some solid credentials in the computer industry, right? well, all it took was a Google search, and the first link I hit told me all i need to know: Anti-Open Source lobbyists need love, too Friday October 25, 2002 - [ 03:00 PM GMT ] Topics: Migration - By Robin "Roblimo" Miller - I felt bad for Ken Brown of the Alexis De Toqueville Institution (AdTI) last week... http://www.newsforge.com/business/02/10/25/056218. shtml?tid=19
thanks to Roblimo, we have a first-hand account of Ken Brown's shameless FUD-ing, back in 2002--read this link for a cuttingly funny look at Mr. Browns earlier efforts;>
you gotta love the 'thousands of eyeballs' that are working on our side--it more than offsets what M$ gets from spreading it's dirty money around...
-DWitt
ps. methinks Brown's IP has just gone down the tubes--thank you very much Andy Tanenbaum!
However, L4Linux is Linux running atop an L4 kernel. This means that the Linux kernel is still as monolithic as it always was. The same goes for MkLinux (Linux on Mach) and Darwin (a monolithic BSD server on Mach).
Please correct me if I got my facts wrong.
I read the article from the Groklaw link before it showed up on /. Tanenbaum says that at least five different people single handedly wrote a UNIX-like kernel and that Linus clearly wrote Linux. He also says that Brown, the person who interviewed him, was completely clueless and obviously pushing an agenda.
The bitter part comes in the last couple of paragraphs, where he takes the opportunity to say that Linus was a misguided kid who should have paid more attention in class such that he would have seen the obvious superiority of a microkernel over a macrokernel. But he's quick to point out that he and Linus are not enemies.
"The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.
Windoz had a microkernel in the NT 3.51 days. It is way far from a microkernel today. There are some info about this on the NT 4 resource kit documentation.
cheers.
``If a program can't rewrite its own code, what good is it?'' - Mel
To summarize, let me call the part that securely multiplexes hardware the "kernel".
- Monolithic makes drivers share address space with the "kernel".
- With Microkernel, "kernel", drivers, filesystems, applications, etc each get their own address spaces.
- Exokernel makes drivers share address space with applications. (Hopefully, filesystems get their own process and address space.)
As you can see, as soon as you start partitioning applications into separate processes for security and robustness, the distinction between Exokernel and Microkernel becomes rather vague. The advantage of the Exokernel or VM approach is that you get the flexibility of keeping things like filesystems in a separate process for security and robustness, and things like video drivers in the same address space for performance. You might even have an X server as a separate process, but still allow full screen mode games that directly call the driver libraries for performance.IBM's VM was never that popular in its raw "Exokernel" mode with drivers in application space. However, it is still hugely popular as a way to run multiple Operating Systems as the "applications". Your mainframe can securely run multiple instances of S/390 Linux and traditional mainframe systems together.
Matt Loney of ZDNet UK is covering the story, including Andy Tanenbaum's two Euro-cents here. I don't think anyone at AdTI, least of all Ken Brown, is going to be living off royalties any time soon - "falls at the starting gate" indeed. ZD even mention AdTI's ties to Microsoft least there be any doubt, which is nice of them. :)
UNIX? They're not even circumcised! Savages!
The teenage girl is a reference to the smiling, cigarette-smoking woman Lynndie England pictured pointing at a humiliated Iraqi man's genitals, and the fact that she and her smiling comrades will take the fall for Donald Rumsfeld and the rest of the chain of command.
Freelance tech journalist for the Economist, MIT Technology Review, Macworld, and others
One reason that Minix did not "rise to the challenge" is that Tannenbaum wanted to keep his OS simple, for didactic reasons. Linux designed his OS to run on his new 386 computer, which had all sorts of nifty capabilities-- memory protection, a 32 bit address space, etc. Tannenbaum thought it was important to run run on on low end (student) hardware
I had an experience where an entire development team of twenty people spent about a year and a half writing a large, grandiose enterprise software system that was supposed to be general-purpose and flexible, but in the end was a real performance turd at the job it was supposed to do. Using what I knew about the actual problem from looking at the previous solution's mistakes and the original problem statement, I rewrote the system from scratch over about 8 weeks at a client's site, averaging about 300 SLOCs a day (coding in Java where I can fly), with one developer helping me on a few specific tasks, and we ended up with a system that was functionally equivalent and about 50 times faster than the previous version because it stripped out all the unnecessary modularity (modularity is good, but if you split something that should be one component into ten, you just get lots of extra overhead) and message-passing that gunked up the original design.
I can't help but think of the analogy between this project and the Linux/MINIX effort. My knowledge of the problem was informed by analyzing the earlier design, but not a line of code was actually derived from it. And the twenty-some-odd man year effort was replaced neatly by a 3-man-month effort that was superior.
The moral of the story is that any of us who've been around in the software world long enough will tell you that most any system, assuming you lift all the crazy featurization constraints, can be written fairly rapidly by one person. And that usually you'll get a better result with an early working product and iterative functionality development than you will with a monolithic development effort, assuming you know the architectural parameters going into the effort by having been able to analyze previous efforts at solving a similar problem.
So the point is... keep the assumptions in mind before you start estimating a project's size and scope, man-hour requirements and so on. Development of UNIX-like OSes was a well-defined, well-understood problem at the time Linus did his work. And don't go claiming that somebody accomplished an impossible task unless you have a REALLY good understanding of the software engineering process in general, and the particulars of the problem they solved - in this case Ken Brown has neither. We didn't really need Mr. Tanenbaum to tell us that, but it shows what a stand-up guy he is that he has made a clear effort to defend Linus despite any past arguments they may have had.
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
Interesting...! I think I'll email PJ with this little lot!
J.
You're only jealous cos the little penguins are talking to me.
Mirror #1
Mirror #2
The performance hit of doing a context switch on PowerPC is about the same as doing a function call, which make multithreading and things like microkernels very easy to do fast. On x86, the overhead is often an order of magnitude larger, making microkernels crawl.
I am TheRaven on Soylent News
What do we know about Justin Orndorff
:- 1%4 0gated-at.bofh.it&output=gplain
:d 040 4d&L=minix-l&F=&S=&P=59
:4 050 61039.75c2fc2c%40posting.google.com&output=gplain)
: 8 1 19&goto=nextoldestp ?message=6907
:- 11% 40gated-at.bofh.it&output=gplain
:
:
:i antart.com/journal/
:- gui des/-/A17FKWGJYHSEL2/103-1166439-6115864
:i ght .asp?ArtistID=3338c om/Framed_Trader_Det ail.asp?ID=9856
:0 02- February/010935.html
:
:
1. On April 12, 2004, he asked about Linux ownership on usenet linux.kernel, using IP address 66.44.2.45 (RCN dialup access range). He used raison__d_etre@hotmail.com as his originating email address.
References
http://groups.google.com/groups?selm=1Kbes-3hM
2. On April 28, 2004, he asked about obtaining older versions of Minix in a Minix related mailing-list. He used raison__d_etre@HOTMAIL.COM as his originating email address.
References
http://listserv.nodak.edu/scripts/wa.exe?A2=in
3. On May 6, 2004, he posted questions about O.S. development on usenet alt.os.development, using IP address 66.44.4.15 (again, RCN dialup access range). He used jorndorff@adti.net as his originating email address.
References
http://groups.google.com/groups?selm=b6920e1.0
4. Later on May 6, 2004, the very same questions were asked in various web forums by someone using the nickname "jnana".
References
http://www.webmasterworld.com/forum40/1067.htm
http://forums.devhardware.com/showthread.php?t=1
http://www.osdev.org/board.js
5. On may 18th, 2004, he asked questions about corporate contribution into Linux on usenet linux.samba, using IP address 138.88.144.59 (Verizon DSL access range). He used raison__d_etre@hotmail.com as his originating email address.
References
http://groups.google.com/groups?selm=1Xf0Z-7VF
It is very likely that it is indeed only one person as
- The topics are closely related.
- The IP used when posting using the @adti.net address (3) is on the same range as the one used when posting using the @hotmail.com address (1).
- The questions asked using the jnana nickname (4) are the same as the ones asked using the @adti.net address (3).
Obviously, we have someone here, going by the names of Justin Orndorff/Jnana/Raison__d_etre (French for "reason to exist, or reason to be), and who seems very interested in Linux and other FOSS intelectual properties issues.
This person has at least two email addresses
raison__d_etre@hotmail.com
jorndorff@adti.net
What else ?
6. He apparently has a page/blog on Devianart. He uses the same Justin O. and Jnana names. He says he's 22 and lives in CP (?), Maryland. He has apparently started a new job on March 1st.
References
http://jnana.deviantart.com/
http://jnana.dev
7. He seems to like movies, particularly the "poetic" genre.
References
http://www.amazon.com/exec/obidos/tg/cm/member
8. He likes VHS music tapes trading (particularly black metal), has an email address @wam.umd.edu (University of Maryland) where he seems to be a student.
References
http://www.tapetradernetwork.com/Framed_body_r
http://www.tapetradernetwork.
9. A while back he was looking for "Codreanu comp. ['Fidelis Legio']" (whatever that is, apparently more black metal).
References
http://grumblesmurf.net/pipermail/coldmeat-l/2
10. Well, he actually seems to be an English student at U. of Maryland (College Park, CP again, see (6)), and interested in films production.
References
http://cinemaminima.com/blogs/orndorff/
OK, so maybe this is going a little fast but we apparently have an
- English student in Maryland,
- Interested in films
- Using email addresses raison__d_etre@hotmail.com, jorndorff@adti.net and maybe morpheus@wam.umd.edu (fake ?)
- Working since March or April for the ADTI (A. de Tocqueville Institute)
Actually its RMS who calls Linus 'just an engineer' and its not a compliment. Its said in the vein of 'just a child,' as in he might be able to do something but he doesn't understand the ramifications. In this case, Linus isn't fighting his (RMS) holy war so he doesn't think highly of Linus and derides him as just an engineer who doesn't understand the whys of the GPL.
A closer quote from Revolution OS is "he calls me just an engineer."
"I use a Mac because I'm just better than you are."
Well they tried this crap two years ago at the behest of Microsoft. The article was so bad that it was pulled after just one day. Look here for a copy, captured before it was pulled..
Help fight continental drift.
After seeing all the responses yesterday, I think I have a better idea of Ken Brown's motivation in coming to see me and also his motivation in writing the book. If you are curious, take a look at
www.cs.vu.nl/~ast/brown/followup
Andy Tanenbaum