1 puntos por GN⁺ 2025-03-03 | 1 comentarios | Compartir por WhatsApp
  • En 1988, Lars Wirzenius y Linus Torvalds se conocieron en la Universidad de Helsinki y, al descubrir juntos servidores Unix y Usenet, marcaron el punto de partida de la exploración de sistemas operativos que llevaría a Linux
  • En 1991, después de que Linus comprara una PC 386 y MINIX, sus experimentos de multitarea comenzaron con un pequeño programa que alternaba A y B en pantalla y terminaron expandiéndose hasta convertirse en el kernel de Linux
  • El kernel inicial fue sumando controladores de teclado y puerto serie, emulación VT100, acceso por módem, permisos de archivos y memoria virtual, acercándose a un sistema operativo realmente utilizable
  • La publicación en comp.os.minix en 1991, la subida a ftp.funet.fi, la adopción de la GNU GPL en 1992, el port de X11, la aparición de SLS y el lanzamiento de Linux 1.0 en 1994 marcaron puntos de inflexión en su expansión inicial
  • A diferencia de la frase de 1991 de que “no sería grande ni profesional”, en 2023 Linux amplió su alcance de ejecución a miles de millones de dispositivos, todos los continentes y océanos, la órbita y Marte

El vínculo que comenzó en Helsinki y la experiencia con Unix

  • Lars Wirzenius ingresó en otoño de 1988 a la carrera de informática de la University of Helsinki, y ese mismo año conoció a Linus Torvalds, que era un estudiante de primer ingreso de habla sueca
  • Después de obtener acceso a un servidor Unix al final del primer año, descubrió por accidente un lector de Usenet al escribir rm como rn
  • Cuando Wirzenius le mostró Usenet a Linus, ambos pasaron mucho tiempo explorándolo
  • En otoño de 1990, tras volver del servicio militar, ambos retomaron sus estudios y cursaron materias de programación en C y Unix, además de aprender teoría sobre la estructura del kernel de Unix
  • En ese proceso leyeron kernels de sistemas operativos como QNX y Plan 9, y discutieron sobre diseño de sistemas operativos

La PC 386 y los primeros experimentos con el kernel

  • En enero de 1991, Linus compró una PC armada por partes
    • El CPU era un 386, relativamente avanzado para la época
    • Tenía 4 MB de RAM
    • Incluía disco duro
  • Para explorar la multitarea necesitaba un 386, y como antes había usado un Sinclair QL con un CPU Motorola 68008 de 32 bits, no eligió un 286 de 16 bits
  • Durante los primeros meses dedicó mucho tiempo al juego Prince of Persia, y después compró MINIX para tener en casa un entorno parecido a Unix
  • Tras terminar el juego, empezó a aprender lenguaje ensamblador de Intel, y un día mostró un programa de multitarea en el que una tarea imprimía A y otra imprimía B en pantalla
  • Ese pequeño programa se convirtió más adelante en la primera versión de lo que sería conocido como el kernel de Linux

Funciones del kernel inicial y cambio de nombre

  • A medida que Linus ampliaba el programa, empezó a escribir la mayor parte en C
  • A fines de la primavera de 1991, Wirzenius escribió para Linus una implementación en C de sprintf()
    • Porque Linus todavía no había aprendido a escribir funciones que usaran listas de argumentos variables
    • La parte central de ese código sigue presente en el actual snprintf() del kernel
  • Con el tiempo, el kernel inicial fue incorporando funciones necesarias para el uso real
    • Controlador de teclado
    • Controlador de puerto serie
    • Emulación de secuencias de escape de terminal VT100 para pantalla
    • Función para llamar por módem a la universidad y leer Usenet desde casa
  • Cuando Linus intentó por error llamar a la universidad usando el disco duro, el sector maestro de arranque quedó empezando con ATDT y el número del pool de módems de la universidad
  • Después de ese incidente, se implementaron en el kernel los permisos de archivos

Publicación y adopción de la GPL

  • En agosto de 1991, Linus mencionó públicamente por primera vez su nuevo kernel en el grupo de noticias comp.os.minix
    • El texto de entonces incluía expresiones como “estoy haciendo un sistema operativo free”, “solo es un hobby” y “no será grande ni profesional como gnu”
  • El nombre inicial del sistema era Freax
  • Unas semanas después, Linus pidió a Ari Lemmke, uno de los administradores de ftp.funet.fi, que subiera el primer archivo tar, y Ari eligió el nombre Linux
  • El nombre original sigue apareciendo en un archivo fuente de las primeras versiones
  • A medida que la gente quiso probar el nuevo sistema, hicieron falta métodos e instrucciones de instalación
    • Linus solo tenía una PC y había desarrollado Linux sobre su propia instalación de Minix, así que no tenía experiencia real instalándolo
    • La PC de Wirzenius se convirtió en la primera PC en la que se instaló Linux
  • La licencia de las primeras versiones de Linux prohibía el uso comercial
  • Algunos de los primeros contribuidores propusieron cambiarla por una licencia de software libre
  • En otoño de 1991, Richard Stallman visitó Finlandia, y Wirzenius llevó a Linus a una conferencia de Stallman
  • La presión de los contribuidores, la charla de Stallman y la insistencia de Wirzenius se combinaron para que Linus eligiera la GNU GPL a comienzos de 1992
  • Durante las vacaciones de Navidad, Linus implementó memoria virtual en Linux, lo que hizo que Linux fuera mucho más práctico incluso en máquinas baratas con poca memoria

1992: debate, escritorio y distribuciones

  • 1992 comenzó con el famoso debate con Andrew Tanenbaum
    • Tanenbaum era el autor de MINIX y profesor universitario, y dio su opinión sobre Linux y su arquitectura
    • Linus también dio su opinión sobre MINIX
    • El debate fue llamado una flame war, pero visto en retrospectiva fue bastante cortés
  • El hecho más importante para el futuro éxito de Linux fue el port de X11 a Linux, y 1992 se convirtió en el año del escritorio Linux
  • Wirzenius decidió contribuir más del lado de la comunidad que del kernel, ayudando a responder preguntas y redactar documentación
  • También creó un boletín de Linux de corta duración, que publicó la primera entrevista a Linus
  • Ese boletín fue reemplazado en la práctica por el grupo de noticias comp.os.linux.announce
  • En 1992 apareció la primera distribución de Linux, Softlanding Linux System, o SLS
  • Al año siguiente, SLS dio origen a Slackware, y Slackware influyó en que Ian Murdock iniciara Debian en 1993
  • Debian se inició para explorar una estructura de desarrollo más basada en la comunidad

Oficina en la universidad, redes y ports

  • En 1993, Linus y Wirzenius fueron contratados como asistentes universitarios y compartieron oficina
  • En la oficina había una PC, y Linus la usaba para desarrollar Linux
  • Un día, Linus sintió que la PC era lenta y reescribió el parser de línea de comandos del kernel de Linux en lenguaje ensamblador para ganar velocidad
    • Más adelante ese trabajo se volvió a escribir en C por motivos de portabilidad
    • La velocidad del parser no era importante
  • Años después, Linus pasó varios días jugando Quake, con el propósito nominal de hacer pruebas de estrés de la gestión de memoria del kernel
  • En algún momento, Linux pasó a soportar Ethernet y TCP/IP
    • Gracias a eso ya se podía leer Usenet sin módem
  • El código inicial de redes de Linux se escribió desde cero y tenía partes ásperas
  • En una ocasión, Linux envió paquetes defectuosos y dejó fuera de servicio a todas las máquinas Sun de la red; como era difícil corregir el kernel de Sun, se prohibió usar Linux en la red de la universidad hasta que se arreglara el bug de Linux

Linux 1.0 y la expansión posterior

  • En la primavera de 1994, Linux ya se sentía terminado y se decidió lanzar la versión 1.0
  • En ese momento Linux podía compilarse a sí mismo, leer Usenet y ejecutar varias instancias del programa xeyes al mismo tiempo
  • Se realizó un evento de lanzamiento, al que asistieron medios informáticos finlandeses y un equipo de grabación de TV
  • Gran parte del evento consistió en que Linus y otras personas hablaban de qué era Linux y para qué servía, mientras Linux compilaba deliberadamente Linux 1.0 en segundo plano
  • Linus dijo que los Unix comerciales para PC eran demasiado caros, así que escribir uno por su cuenta había sido más fácil
  • En 1995, Linus y Wirzenius cursaron una materia universitaria de ingeniería de software e hicieron un gran proyecto práctico sobre Linux
  • Wirzenius exigió usar CVS
    • Porque había visto a estudiantes anteriores hacer control de versiones en un árbol de código fuente compartido por NFS gritándose “estoy editando este archivo”
    • Esa experiencia hizo que Linus llegara a odiar CVS, y durante varios años rechazó cualquier control de versiones que fuera más allá de subir tarballs a sitios FTP
  • Ese mismo año, Linus recibió una máquina DEC Alpha e hizo el primer port de Linux a una nueva arquitectura
  • Otras personas también portaron Linux a otras arquitecturas
  • En 1997, después de graduarse, Linus se mudó a Estados Unidos y entró a trabajar en Transmeta

De “hobby” a sistema global

  • Después de eso, Linux todavía tenía funciones faltantes, y la gente siguió desarrollándolo
  • Se acuñó el término “open source”, e IBM invirtió mucho dinero en el desarrollo de Linux
  • Netscape liberó como open source una versión de su navegador web
  • LWN ha cubierto buena parte de esta historia semana a semana desde sus inicios
  • En 1991, Linus escribió que Linux “no sería grande ni profesional como gnu”, pero en 2023 Linux ya corre en todos los continentes y todos los océanos, en miles de millones de dispositivos, en órbita y en Marte

1 comentarios

 
GN⁺ 2025-03-03
Opiniones de Hacker News
  • Qué interesante. Empecé a usarlo en 1992, desde Linux 0.98
    Eso de ir marcando números telefónicos para conectarme por módem a varios BBS me hacía sentir como el protagonista de "WarGames"
    Todavía recuerdo el día en que usé ppp por primera vez para conectarme a Internet de verdad. Después de varios intentos fallidos, mandé un ping a www.linux.org, y cuando se resolvió el nombre de host y llegó la respuesta, me quedé un buen rato sin palabras y lo único que pude decir fue “wow”

    • Mi primera conexión a Internet fue usando slirp desde una cuenta shell. slirp era un emulador de CSLIP que corría en espacio de usuario en una máquina shell remota
      En esa época las máquinas shell multiusuario eran bastante comunes, y algunos de los primeros ISP ofrecían acceso a Internet de esa forma
      El proveedor que usaba se llamaba Internet Access Cincinnati, y le daba a cada usuario una shell en una Sun Sparc 10 con SunOS (antes de Solaris). También nos daban correo POP y una carpeta home ~username accesible desde la web
  • Es curioso que Linux se haya convertido en lo único estable y confiable en este mundo. Sabes que, si lo enciendes, con el tiempo va a mejorar sin malas intenciones

    • Hoy en día eso importa muchísimo. La mayoría de las tecnologías nuevas o sistemas operativos parecen tener alguna agenda, como “empujarme” a comprar un iPhone o suscribirme a Office
      En ese sentido, Linux es un respiro. Una tostadora solo tiene que tostar pan. No quiero que también me diga qué pan debo comprar
    • Recuerdo que a mediados y fines de los 90 había que investigar mucho antes de comprar una computadora de escritorio o hardware. Cosas como si tal tarjeta de red sería compatible, o si tal tarjeta gráfica funcionaría con X11
      Quizá era el trauma y la paranoia causados por los WinModem, que en ese entonces parecían condenados a no funcionar jamás
      Pero hacia principios de los 2000, el mundo pareció cambiar a uno en el que dabas por hecho que Linux soportaría el hardware nuevo, ya fuera una unidad Zip usada o una webcam
      Incluso hoy compro motherboards al azar o gadgets de hardware sin miedo, suponiendo que por lo general van a funcionar. Hasta ahora he tenido suerte, pero esto se debe en gran parte a los desarrolladores de drivers
      Personas como quien envía un único pull request al kernel solo para agregar un número mágico que permite reconocer cierto tipo de tarjeta SD terminan aportando un gran beneficio para todos
    • Cualquier pozo puede contaminarse. Linux depende de los valores y la capacidad de la gente, y no hay garantía de que ninguno de los dos se mantenga fuerte con el tiempo
      Es parecido a cómo el desarrollo de la sociedad civil, la economía y la diplomacia de la posguerra fue una excepción en la historia humana
      Es peligroso asumir que la realidad actual seguirá para siempre sin protección ni esfuerzos constantes de mantenimiento
    • Me preocupa que esto se deba a la influencia personal de Linus. Todavía hay ocasiones en las que Linus tiene que intervenir para poner orden
      Es difícil estar seguro de que la trayectoria de mejora continuará después de que se retire
    • Al ser open source y tener tantos usuarios grandes con abundantes recursos, se da una combinación adecuada en la que a todos les conviene mejorarlo
      En este caso particular, parece que la tragedia de los comunes funciona al revés
      Habría que estudiar estas dinámicas socioeconómicas y la teoría de juegos para intentar reproducirlas. Alguien debería escribir una tesis doctoral de teoría de juegos sobre cómo Linux implementa algo que “no es una tragedia de los comunes”
  • Soy tan joven que nunca viví un mundo sin Linux, pero a la vez estoy lo bastante cerca de su nacimiento como para que sea raro pensar que muchas de las personas involucradas siguen vivas
    La mayor parte de mi vida profesional giró de alguna forma alrededor de Linux, y lo mismo mi vida entera desde más o menos los 12 años. Es bastante asombroso pensar en el impacto que tuvo en mi vida

    • Siento algo parecido con todo el campo de la informática. Es extraño que muchos de sus fundadores hayan estado vivos durante una parte considerable de mi vida
      Claude Shannon 2001, Edsger Dijkstra 2012, John McCarthy 2011, Niklaus Wirth 2024, Konrad Zuse 1995, Alonzo Church 1995, Jim Gray 2007/2012, Grace Hopper 1992
      Alan Turing también podría haber estado vivo durante mi vida si no lo hubieran asesinado
      Friedrich L. Baur, que murió en 2015, todavía tenía una oficina en la universidad a la que asistía; pasaba seguido por delante, veía su placa con el nombre y me preguntaba si eso era real
      Por suerte, Donald Knuth sigue entre nosotros
    • También está el anuncio clásico "Linux is a 10 year old boy"
      https://www.youtube.com/watch?v=x7ozaFbqg00
    • Entiendo a qué te refieres. También cuesta imaginar un mundo sin iPhone
  • Eso de “más importante aún, con el port de X11 a Linux, 1992 se convirtió en el año del escritorio Linux” significa que por fin quedó confirmado el año del escritorio Linux :)
    Buen artículo

  • Recuerdo bien los primeros días de Linux. A mediados de los 90 había bastante interés en la University of Waterloo, pero también se hablaba mucho de problemas de instalación o de hacerlo correr de forma estable en sistemas específicos
    Aunque eso no era raro para cualquier sistema operativo de la época, eran tiempos en los que había que compilar el kernel uno mismo y pelearse con XFree86
    Distribuciones como Red Hat redujeron mucho esas preocupaciones en poco tiempo y, en general, hicieron todo bastante más fácil. La documentación también era excelente
    A fines de los 90, Red Hat se volvió tan común en la universidad como Solaris, AIX e IRIX, aunque la mayoría todavía lo consideraba inferior a Solaris. Hoy RHEL es el principal sistema *nix que se usa allí, y algunos usan Debian

    • Gracias al XF86Config modeline HOWTO aprendí cómo funciona un controlador CRT
    • Hace poco instalé Solaris en una máquina virtual, y apenas vi el instalador me volvió con claridad el recuerdo de instaladores derivados de Red Hat que ni siquiera sabía que recordaba
      En ese entonces no tenía edad suficiente para haber estado involucrado con Unix comercial, pero, mirando en retrospectiva, parece que Red Hat sabía muy bien a quién estaba apuntando
    • También parece coincidir con la tendencia de las grandes universidades de la época. Recuerdo cuando Alpha estaba quedando discontinuado; al volver a instalar Red Hat allí, Linux ganó más fuerza como sistema de uso diario para los investigadores
  • Lo que aprendí hoy: Linus es un finlandés que habla sueco, y ese grupo existe de verdad
    Este sonido me sigue dando vueltas en la cabeza desde 1994
    [https://en.wikipedia.org/wiki/File:Linus-linux.ogg](https://en.wikipedia.org/wiki/File:Linus-linux.ogg)

    • Sí, pertenece a la minoría suecoparlante de Finlandia. Pensé que todos en HN lo sabían
    • Wow, parece que después su pronunciación en inglés cambió bastante
    • Material clásico. Yo también lo estaba buscando. Recuerdo que en aquel entonces había un archivo llamado linus.au en un sitio FTP
      Como .ogg todavía no existía en esa época, probablemente era el original, y también había una versión que no estaba en inglés (¿en finés?)
      Me alegra que de alguna forma haya sobrevivido
  • Un libro para leer junto con esto: Just for Fun
    https://www.amazon.com/Just-Fun-Story-Accidental-Revolutiona...

    • Lo leí hace unos 10 años. Se lee rápido, pero lo recomiendo muchísimo
  • Durante la mayor parte de mi vida, logros técnicos como este parecían obra de genios inalcanzables
    Pero al leer esta historia, también queda muy claro el valor de las amistades de largo plazo que sostienen la exploración mutua, y de la estabilidad financiera y social

    • Mal ejemplo. Linus es un genio
  • Cuando pienso en los primeros días de Linux, a menudo me vienen a la mente sus competidores. El texto dice algo como “los Unix comerciales eran tan caros que era más fácil hacer uno propio”, y en general es cierto
    Pero también existía Coherent Unix. Recuerdo que se vendía por 99 dólares en anuncios de página completa en la contratapa de revistas de la época. Siempre dudaba si comprarlo o no
    Una de las grandes desventajas de Coherent era que no tenía redes. Luego apareció Linux y, en un tiempo sorprendentemente corto, Linux superó a Coherent, que pareció desaparecer de la noche a la mañana
    https://en.wikipedia.org/wiki/Coherent_(operating_system)

    • Si lees una reseña de diciembre de 1990[1], no parece tan impresionante
      Dice que “Coherent se mantiene fiel a las raíces de Unix y evita las redes de área local, las interfaces gráficas de usuario, los menús, el mouse y muchas de las comodidades que hoy los usuarios de DOS y Unix esperan del software moderno”
      Luego agrega que “el camino para aprender Unix con Coherent será accidentado” y que “tampoco es realista automatizar una pequeña empresa con Coherent”
      Coherent era de código cerrado, así que no podías tomar un sistema incompleto y participar en mejorarlo como con Linux. Lo que atrajo a la gente al Linux temprano no fue que Linux fuera excelente en ese momento, sino que a la gente le gustaba hacer ese tipo de trabajo
      99 dólares equivalen a unos 230 dólares de hoy. Sé que antes el software en general era más caro, pero 230 dólares por un sistema operativo que era apenas un esqueleto para usar como juguete solo era “barato” comparado con los precios de Enterprise Unix™®
      [1]: https://books.google.ie/books?id=JZxkO0PpksUC&pg=PT61&redir_...
    • Yo fui cliente de Coherent y era bastante bueno. Con kermit llamaba al sistema Sun de mi trabajo y hacía que desde allá me devolvieran la llamada para evitar los cargos telefónicos
      Así conseguía acceso a USENET y a Internet en general. Eran tiempos divertidos. Fue una lástima que la empresa cerrara, pero, sinceramente, para alrededor de 1995 la dirección ya estaba bastante clara
      Después de que cerró, me pasé a Slackware, y todavía lo uso. En esa época Linux cambiaba casi todos los días
      Coherent tenía una función que Linux no podía hacer: pregunté en USENET y en pocos días alguien me dio un parche. Era un parche que permitía usar dos monitores en un 386sx con una tarjeta monocromática y una tarjeta VGA, igual que hacía Coherent
      Antes de que las empresas Fortune 500 se metieran en los 2000, la gente era mucho más accesible
    • Los BSD también estaban apareciendo casi al mismo tiempo, en particular 386BSD[1]. Es famosa la frase de Linus de que probablemente no habría creado Linux si eso hubiera estado disponible al principio[2]
      La primera versión de 386BSD fue en 1992, así que aquí hablamos de una ventana corta de alrededor de 1 o 2 años. Por supuesto, FreeBSD y NetBSD también se separaron de ahí poco después
      [1] https://en.wikipedia.org/wiki/386BSD
      [2] https://www.antman.se/abc-klubben/linux/linuxdoc/linus.html
    • Desde 1987 corría 386/ix[1] en una PC i386, y a fines de 1992 me pasé a 386BSD 0.1; para alrededor de 1993, a FreeBSD
      [1] https://en.wikipedia.org/wiki/Interactive_Systems_Corporatio...
    • Recuerdo haber instalado FreeBSD en 1994. Para alguien de 13 años, ver aparecer un entorno tipo Unix en mi computadora con startx era realmente genial
      Sentía que FreeBSD era mejor que Linux, pero, como en muchos otros casos, la disponibilidad de apps terminó decidiendo la partida
  • Hay un excelente documental sobre Linux de 2003. Se llama Revolution OS y lo recomiendo mucho
    https://www.youtube.com/watch?v=k0RYQVkQmWU

    • Fue el mejor documental sobre Linux y GNU que he visto