Si estás leyendo esto, es probable que, como yo, vivas y respires en un entorno Linux. Para nosotros, el kernel no es solo software; es una filosofía. Pero para entender de verdad el "porqué" de Linux, es fundamental conocer a sus abuelos: Unix.
Cada vez que abres una terminal, cada vez que usas un pipe (|) para conectar comandos, o simplemente cuando aprecias que "todo en el sistema es un archivo", estás tocando un legado que nació décadas antes que el propio Linus Torvalds escribiera su primera línea de código.
La historia de Ken Thompson y Dennis Ritchie no es solo una anécdota; es la historia del ADN de nuestro sistema operativo. Ellos crearon los conceptos, las herramientas y la cultura de compartir que inspiró directamente la revolución del open source.
No estás leyendo solo sobre historia de la computación. Estás leyendo el capítulo cero de la historia de Linux.
¿Alguna vez te has detenido a pensar en los cimientos del mundo digital que habitamos? Cada vez que usas tu Mac, tu teléfono Android o te conectas a un servidor de Internet con Linux, estás interactuando con el legado de un sistema nacido no de un gran plan corporativo, sino de las cenizas de un proyecto fallido y la pasión de un programador por un simple videojuego.
Esta es la historia de Ken Thompson, el arquitecto reacio que, junto a su colega Dennis Ritchie, nos dio Unix.
El Fracaso del "Sistema Operativo Ideal"
Nuestra historia comienza a finales de la década de 1960 en los legendarios Bell Labs. En ese momento, el mundo de la informática estaba en plena efervescencia. Bell Labs, junto con el MIT y General Electric, se embarcaron en un proyecto colosal llamado Multics.
El objetivo era crear el sistema operativo definitivo: un sistema de "tiempo compartido" ideal, multiusuario y multitarea. Ken Thompson y Dennis Ritchie fueron asignados al proyecto.
Sin embargo, Multics se convirtió en una lección de complejidad. Como suele ocurrir con los proyectos que intentan serlo todo para todos, se volvió demasiado grande, demasiado lento y demasiado complicado. En 1969, Bell Labs, frustrado por la falta de progreso, se retiró del proyecto.
El Juego que No Podía Morir
Para Ken Thompson, abandonar Multics significaba algo más que un fracaso profesional. En su tiempo libre, había desarrollado un juego de simulación espacial llamado "Space Travel" (Viaje Espacial) que corría en el sistema Multics. Y ahora, no tenía dónde ejecutarlo.
Decidido a salvar su juego, Thompson encontró una vieja computadora PDP-7 en el laboratorio que nadie usaba. Se dedicó a "portar" (transferir) su juego a esta máquina. Pero para que el juego funcionara, necesitaba elementos básicos de un sistema operativo: un sistema de archivos, un gestor de procesos, una interfaz de línea de comandos...
Semana tras semana, junto con Ritchie, Thompson no solo hizo funcionar su juego, sino que, casi sin darse cuenta, construyó las bases de un sistema operativo completamente nuevo. Era más simple, más elegante y más eficiente que el monstruo en el que se había convertido Multics.
Lo llamaron Unix, un juego de palabras que hacía un guiño a su predecesor fallido (Multics era multi, Unix era uni).
El Dúo Dinámico: Unix y el Lenguaje C
Unix era brillante, pero tenía un problema: estaba escrito en lenguaje ensamblador, un código de bajo nivel difícil de entender y atado al hardware específico de la PDP-7.
Aquí es donde entra Dennis Ritchie con un golpe maestro. Para hacer que Unix fuera legible y, lo más importante, portable (capaz de ejecutarse en diferentes máquinas), creó un nuevo lenguaje de programación: el lenguaje C.
Ritchie reescribió el núcleo de Unix en C. Esta simbiosis fue la clave de su éxito:
- Unix proporcionó un entorno elegante para el desarrollo.
- C proporcionó el lenguaje para construirlo y moverlo a cualquier lugar.
El Regalo que Creó Internet y el Código Abierto
Lo que sucedió después cambió el mundo. Thompson y Ritchie tenían una mentalidad abierta, más académica que corporativa. Bell Labs (en ese momento restringido por regulaciones antimonopolio) compartió el código fuente de Unix con universidades, incluida la Universidad de California, Berkeley.
Fue en Berkeley donde los estudiantes y profesores tomaron ese Unix y le añadieron algo crucial: el conjunto de protocolos TCP/IP.
Esa versión de Unix habilitada para redes se convirtió en la columna vertebral de la incipiente Internet.
La decisión de Thompson y Ritchie de compartir su trabajo libremente sentó las bases filosóficas de lo que hoy conocemos como el movimiento "open source" (código abierto). Linux, macOS, iOS, Android, y la gran mayoría de los servidores web del mundo... todos son descendientes directos o están fuertemente inspirados en el Unix nacido de aquel videojuego.
La Sabiduría de un Pionero: Investigación vs. Desarrollo
Por sus contribuciones, Ken Thompson y Dennis Ritchie recibieron el Premio Turing (el "Nobel" de la informática) en 1983 y la Medalla Nacional de Tecnología en 1998. Hoy, Ken Thompson trabaja en Google, donde incluso ayudó a crear otro lenguaje, Go.
Pero quizás la lección más importante de Thompson no es un código, sino una filosofía. Él distingue claramente entre dos conceptos:
"La investigación y el desarrollo son dos cosas diferentes. El desarrollo tiene objetivos claros, pero la investigación no tiene objetivos, porque es el acto de descubrir algo nuevo... Si eres un investigador, necesitas continuar disfrutando de la investigación que tienes entre manos."
Unix, según sus propias palabras, no fue un producto del "desarrollo". No había un objetivo de mercado. "Unix", dijo Thompson, "fue el resultado de la investigación de cosas nuevas en las que simplemente estábamos interesados. Tuvimos mucha suerte de que resultara ser muy fructífero".
Así que la próxima vez que uses tu smartphone, recuerda la historia de Ken Thompson: a veces, las innovaciones que cambian el mundo no provienen de planes estratégicos, sino de la simple y pura curiosidad de alguien que solo intenta salvar su videojuego.
Fuente de inspiración: http://www.youtube.com/watch?v=Qu8g5NTN9iI