Tanenbaum-Torvalds debate

From Wikipedia, the free encyclopedia

The Tanenbaum-Torvalds debate is a debate between Andrew S. Tanenbaum and Linus Torvalds, regarding Linux and kernel architecture in general. The debate was begun by Tanenbaum in 1992 on the Usenet discussion group comp.os.minix,[1] Tanenbaum arguing that microkernels are superior to monolithic kernels and that, for this reason, Linux is obsolete. The debate was not restricted to just Tanenbaum and Torvalds, as it was on a Usenet group; other notable hackers such as Ken Thompson (one of the founders of Unix) and David Miller joined in as well.

Due to the strong tone used in the newsgroup posts, the debate has widely been recognized as a "flame war", a deliberately hostile exchange of messages, between the two camps (of Linux and MINIX, or alternatively, of monolithic kernel enthusiasts and microkernel enthusiasts) and has been described as such in various publications.[2] Torvalds himself also acknowledged this in his first newsgroup post about the issue, stating (verbatim) "I'd like to be able to just 'ignore the bait', but ... Time for some serious flamefesting!"[3]

This subject was revisited in 2006, again with Tanenbaum as initiator, after he had written a cover story for Computer magazine titled “Can We Make Operating Systems Reliable and Secure?”[4] After Torvalds posted a rebuttal of Tanenbaum's arguments via an online discussion forum,[5] several technology news sites, such as Slashdot, began reporting the issue.[6]

Contents

[edit] The debate

Graphic depicting the monolithic kernel, which runs in kernel space in supervisor mode entirely.
Enlarge
Graphic depicting the monolithic kernel, which runs in kernel space in supervisor mode entirely.

While the debate initially started out as relatively moderate, with both parties involved making only basal statements about kernel design towards each other, it would get progressively more detailed and sophisticated with every "round" of posts. Besides just kernel design, the debate branched into several other topics, such as which microprocessor architecture would win out over the other ones in the future.

Dr. Andrew S. Tanenbaum, or "ast", as he is referred to at comp.os.minix
Enlarge
Dr. Andrew S. Tanenbaum, or "ast", as he is referred to at comp.os.minix

[edit] "Linux is obsolete"

The first occurrence of this debate was recorded on January 29, 1992, at 1:12 PM CET, when Tanenbaum first posted his criticism on the Linux kernel to comp.os.minix, noting how the monolithic design was causing detriment to its abilities.[1] He aptly titled his post "Linux is obsolete". While he initially did not go into great technical detail to explain why he felt that the microkernel design was better, he did suggest that it was mostly related to portability, arguing that the Linux kernel was too closely tied to the x86 line of processors to be of any use in the future, as this architecture would be superseded by then. To put things into perspective, he mentioned how writing a monolithic kernel in 1991 is "a giant step back into the 1970s".

As the criticism was publicly posted in a newsgroup, Torvalds was able to respond to it directly. He did so a day later (12:14 AM CET), arguing that MINIX has inherent design flaws (naming the lack of multithreading as specific example), while acknowledging that he finds the microkernel kernel design to be superior "from a theoretical and aesthetical" point of view. He also claimed that since he was developing the Linux kernel in his spare time and giving it away for free (Tanenbaum's MINIX was not free at that time), Tanenbaum should not object to his efforts. Furthermore, he mentioned how he developed Linux specifically for the Intel 80386 due to the project being partly just so he could learn more about the architecture; while he argued that this made the kernel itself less portable than MINIX, it was an acceptable design principle, as it made the application programming interface much simpler and more portable. For this reason, he stated, "linux is more portable than minix. [sic]"[3]

Graphic depicting the microkernel, which relies heavily on user-space programs (called "servers").
Enlarge
Graphic depicting the microkernel, which relies heavily on user-space programs (called "servers").

Following Linus' reply, Tanenbaum argued that the limitations of MINIX relate to him being a professor, stating the requirement for the system to be able to run on the rather limited hardware of the average student, which he noted was an Intel 8088-based computer, sometimes even without hard drive. Linux was, at that time, specifically built for the Intel 80386, a significantly more powerful (and expensive) processor. Tanenbaum also specifically states "[...] as of about 1 year ago, there were two versions [of MINIX], one for the PC (360K diskettes) and one for the 286/386 (1.2M). The PC version was outselling the 286/386 version by 2 to 1." He noted that even though Linux was free, it wouldn't be a viable choice for his students, as they would not be able to purchase the expensive hardware required to run it. Despite the fact that MINIX did not fully support the newer hardware that Linux did support, thus making Linux a better choice for those who actually owned that hardware, Tanenbaum argued that since the x86 architecture would be outdone by other architecture designs in the future, he did not need to address the issue, noting "Of course 5 years from now that will be different, but 5 years from now everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5." He pointed out that the Linux kernel would eventually fall out of taste as hardware would progress due to it being so closely tied to the 386 architecture.[citation needed]

Torvalds attempted to end the discussion at that point, stating that he felt he should not have overreacted to Tanenbaum's initial statements, and that he was composing a personal e-mail to him to apologize.[citation needed] He would continue the debate at a later time, however.[citation needed]

[edit] Aftermath

Despite this debate, Torvalds and Tanenbaum appear to be on good speaking terms; Torvalds wants it understood that he holds no animosity towards Tanenbaum, and Tanenbaum underlines that disagreements about ideas or technical issues should not be interpreted as personal feuds.[7] When the issue and full (initial) debate was also published in the O'Reilly Media book Open Sources: Voices from the Open Source Revolution in 1999, it stated that the debate serves as an exemplification of "the way the world was thinking about OS design at the time".[7]

[edit] See also

[edit] References

  1. ^ a b A. S. Tanenbaum (1992-01-29). "LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-11-27.
  2. ^ Williams, S. (March 2001). “GNU/Linux”, Free as in Freedom: Richard Stallman's Crusade for Free Software (in English). O'Reilly Media. ISBN 0-596-00287-4. “This quote is taken from the much-publicized Torvalds-Tanenbaum 'flame war' following the initial release of Linux.”
  3. ^ a b L. Torvalds (1992-01-29). "Re: LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-11-28.
  4. ^ Tanenbaum, A. S. (May 2006). "Can We Make Operating Systems Reliable and Secure?". IEEE Computer Society 39 (5): 44–51. Retrieved on 2006-11-26.
  5. ^ Torvalds, L. (May 2006). Hybrid kernel, not NT. Real World Technologies. Retrieved on November 30, 2006.
  6. ^ "diegocgteleline.es" & "ScuttleMonkey" (2006). Torvalds on the Microkernel Debate. Slashdot. Retrieved on September 28, 2006.
  7. ^ a b DiBona, Chris, Sam Ockman, Mark Stone, Brian Behlendorf, Scott Bradner, Jim Hamerly, Kirk McKusick, Tim O'Reilly, Tom Paquin, Bruce Perens, Eric Raymond, Richard Stallman, Michael Tiemann, Linus Torvalds, Paul Vixie, Larry Wall, Bob Young (January 1999). “The Tanenbaum-Torvalds Debate”, Open Sources: Voices from the Open Source Revolution (in English). O'Reilly Media. ISBN 1-56592-582-3. “When Linus himself heard that we were including this, he wanted to make sure that the world understood that he holds no animus towards Tanenbaum and in fact would not have sanctioned its inclusion if we had not been able to convince him that it would show the way the world was thinking about OS design at the time.”

[edit] External links