En el mundo de los sistemas operativos
GNU Hurd es un sueño que a pocos ha fascinado y debería ser un ideario, ya que hace equitativa la informática. Este es el sueño de Richard Stallman como parte del Proyecto GNU. Hurd sería el reemplazo real de Unix, separándose de sus clones que se replicaban igual que los Gremlins. Sin embargo, su historia está marcada por intentos fallidos y problemas técnicos. Como decía el padre de Tony Stark: "Me limita la tecnología de mi tiempo, pero un día tú lo descubrirás y, cuando lo hagas, cambiarás el mundo". Stallman lo intentó, pero el camino no fue fácil.
¿Qué es el GNU Hurd?
GNU Hurd es un conjunto de servidores de microkernel independientes que administran cada parte de la máquina: desde el consumo de memoria, la red, hasta el manejo de los USB. Todo esto está escrito como parte de GNU Mach, creando un ambiente en donde los riesgos de tocar algo y romperlo se minimizan al máximo. ¿Por qué? Porque todos en conjunto son el sistema, pero ninguno depende del otro para funcionar. Aquí hay algo curioso: la palabra "Hurd" es un acrónimo de Hird of Unix-Replacing Daemons (en español: «Hird» de demonios que reemplazan a Unix). Pero también se puede usar el término "Hird", que significa Hurd of Interfaces Representing Depth («Hurd» de interfaces que representan profundidad). Ambos términos, en inglés, suenan similar a "herd" (manada), lo que le da un toque simpático al nombre, como si fuera una "Manada de Ñus". Y sí, ambos proyectos se concibieron juntos, no separados.
El sueño revolucionario de los 80
Aunque el equipo de Mach tuvo problemas y le hacían el quite a este proyecto, Hurd fue pensado desde los años 80 como una idea revolucionaria. Hoy, algo similar se usa en sistemas tipo Unix que se ejecutan sobre el micronúcleo Mach, como OSF/1, NEXTSTEP, Mac OS X, Lites y MkLinux. Distribuciones como Debian, Arch y NixOS también se acercan, aunque su concepción fue muy distinta a lo que Stallman buscaba. Él quería un corazón no convencional y modular, algo que superara a Unix en muchos aspectos. Pero, en los 80, la sola mención de microkernel hacía reír o poner los pelos de punta a desarrolladores y compañías. Era una época donde todo era complejo, con ensamblador y COBOL como lenguajes de uso común. Por eso, Hurd no fue bien recibido ni comprendido en su momento.
El ñu sin su manada
Para que existiera Hurd, primero tenía que nacer GNU. Así que el proyecto Hurd no avanzó mucho, y encima le tenían miedo. Al final, GNU fue más importante. En ese entonces, no había un Linus Torvalds que desarrollara un reemplazo de Unix, y Hurd quedó como la fantasía loca del líder de la FSF. Cuando finalmente se materializó a principios de los 90, sus primeras versiones no fueron alentadoras: los servicios se sentían lentos. Y la civilización humana, hasta la fecha, no busca estabilidad o modularidad, sino rapidez, rapidez y más rapidez. Eso hizo que Hurd fuera menos atractivo visualmente.
Pero en Helsinki, Linus Torvalds solo quería jugar videojuegos y terminó creando algo fuera de Unix: Linux. Lo que empezó como una entretención de un niño se convirtió en la solución para portar GNU. Aunque Linux era monolítico, era más cercano a lo que se quería proponer desde los 80. Así nació GNU/Linux, y el equipo que desarrollaba las herramientas de GNU finalmente vio sus trabajos en funcionamiento.
Hurd en los 90 y más allá
En los 90, Hurd siguió avanzando sin tantas presiones, con el objetivo de separarse de Linux en unos años. Lento pero seguro, salieron versiones mejoradas, aunque seguían siendo lentas. Para 2002, se esperaba la versión final, pero nunca llegó. Aun así, hubo avances importantes que sentaron las bases para hablar seriamente del microkernel. Sin embargo, la comunidad no lo apreció mucho, y Hurd quedó como un comentario curioso en ferias de software libre. Incluso hay un video en YouTube, en el canal de “codeswarm”, que muestra el progreso de Hurd desde 1991 hasta 2010. Cerca de 2010, hubo un apogeo enorme, como si el proyecto se resistiera a morir. Y sí, rindió frutos: hoy hay distribuciones que usan Hurd, en mayor o menor medida.
¿Por qué Hurd importa?
Hurd creció junto con Mach, y en teoría, debería funcionar rápido y seguro. Pero en la práctica, no es así. Las arquitecturas y la electrónica de muchos equipos están diseñadas para kernels monolíticos, lo que colapsa las funcionalidades de Hurd. No es que el código esté mal implementado, sino que la lógica de los sistemas actuales no está hecha para microkernels. El único equipo que se acercó a un funcionamiento decente de Hurd fue el Lemote Yeelong con libreboot, pero era un equipo único en su tiempo. Si ya hay problemas con Nvidia o AMD sin Hurd ("Me encanta cómo Linus se convirtió en meme durante esa conferencia donde les mandó un lindo dedo a Nvidia"), es fácil entender por qué Hurd no despegó.
Yo personalmente lo vi funcionar de manera ligera en un Lemote Yeelong... De hecho, fue el de Stallman en una FLISOL aquí en Santiago de Chile, creo que fue por allá en el 2007. La personalización de Hurd es impresionante: similar a WordPress o otros CMS que usan plugins, Hurd permite crear sistemas únicos, desde un terminal tonto hasta un servidor para Minecraft o un centro de datos. Las distros serían irrelevantes, porque las funcionalidades las das tú, sin necesidad de que vengan preinstaladas. Este concepto ya se usó en proyectos, pero de manera física, como Fonobloques, donde armabas tu propio celular. Sería el mismo estándar modular, pero en sistemas operativos.
El que el proyecto siga en pie da indicios de que aún es relevante. De hecho, hace muy poco pasó de estar disponible solo en arquitectura i386 a la de 64 bits (aun cuando debiese ser usada en equipos virtuales), lo que significa que años de desarrollo están teniendo repercusiones. Lástima que demoró tanto (desde los 80s, como había mencionado), pero no hay plazo que no se cumpla, ni deuda que no se pague, siendo este el mejor ejemplo. Además, la promesa de ser algo distinto a Unix está todavía vigente. De hecho, uno nunca debe pensar que, porque algo demore, significa que va a desaparecer. Distros como KolibriOS son el ejemplo de esto: ¿quién se iba a imaginar un sistema operativo escrito en ensamblador? Bueno, ¿y por qué no pasaría lo mismo con Hurd?
Top comments (0)