===========================
|| El debate Tanenbaum-Torvalds ||
===========================
Tanenbaum, o AST, es un nombre que a algunos baisanos les va a sonar. Ahora, MINIX es un término que a la mayoría sí les va a sonar.
AST es uno de los mayores hackers de la historia: como autor escribió algunos de los libros más importantes de la informática, como "Operating Systems" (o el famoso "libro de los dinosaurios") o "Structured Computer Organization" (el mejor libro para entender cómo funciona un computador y para conocer la historia de la computación en mi opinión). Como profesor, AST tiene el honor de haber sido el mentor de muchos doctorados en informática: Kaashoek, precursor de CISCO, van Doorn, uno de los principales ingenieros de Microsoft, y como no: Linus Torvalds. Como ingeniero, AST desarrolló MINIX en 1987, como una implementación moderna de Unix, programada en sus ratos libres como hobby. MINIX es una versión de Unix con un minikernel en vez de un kernel monolítico. MINIX fue distribuido gratuitamente a los alumnos de Tanenbaum para que estudiaran la estructura del sistema operativo en una época en donde no existían sistemas operativos gratuitos (BSD y GNU aún estaba en desarrollo), y en una época donde los sistemas operativos de pago estaban diseñados específicamente para una limitada gama de procesadores, lo que los hacía inaccesibles para muchos alumnos.
En 1989, AST cambió la licencia de MINIX para que fuese Software Libre. Linus Torvalds estudió el código de MINIX para desarrollar Linux en 1992. Si no fuera por MINIX, Linux no existiría, o cuando menos, no tendría la calidad que tiene: esto es un hecho objetivo. Linux es frecuentemente descrito como un kernel monolítico, sin embargo, se trata más bien de un kernel híbrido ya que implementó algunos elementos del minikernel MINIX en la forma de "servers" que distribuían el manejo de recursos (este paradigma sigue presente en la forma de módulos).
Cuando Linux fue lanzado en 1992, en primera instancia de forma privativa al igual que MINIX, sólo una pequeña porción de ingenieros de la época llegaron a echarle un vistazo. Uno de ellos fue Tanenbaum, quien en el mailing list de MINIX (al que Torvalds tenía acceso) escribió una reseña llamada "Linux es un kernel obsoleto". En su mensaje explicó por qué Linux le parecía un kernel obsoleto, argumentando que Linux sufría de poca portabilidad, lo que era crítico ya que Linux, a diferencia de MINIX, estaba orientado a procesadores de alto costo, y que los microkernels eran una manera más moderna de abarcar las tareas de un kernel, y como Linux usaba una estructura monolítica en esencia, le parecía que eso era como dar un paso atrás. Pueden leer el mensaje de Tanenbaum acá:
https://ghostbin.com/paste/zxgso.
El mensaje provocó algunas respuestas desencadenando así un debate. Un par de horas más tarde, Torvalds respondió de manera muy hostil al mensaje de Tanenbaum, a diferencia de todos los mensajes anteriores. AST mantuvo la compostura y siguió argumentando sobre el kernel en sí y no sobre Linus como persona, lo que llevó a que algunos participantes del debate mensajearan a Torvalds explicándole que lo que hizo estuvo mal. Al día siguiente, Torvalds publicó una disculpa pública y le escribió un correo a AST disculpándose por su actitud. Pueden leer la respuesta, y la disculpa subsecuente de Torvalds acá:
https://ghostbin.com/paste/zskry.
Si bien Torvalds le ganó algunos puntos a AST, es muy evidente que en muchas partes Torvalds estaba respondiendo por responder o rebuscando argumentos para contradecir a AST en vez de admitir un error, recurriendo incluso a ad-hominems, mientras que AST en ningún momento se refirió a Linus como persona. Este sería el primero de muchos, muchos flamewars que Torvalds protagonizaría en el futuro.