Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Andy Tanenbaum on 'Who Wrote Linux'

Posted by michael on Thu May 20, 2004 08:55 AM
from the besides-the-tooth-fairy-of-course dept.
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.
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by madprof (4723) on Thursday May 20 2004, @08:59AM (#9203442) Homepage
    Poor old Ken Brown must be wondering how wise it was to have made that particular trip now!
    Curious that someone would spend all that cash and yet have done so little research. Smells of hidden agendas, or no-so-hidden agendas perhaps?
    The best part has to be: "But the code was his. The proof of this is that he messed the design up." :-)

  • by xyote (598794) on Thursday May 20 2004, @09:02AM (#9203473)
    Andrew Tanenbaum discovers slashdot effect. Adti disputes it, citing that others discovered it first and that Tannenbaum just copied it.
  • Article text (Score:5, Informative)

    by Anonymous Coward on Thursday May 20 2004, @09:04AM (#9203491)
    Slashdotted...
    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 [adti.net]. 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 [amazon.com]. 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

  • by TaxSlave (23295) <lockjaw&lockjawslair,com> on Thursday May 20 2004, @09:06AM (#9203512) Homepage Journal

    Start with a premise, do little or no research, and declare conclusions. When the truth is pointed out, get indignant.

    Granted, I haven't read the book in question, but this was a very enlightening article. I especially loved the comment that insinuates that Linus could have done a better job if he HAD stolen the code, than he did.

  • by argoff (142580) on Thursday May 20 2004, @09:06AM (#9203514)
    In old world media, who creates something of value is more important than what gets created. Hence there is often alot of slander, lies, and outright fraud (and a lot of crapy media). In Hollywood, it's so bad it's pratically institutionalized.

    I think the enemies of Linux are trying a similar strategy based on the addage "if you kill the shepard - the sheep will scatter", "If you lie about something long enough or hard enough, people will believe it". They can't discredit Linux for technological or commercial reasons anymore, so their only option is to discredit Linus. With billions at stake, it could get nasty.
      • Re:On second thought (Score:5, Interesting)

        by Cytlid (95255) on Thursday May 20 2004, @09:47AM (#9203930) Homepage
        This is how I feel about Linus, I'm thankfull he put Linux under the GPL, and that he's responsible for bringing us this cool technology - but I think his casual/neutral attitudes about freedom really suck, and in the long term will cause alot of uneeded harm. The goal shouldn't be to win a popularity contest, or to fit in, but to secure our freedoms in the technology space.


        In one of the "Revolution OS" interviews, he states he's merely the engineer, and RMS is more like the philosopher. I think he wants to remove himself from the political aspect and just enjoy the work. Think Einstein and the atomic bomb.
  • On Minux (Score:5, Informative)

    by Gumshoe (191490) on Thursday May 20 2004, @09:10AM (#9203569)
    On Minix:
    While [Minix is] 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.
    That's not "free as in speech". IIRC, the licence prevented us from distributing changes to the OS in any form other than patch files. This was a major reason why people became interested in Linux -- no such restriction exists and it is therefore, truly "free as in speech".
  • The plot thickens (Score:5, Interesting)

    by DreamerFi (78710) <[john] [at] [sinteur.com]> on Thursday May 20 2004, @09:13AM (#9203597) Homepage
    Take a look at this post [google.com] on alt.os.development:

    Greetings,


    I'm conducting some research on behalf of the Alexis de Tocqueville
    Institution in Washington, DC. I'd like if someone could shed some
    light on the following questions:

    1. Describe the components of an operating system, besides the central
    component, the kernel.
    2. What do programmers usually develop first, the compiler or the
    kernel?
    3. Does this sequence impact the OS at all?
    4. What's more complicated, the kernel or the compiler?
    5. Why does operating system development take as long as it does? What
    are the three key things in operating system development that take the
    longest to perfect?
    6. Do you need operating systems familiarity to write a kernel? Yes /
    no? Elaborate please.
    7. In your opinion, why aren't there more operating systems on the
    market?

    Thanks for your time. Best,
    Justin Orndorff


    • by Dr. Smeegee (41653) * on Thursday May 20 2004, @09:33AM (#9203766) Homepage Journal

      1. Describe the components of an operating system, besides the central component, the kernel.

      The Klaspil, the Frammistat and the Peramulator (sometimes called the "Virtual McGuggehupphe Valve). The Kaspil formats tuples for processing by the Frammistat, tuples are sorted, tagged and valued by the Perambulator.

      2. What do programmers usually develop first, the compiler or the kernel?

      Acne. Lots, usually.

      3. Does this sequence impact the OS at all?

      Probably

      4. What's more complicated, the kernel or the compiler?

      Girls

      5. Why does operating system development take as long as it does?

      Why is a duck?

      What are the three key things in operating system development that take the longest to perfect?

      Obsolecense, threading and nice icons.

      6. Do you need operating systems familiarity to write a kernel? Yes / no? Elaborate please.

      Yes. No.

      7. In your opinion, why aren't there more operating systems on the market?

      Terrorism.

    • Malicious intent (Score:5, Interesting)

      by mst76 (629405) on Thursday May 20 2004, @09:55AM (#9203990)
      After reading this, the Tanenbaum interview and this [linuxinsider.com], there is little doubt that of Brown and the AdTI were determined in their slander campain against Linux from the start. From the AST interview, it is clear that he is just fishing for incriminating quotes. It is well known that initial Linux development took place on (and was inspired by) Minix. With selective quoting, it's likely that he will have AST seemingly accusing Linus of stealing Minix. One of his more persuasive arguments to the laymen will be that it took the highly experienced professor Tanenbaum years to develop Linux, while kid Linus hacked his OS together in 6 months. Of course, he knows this is not a truthful representation, but that doesn't matter as long as it will get him headlines. We (and AST it seems) may regard people like Brown and McBride as dumb and ignorant. But we should beware, these people are of a kind that we do not encounter often day-to-day: people with malicious intend.
    • by aug24 (38229) on Thursday May 20 2004, @10:48AM (#9204584) Homepage

      Interesting...! I think I'll email PJ with this little lot!

      J.

  • Fighting features (Score:5, Insightful)

    by amightywind (691887) on Thursday May 20 2004, @09:14AM (#9203605) Journal

    ..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.

    Credit Mr. Tanenbaum sticking to his guns on the micro kernel design. But the brilliance of Linus is that he realises you must first have features to fight!

  • by Phekko (619272) on Thursday May 20 2004, @09:14AM (#9203606)
    SCO wrote it. From scratch. Now cough up that $699!
  • In conclusion .. (Score:5, Insightful)

    by Macka (9388) on Thursday May 20 2004, @09:23AM (#9203680)
    My conclusion is the 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


    What more needs to be said !

  • by jmitchel!jmitchel.co (254506) on Thursday May 20 2004, @09:30AM (#9203739)
    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
  • Really A Secret ? (Score:5, Insightful)

    by polyp2000 (444682) on Thursday May 20 2004, @09:33AM (#9203769) Homepage Journal
    I dont think Linus or anyone else has tried to conceal or hide the origins of linux. Anyone who has taken more than a passing interest in the history of linux knows that Linus got interested in kernel development while hacking Minix which was supplied in source code form in an educational book called "Operating Systems: Their design and Implementation". Rebel Code (Glynn Moody) is an excellent history of linux and open source and a great read. If people are interested in getting a good background its a great place to start.

    I think its fair to say that "shock horror!" Andy Tanenbaum probably "learned" how to write Minix from somewhere else. In any case in the initial phases of Linux I think its fair to say that Linus did 99% of the work. And after the seed was planted.. well lots of people are now involoved with writing linux.

    Its the nature of the beast almost all human acheivements are adaptations of something that came before . Its called development and its incredibly difficult to come up with an idea that doesnt have its basis in something else.

    I challenge anyone to try and come up with an idea that doesnt have its origins in something else.

    nick
  • by mojoNYC (595906) on Thursday May 20 2004, @09:39AM (#9203839) Homepage
    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!
  • by Dark Paladin (116525) * <jhummel.johnhummel@net> on Thursday May 20 2004, @09:40AM (#9203866) Homepage
    Whatever anyone does - do not read Brown's book when it comes out.

    Thanks to Mr. Tanenbaum, we have the proof here:

    People can create operating systems on their own. Even UNIX-like operating systems. Linus learned from Mr. Tanenbaum. Linus wrote the first kernel, published it and asked for input, which the rest of the world provided.

    Linus then acted as a proper project manager, and the rest is history.

    So again, whatever people do - do not buy the book.

    Now, here's the problem: if we talk about this upcoming book, people will want to buy it. It's the Gibson Effect - the more its denounced, the more people will want to read it, and next thing you know there will be lines of people at the bookstores claiming they can see Jesus's face on this book.

    So instead, I recommend to all intelligent folks in the programming community: ignore it. From here on out, don't even refer to the book by name, or its foundation, or the author. The more we pretend it doesn't exist and it's not important, the less interest people will have in it. If someone asks (such as a Pointy Haired Boss guy), shrug and lie as you say "No idea. I heard it was some book, but that it wasn't that good." And then shut up and leave it at that.

    Don't give these guys free advertising. Don't even give them an ounce of respect, they don't deserve it.
    • by Fnkmaster (89084) on Thursday May 20 2004, @10:21AM (#9204271)
      From what I've observed there are lots of programming projects that are "hard" for companies and large organizations because they aren't so amenable to "early partition" as people would like, and yet are substantially easier for one developer (or two in some cases) who partition the problem using internal divide-and-conquer, thus completely understanding the partitioning scheme right off the bat rather than spending months hashing it out at meetings and miscued early development efforts.


      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.

  • by Zocalo (252965) on Thursday May 20 2004, @09:50AM (#9203951) Homepage
    Matt Loney of ZDNet UK is covering the story, including Andy Tanenbaum's two Euro-cents here [zdnet.co.uk]. 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. :)
  • by Junks Jerzey (54586) on Thursday May 20 2004, @09:59AM (#9204028)
    I know many in the Linux community like to paint Mr. Tanenbaum as a bitter lunatic, but this is a great article, one that every Linux user/zealot should read.

    First, he goes into the history of why people were souring on UNIX and the various independently-written UNIXalikes. These were mostly individual projects, which really sets the record straight for the people who seem to think that Linus was the first person to do this, and that Linus was somehow the only person intelligent and manly enough to write his own kernel.

    At the same time, he lays out the history of UNIX clones, of which Linux was definitely one. It's surprising to me how many people seem to think of Linux as a great, independent OS, and fight so hard to deny that it has roots in UNIX. Of course these people are mostly young and don't know much about computer history. In that respect, this is an educational article.

    And, yes, he does talk about the micro vs. monolithic kernel issue, but he does so without fanaticism, and, you know, what he says is generally correct. He's all for small and reliable software, which is something that UNIX was originally but rapidly became the antithesis of. Performance issues, back when people were using 4.77 and 8 MHz desktop processors, well, let's just say that things were different then. Now you have people writing big applications in Python. The real reason Linux ended up with a monolithic kernel is because that's what Linus understood and it was easier for him to write that way.
  • by Derek (1525) on Thursday May 20 2004, @10:00AM (#9204034) Journal
    What does this quote reference?

    "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 getting trying to get the truth out and not blame everything on some teenage girl from the back hills of West Virginia."

    Just curious...
    -Derek
  • by Anonymous Coward on Thursday May 20 2004, @10:25AM (#9204313)
    Writing a simple OS kernel is easy. I wrote one, and believe me, it wasn't that hard. At the university where I am a grad student, we require the undergrads to write most of an OS kernel (including virtual memory and a filesystem) in a one-semester course. I read alt.os.development regularly, and there are high school students who are writing OS kernels. (I'm often depressed by the fact that they are much better programmers than I am :-)

    Writing a scalable, production-quality OS kernel is another matter entirely. That takes hundreds or thousands of person-years by talented programmers.

    Ken Brown is obviously a complete shithead if he doesn't understand this distinction. AST's rebuttal made the facts of the matter abundantly clear, and I'm sure any competent OS developer he asked would have told him the same thing.
    • by MemoryDragon (544441) on Thursday May 20 2004, @09:04AM (#9203486)
      Actually, since the interview is not reachable anymore, I assume it is right what you said. But Tannenbaum is right in his sense, a Makrokernel does not really make that much sense, it is easier to program because you simply have method calls instead of messages, but you run into driver compiles, crashes due to the strong binding etc... Mach at least in its early incarnations was not the best example of a Microkernel, neither is the vaporware hurd, which probably will be finished in about 100 years, but improved Mach kernels derived from newer incarnations already have shown how powerful and stable the concept can be, Two words:AIX and MacOSX both based on Mach kernels and both excellent and fast operating systems.
      • by Anonymous Coward on Thursday May 20 2004, @09:07AM (#9203519)
        ...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.
      • by gowen (141411) <gwowen@gmail.com> on Thursday May 20 2004, @09:12AM (#9203585) Homepage Journal
        Well, there are certainly benefits to a modular micro-kernel design. I wouldn't deny it (and haven't). But there are also drawbacks (message passing is terribly hard to make secure in a multi-tasking context, and is frequently slower than dirt. Add to that some of the braindead design decisions of the x386 w.r.t. privileged processes...) Yuck.

        Treating the micro v. monolithic debate as a solved problem ("microkernels win!") is as idiotic as suggesting that object orientation is the ideal solution to all programming problems.
        • by brunson (91995) * on Thursday May 20 2004, @09:23AM (#9203681) Homepage

          I think he made such a big stink about it during the infamous flame war that, even if it was somehow proven that a macro-kernel is a better design, Tanenbaum could never back down from his premise without losing face.
        • by Tarantolato (760537) on Thursday May 20 2004, @09:26AM (#9203707) Journal
          Treating the micro v. monolithic debate as a solved problem ("microkernels win!") is as idiotic as suggesting that object orientation is the ideal solution to all programming problems.

          Apparently, the really trendy kids have decided that microkernels themselves are obsolete, and moved on to something called exokernels [c2.com]. I can't pretend to understand the distinctions involved.
          • by CustomDesigned (250089) on Thursday May 20 2004, @09:50AM (#9203944) Homepage Journal
            Exokernels reinvent IBMs VM system. "An Exokernel securely multiplexes the raw hardware, and application libraries directly implement traditional OS functions." This does not mean that applications must now include their own drivers for every possible hardware they might use. It means that drivers can now be packaged as shared libraries in user space rather than as kernel modules.

            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.

      • QNX (Score:5, Interesting)

        by RAMMS+EIN (578166) on Thursday May 20 2004, @09:25AM (#9203698) Homepage Journal
        Add QNX to that. It doesn't get much more microkernel than that, and I think noone would argue that QNX is slow.

        As for Darwin; it was certainly slow on my x86 laptop, but it's not lacking any speed on my iBook. I guess that says something about the quality of the x86 port (hint: there is no such thing).

        Poor Andy seems a bit too stuck in his I am right and everyone who disagrees is wrong. I have a book here (Distributed Systems: Principles and Paradigms) in which he claims that a 20% performance loss is not so bad, in exchange for all the benefits a microkernel brings. I most sincerely think that is a ridiculous statement, but fortunately, it doesn't have to be that way. I believe microkernels need not incurr any significant performance penalty at all.
          • Re:QNX (Score:5, Informative)

            by RAMMS+EIN (578166) on Thursday May 20 2004, @09:43AM (#9203892) Homepage Journal
            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).
      • OS X (Score:5, Interesting)

        by ink (4325) * on Thursday May 20 2004, @09:32AM (#9203754) Homepage
        To call OS X a Mach system is a bit disengenious. All I/O operations are handled by the "BSD Subsystem" for performance reasons. This means that all file and network I/O (along with the file security descriptions) are in a "monolithic subsystem" of the uK. Needles to say, this is the most performance-intense section of a UNIX (any?) system. A lot of the message-passing is therefore avoided; and the performance costs that those message passes would incur. Take a look at this url: OS X System Overview [apple.com] See that dotted-line that stretches from the kernel to userland? Tannenbaum would not approve.
    • by kfg (145172) on Thursday May 20 2004, @09:33AM (#9203762)
      Bitter much?

      Perhaps, just perhaps mind you, he is simply stating what, in his opinion, is true.

      KFG
    • by Profane MuthaFucka (574406) <busheatskok@gmail.com> on Thursday May 20 2004, @10:53AM (#9204661) Homepage Journal
      Thirteen years ago, I didn't give a flying FUCK about how outdatated Linus' monolithic kernel was. Remember, we were all running DOS, and desperate to break out of real mode hell.

      Arguing about monolithic versus microkernel was like arguing about whether a starving man's meal should be vegetarian or not.
      • by gowen (141411) <gwowen@gmail.com> on Thursday May 20 2004, @09:17AM (#9203630) Homepage Journal
        And you disagree with this? Why?
        Because if you want any kind of decent performance out of a server system you need both those things. Otherwise you've got a couple of designed-in bottlenecks to throughput. Now *that's* a braindead design decision. Of course, its completely understandable in the context of MINIX's design as a teaching system, but to deride those features in other OS's as "a hack" is just pure prejudice.
        • by arkanes (521690) <arkanesNO@SPAMgmail.com> on Thursday May 20 2004, @09:51AM (#9203958) Homepage
          I've re-read that old flameware a few times over the years. It's kinda interesting how one reason he derides the performance hack is that "you don't need them", because normal PCs only have one job running. Certainly nobody envisioned the kind of systems we'd be running today (note the comment about 10 years from now when we're all on 200mips 64MB sparcs. That'd barely qualify as a toaster today....), but Linux rose to the challenge, Minix pretty much didn't. I think the freedom of Linux had alot to do with that (and he misses the point during the flamewar on that, too).

          12 years ago, who would have imagined that it is normal and in fact essential for a desktop OS to be able to smoothly handle many IO intensive processes at the same time?

          • by Jeremy Erwin (2054) on Thursday May 20 2004, @10:13AM (#9204161) Journal
            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
      • by Tarantolato (760537) on Thursday May 20 2004, @09:32AM (#9203757) Journal
        I don't think Tanenbaum is bitter. He just wants to point this out.

        Since I don't think anyone here has RTFA'd (/. effect and all) it's not worth judging right now. I think it's pretty classy of Tanenbaum to step up and offer some perspective on the AdTI FUD. If he does that as someone who still doesn't buy into Linux, that makes it all the more credible. Do we really want every response to this to be written by a Linux fanboy?
        • by B'Trey (111263) on Thursday May 20 2004, @09:46AM (#9203913)
          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.

          • by Tarantolato (760537) on Thursday May 20 2004, @10:06AM (#9204097) Journal
            He also says that Brown, the person who interviewed him, was completely clueless and obviously pushing an agenda.

            I was semi-surprised at how retarded Brown came off in the article. I mean, everything that's come out of his "institution" would lead one to expect that, but somehow I thought maybe it was just an act for the punters. Turns out he really is that dumb. Weird.
    • by Anonymous Coward on Thursday May 20 2004, @09:04AM (#9203489)
      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
    • by madprof (4723) on Thursday May 20 2004, @09:04AM (#9203494) Homepage
      MINIX is licensed under the BSD licence, as mentioned in the article.
    • "It was the dawn of the third age of mankind. Ten years after the Earth-Minbari war,

      "the Babylon project was a dream given form

      "Its goal: to prevent another war by creating a place where humans and aliens could work out their differences peacefully.

      "It's a port-of-call, home away from home for diplomats, hustlers, entrepreneurs, and wanderers.

      "Humans and aliens wrapped in two million five hundred thousand tons of spinning metal, all alone in the night.

      "It can be a dangerous place, but it's our last, best hope for peace.

      "This is the story of the last of the Babylon stations. The year is 2258.

      "The name of the place is Babylon5."

      "Oh, and GNU Hurd was just released."

      • 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)
        • by Laxitive (10360) on Thursday May 20 2004, @10:27AM (#9204338) Journal
          There's a little bit more to it than that.

          The microkernel idea derives from one basic principle: anything that doesn't need to run in kernelspace, shouldn't be in kernelspace.

          There are several hypothetical benefits to this approach. For one, code that executes in kernel space is trusted. You'll notice that a lot of CS academics advocate microkernel architectures. It's because the less you have in the kernel, the easier it is to verify the kernel. The fewer the set of kernel primitives you have, the easier it is to reason about how the kernel will behave. In modern microkernels (see: L4, or it's free variant Fiasco), pretty much the only thing of importance left in kernel space is the scheduler, process management, and a few basic stubs for memory management. Most of the memory management implementation itself is pulled out into userspace.

          The other benefit of microkernels is that they allow the system to be more flexible, when designed correctly. For example, having drivers in userspace means that you don't have the Linux issue with having to match driver versions with kernel versions. Another good example is that you _still_ cannot reasonably mount filesystems as a non-priviledged user in Linux. It's not unreasonable to expect that if you have access to a filesystem image, and you have access to the mount point, that you be allowed to extend the mount point with a view into the filesystem that you have control of. It should be possible, but it's not - mostly because the FS core is embedded into the kernel. And yes, there are kernel modules that promote the VFS layer to userspace - and they work pretty well. But there's really no need to have an artificial distinction between userspace FS impementations and kernelspace. There's nothing special about parsing directory and file structures that really needs to be in the kernel.

          There are, and always will be, performance hits associated with moving kernel stuff into userspace. You necessarily have to have context switches for message passing - which has to be implemented in the kernel to be trusted in a microkernel design. The question is wether you think the benefits of microkernel design are worth that tradeoff.

          I think they are. A 10% hit in performance is going to get eaten up as hardware gets better and faster. But that 50% increase in manageability and flexibility is going to pay dividends well into the future.

          -Laxitive
    • by jjohnson (62583) on Thursday May 20 2004, @10:00AM (#9204036) Homepage
      I thought it added credibility to Tanenbaum's recounting of the interview, insofar as he was acknowledging the simple fact that Linus wrote Linux without expressing any solidarity with him. It wasn't a case of academics and hackers closing ranks against a hostile interviewer, it was a competitor acknowledging that no wrongdoing had occurred.

      It's on the order of Michael Cowpland's acknowledging that Microsoft's undocumented APIs were no threat and no hindrance in the development of WordPerfect because they were just for internal plumbing and of no benefit to someone writing an app on top of them.
      • Re:Oh the irony. (Score:5, Informative)

        by advocate_one (662832) on Thursday May 20 2004, @10:46AM (#9204541)
        yes... it's amazing what he managed to write with the help of a wodge of printout from a garbage can [salon.com]... (requires sub or day pass)
        Bricklin sent waves of laughter through the auditorium by reading a passage from Lammers' interview with Bill Gates in which the young Microsoft founder explained that his work on different versions of Microsoft's BASIC compiler was shaped by looking at how other programmers had gone about the same task. Gates went on to say that young programmers don't need computer science degrees:
        "The best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating systems."[my emphasis]

        Bricklin finished reading Gates' words and announced, with an impish smile, "This is where Gates and [Richard] Stallman agree!"

        The "Programmers at Work" panelists were full of optimism about new opportunities to reinvent software -- in the mobile-phone world (where, Scott Kim noted, the constraints of small screens and tiny memory made it feel "like the early days" again), in the new universe of RF tags, and in the still-unfolding saga of global networking. Bob Carr reminded everyone that technology transformations usually take 20 years to unfold -- "I remember thinking in 1987 that the PC industry was mature, it was over" -- and that the Internet is only halfway through that cycle.

        Still, that picture of Bill Gates dumpster-diving for operating-system code was hard to shake. Finding new ways to think about programming and to make better software demands a willingness for pioneers to open up their work so others can learn from it. "Getting the software industry on a more open, fair and level playing field," as Hertzfeld put it, is a prerequisite for any leap forward in the programming world. Software patents are a looming train wreck; competition in most "end-user" software is largely a distant memory. Simonyi's technical bottleneck is also a social, political and business logjam.
        Linus of course was doing a course at Uni with Tannenbaum's Minix as it's example code... But then again... he didn't deliberately set out to write an OS from scratch... to begin with, he wrote it primarily to have fun with the 386 instruction set and also to read usenet...