# Debate Tanenbaum–Torvalds

El debate Tanenbaum-Torvalds es un debate entre Andrew S. Tanenbaum y Linus Torvalds, en relación con el núcleo Linux, y la arquitectura de núcleos en general. Tanenbaum comenzó el debate en 1992, en el grupo de discusión de Usenet: comp.os.minix, argumentando que los micronúcleos son superiores a los núcleos monolíticos, y por tanto, Linux era —incluso en 1992— obsoleto. Otros hackers notables, como David S. Miller y Theodore Ts'o se unieron al debate.
El debate se ha considerado en ocasiones como una guerra de flames.
Dicho tema fue retomado en 2006 luego de que Tanenbaum escribiera una noticia de primera página para Computer Magazine, titulada «¿Podemos hacer más seguros y confiables a los sistemas operativos?». Si bien Tanenbaum ha mencionado que no escribió el artículo para renovar el debate acerca del diseño del kernel, la yuxtaposición del artículo y una copia archivada del debate de 1992, en el sitio de tecnología Slashdot, causaron que el tema se reavivara. Torvalds publicó una refutación a los argumentos de Tanenbaum, a través de un foro de discusión en línea, y muchos sitios de noticias tecnológicas comenzaron a reportar este asunto. Esto estimuló a Jonathan Shapiro a responder que la mayoría de los sistemas computacionales probados y seguros utilizan un enfoque basado en micronúcleos.

## El debate

Aunque el debate comenzó de forma relativamente moderada, con ambas partes involucradas haciendo solo declaraciones triviales acerca del diseño del kernel, se tornaría progresivamente más detallado y sofisticado con cada ronda. Además del diseño del kernel, el debate se ramificó hacia otros temas distintos, tales como qué arquitectura de microprocesador vencería a otras en el futuro. Además de Tanenbaum y Torvalds, muchas otras personas se unieron al debate, incluyendo a Peter MacDonald, un antiguo desarrollador del núcleo Linux, y creador de una de las primeras distribuciones: Softlanding Linux System. David S. Miller, uno de los desarrolladores centrales del núcleo Linux, y Theodore Ts'o, el primer desarrollador norteamericano del núcleo Linux.

## «Linux es obsoleto»

El primer acontecimiento en el debate se registró el 29 de enero de 1992, cuando Tanenbaum publicó esta crítica acerca del núcleo Linux en comp.os.minix, indicando cómo el diseño monolítico era perjudicial para sus habilidades, en una publicación titulada «Linux es obsoleto». Si bien inicialmente no se adentró en detalles técnicos para explicar por qué sentía que el diseño de microkernel era mejor, sí sugirió que estaba mayormente relacionado con la portabilidad, arguyendo que el núcleo Linux estaba estrechamente ligado a la línea de procesadores x86, para ser de uso en el futuro, ya que la arquitectura sería sustituida para ese entonces. Para poner las cosas en perspectiva, mencionó cómo escribir un kernel monolítico en 1991 era «un gran paso, de vuelta a los setentas».
Ya que esta crítica fue publicada en un grupo de noticias, Torvalds fue capaz de responder a ella directamente. Lo hizo tan solo un día después, indicando que MINIX tenía fallas de diseño intrínsecas —nombrando la falta de multithreading, como un ejemplo específico—, a la vez que reconocía encontrar el diseño de microkernel superior «desde un punto de vista teórico y estético».
También aseveró que ya que él desarrollaba el núcleo Linux en su tiempo libre, y lo brindaba gratuitamente (el MINIX de Tanenbaum no era gratuito en ese entonces), Tanenbaum no debía poner reparos a sus esfuerzos. Además, mencionó cómo desarrolló Linux especialmente para el Intel 80386, ya que estaba pensado, en parte, como un ejercicio de aprendizaje para Torvalds mismo; si bien admitió que esto hacía el kernel menos portable que MINIX, aseguró que esto era un principio de diseño aceptable, ya que hizo la interfaz de programación de aplicaciones más simple y más portable. Por tal motivo, expresó: «Linux es más portable que MINIX».
Siguiendo la respuesta de Linus, Tanenbaum argumentó que las limitaciones de MINIX tenían que ver con el hecho de que él fuese profesor, manifestando el requerimiento de que el sistema pudiese ser ejecutado en el hardware limitado del estudiante promedio, el cual observó, era una computadora basada en Intel 8088, en ocasiones incluso sin un disco duro. Linux era, en aquel momento, construido específicamente para el Intel 80386, un procesador significativamente más poderoso y costoso. Tanenbaum también declaró específicamente:
Señaló que a pesar de que Linux era gratuito, no sería una opción viable para sus estudiantes, ya que no serían capaces de pagar el costoso hardware requerido para ejecutarse, y que MINIX podía ser utilizado en una «PC 4.77 MHz convencional, sin disco duro». A esto, Kevin Brown, otro usuario del grupo Usenet, respondió que Tanenbaum no debería quejarse acerca de las ataduras de Linux a la arquitectura 386, pues esto era el resultado de una decisión consciente, en vez de una falta de conocimiento acerca de diseño de sistemas operativos, y aseguró:
También indicó que diseñar un sistema específicamente para hardware económico causaría que tuviese problemas de portabilidad en el futuro. A pesar del hecho de que MINIX no era completamente compatible con el nuevo hardware, Tanenbaum argumentó que dado que la arquitectura x86 sería superada por otros diseños de arquitecturas en el futuro, él no necesitaba abordar esta cuestión, apuntando:
Afirmó que el núcleo Linux eventualmente dejaría de ser del gusto de los usuarios, en la medida en que el hardware progresara, a causa de estar estrechamente ligado a la arquitectura 386. (Véase la sección Predicciones erróneas para un detallado reporte sobre esta afirmación).
Torvalds intentó dar fin a la discusión en este punto, expresando que sentía haber reaccionado de forma exagerada a las declaraciones iniciales de Tanenbaum, y que le escribiría un correo electrónico personal para disculparse. Sin embargo, continuaría con el debate más adelante.

## Secuelas

A pesar de este debate, Torvalds y Tanenbaum parece que continúan en buenos términos; Torvalds desea dejar en claro que no guarda negatividad contra Tanenbaum, y este último remarca que los desacuerdos acerca de cuestiones técnicas no deberían considerarse como disputas personales.

## Predicciones erróneas

Cuando este asunto y el debate completo fueron publicados en el libro de O'Reilly Media, Open Sources: Voices from the Open Source Revolution en 1999, se expresó que el debate ejemplifica «la manera en que el mundo pensaba acerca del diseño de sistemas operativos en ese entonces».
El procesador 386 era entonces el chip más común, de acuerdo al participante Kevin Brown, mientras que el 486 se utilizaba en computadoras de alta gama, y el 286 era prácticamente obsoleto, y la World Wide Web no era utilizada aún extensamente. Uno de los argumentos de Tanenbaum contra Linux fue que estaba estrechamente ligado a la línea de procesadores x86, lo que afirmó no ser «el camino a seguir». No obstante, hasta 2011, el x86 y su extensión compatible con versiones anteriores, el x86-64, se mantienen como las arquitecturas de CPU abrumadoramente dominantes en la computadoras de escritorio. Linux ha sido portado a muchos otros procesadores y arquitecturas, incluyendo ARM, AVR32, Alpha, IA-64, 680x0, MIPS, POWER/PowerPC, y SPARC.
Otro tema recurrente en el debate trata sistemas como GNU y 4.4BSD. Tanenbaum sugirió la primera en su primera publicación, asegurando que a diferencia de Linux, se trataba de un sistema «moderno». En su segunda publicación, mencionó:
Muchos participantes disintieron con que GNU fuese una alternativa adecuada. Kevin Brown lo llamó vaporware, y aseveró que Linux sin duda se beneficiaría de la arquitectura x86, la cual continuaría siendo común y se volvería más accesible para el público general. Theodore Ts'o, un antiguo contribuidor de Linux, dijo que mientras un enfoque basado en un microkernel tendría beneficios, «[…] Linux está aquí, a diferencia de GNU: y la gente ha estado trabajando en Hurd durante mucho más tiempo que el que Linus ha estado trabajando en Linux». Torvalds, consciente de los esfuerzos de GNU por crear un nuevo kernel, declaró:
4.4BSD-Lite no estaría disponible hasta dos años más tarde, debido a la demanda entre USL y BSDi, presentada por la subsidiaria de AT&T: Unix System Laboratories, en contra de Berkeley Software Design, que pertenecía a la propiedad intelectual relacionada con UNIX. La demanda retardó el desarrollo de los descendientes de software libre de BSD, durante casi dos años, mientras su estatus legal estaba en duda. Ya que Linux no tenía tal ambigüedad legal, los sistemas basados en él consiguieron más apoyo. Un acuerdo ente USL y BSDi fue alcanzado en enero de 1994, y 4.4BSD fue lanzado en junio. (Mientras que la versión final fue lanzada en 1995, muchas versiones gratuitas basadas en esta versión han sido mantenidas desde entonces, incluyendo a FreeBSD, OpenBSD y NetBSD).

## El incidente Samizdat

El 23 de marzo de 2004, Kenneth Brown, presidente de Alexis de Tocqueville Institution, entrevistó a Tanenbaum. Este fue el preámbulo a la publicación de un libro, autoría de Brown, titulado Samizdat: And Other Issues Regarding the 'Source' of Open Source Code. El libro asegura que Linux fue inicialmente copiado ilegalmente de MINIX. Tanenbaum publicó una fuerte refutación, defendiendo a Torvalds, y manifestó en aquel momento: