El código del Apollo 11 sigue vivo en GitHub y cualquiera puede estudiarlo

El software original que ayudó a llevar al ser humano a la Luna con el Apollo 11 sigue disponible en abierto y puede consultarse, descargarse e incluso compilarse hoy desde GitHub. La historia ha vuelto a circular estos días como si se tratara de una novedad reciente, pero en realidad el repositorio lleva años accesible en la plataforma y se ha convertido en una de las piezas más fascinantes del patrimonio informático de la carrera espacial.

Lo que puede encontrarse allí no es una recreación moderna ni una reinterpretación didáctica, sino la transcripción del código fuente del Apollo Guidance Computer del Apollo 11, el sistema de guiado que utilizaban tanto el módulo de mando como el módulo lunar. El repositorio principal, mantenido por Chris Garry, reúne dos grandes bloques de software: Comanche055 para el módulo de mando y Luminary099 para el módulo lunar. Ambos aparecen identificados como material de dominio público y proceden del trabajo de digitalización realizado a partir de copias conservadas en el MIT Museum, con apoyo del proyecto Virtual AGC.

Mucho más que una curiosidad histórica

La relevancia de este material va bastante más allá de la nostalgia. El acceso abierto al código del Apollo 11 permite estudiar cómo se programaba un sistema crítico de navegación en una época en la que la memoria y la potencia de cálculo eran ridículas comparadas con cualquier dispositivo actual. También ofrece una ventana excepcional a la ingeniería del software de finales de los años sesenta, a la lógica de los sistemas embebidos y a la manera en que se documentaban, comentaban y validaban programas que debían funcionar en un entorno donde el error no era una opción.

El Apollo Guidance Computer, desarrollado por el laboratorio de instrumentación del MIT, llevaba 2.048 palabras de memoria RAM, equivalentes a 3.840 bytes, y 36.864 palabras de memoria de solo lectura, equivalentes a 69.120 bytes. Su capacidad de ejecución rondaba un máximo de 85.000 instrucciones por segundo. Aun así, ese ordenador fue capaz de gestionar navegación, orientación y control en una de las misiones más complejas de la historia. El proyecto Virtual AGC recuerda además que el equipo pesaba unos 31,8 kilos y utilizaba el célebre interfaz DSKY, la consola de teclado y pantalla con la que los astronautas interactuaban con el sistema.

Ese contraste es precisamente lo que sigue asombrando hoy. En una era dominada por la IA, la nube y dispositivos con capacidades de cálculo descomunales, el software del Apollo 11 recuerda que la ingeniería no siempre depende de tener más recursos, sino de saber exprimir al máximo los disponibles. El interés actual por estos repositorios tiene mucho que ver con eso: no solo se leen como reliquias técnicas, sino como ejemplos de disciplina, claridad y eficiencia en programación.

El código del Apollo 11 sigue vivo en GitHub y cualquiera puede estudiarlo | apollo 11 command ship
El código del Apollo 11 sigue vivo en GitHub y cualquiera puede estudiarlo

Comanche y Luminary, dos cerebros para una misma misión

Una de las claves menos conocidas de la misión es que el Apollo 11 no dependía de un único software. El módulo de mando y el módulo lunar montaban ordenadores de guiado equivalentes en hardware, pero ejecutaban programas distintos porque sus funciones también lo eran. Comanche055 correspondía al software del módulo de mando, mientras que Luminary099 era el del módulo lunar que debía posarse sobre la superficie de la Luna. Esa separación ayuda a entender por qué el repositorio se divide en dos grandes conjuntos y por qué el código refleja prioridades operativas diferentes.

Dentro del repositorio pueden encontrarse archivos que hoy resultan casi legendarios entre historiadores del software. Uno de ellos es ALARM_AND_ABORT.agc, donde se reúnen rutinas relacionadas con alarmas y abortos. Otro es THE_LUNAR_LANDING.agc, que forma parte del software del módulo lunar. Leídos hoy, estos ficheros permiten ver no solo instrucciones en ensamblador, sino también comentarios, nombres de rutinas y anotaciones que ayudan a comprender cómo se organizaba internamente el sistema. No es exagerado decir que son una cápsula del tiempo del desarrollo de software de la era Apollo.

Además, el propio repositorio conserva referencias históricas muy valiosas. En la documentación derivada de CONTRACT_AND_APPROVALS.agc aparecen nombres fundamentales del programa de guiado, entre ellos Margaret H. Hamilton, identificada como líder de programación de Colossus, uno de los grandes nombres de la historia del software. Ese detalle añade otra capa de valor al proyecto: no solo preserva código, también preserva el contexto humano y técnico de quienes lo escribieron.

De GitHub al emulador

Otra razón por la que este material sigue despertando interés es que no se queda en la mera consulta. El proyecto Virtual AGC permite compilar y emular gran parte de ese software en equipos actuales. Su objetivo declarado es proporcionar tanto el código original como las herramientas necesarias para que el público pueda ejecutar, estudiar y experimentar con el comportamiento del AGC y de algunos de sus periféricos. El repositorio incluye ensambladores, simuladores y documentación histórica relacionada con varias misiones Apollo, no solo con el Apollo 11.

Eso convierte el acceso al código en algo más útil que una simple descarga arqueológica. Un estudiante de informática, un aficionado a la retroinformática o un investigador de historia del software puede explorar cómo estaba estructurado el sistema, ensamblarlo y compararlo con otros programas de vuelo de la época. En un momento en que se habla tanto de transparencia, reproducibilidad y preservación digital, el caso del Apollo 11 se ha convertido en un ejemplo muy potente de cómo recuperar software histórico y darle nueva vida sin sacarlo de su contexto original.

También conviene hacer una precisión importante. Aunque en algunos artículos recientes se presenta esta historia como si la NASA hubiera “liberado ahora” el código del Apollo 11, la cronología pública apunta a otra realidad: el material ya circulaba desde hace años dentro del ecosistema de Virtual AGC y ganó gran visibilidad en 2016, cuando Chris Garry lo subió a GitHub. Por tanto, más que una liberación de última hora, lo que se está viendo es un renovado interés por un recurso que lleva tiempo disponible y que sigue sorprendiendo a nuevas generaciones de desarrolladores.

Al final, ese es quizá el mejor resumen de la noticia: casi seis décadas después del viaje a la Luna, el software del Apollo 11 no solo sigue despertando admiración, sino que continúa siendo útil para aprender cómo se construyen sistemas críticos con recursos limitados, cómo se documenta el código que no puede fallar y por qué algunas lecciones de la buena ingeniería envejecen mejor que cualquier hardware.

Preguntas frecuentes

¿Dónde se puede ver el código original del Apollo 11?
El código está disponible en GitHub en el repositorio chrislgarry/Apollo-11, que reúne el software del módulo de mando y del módulo lunar del Apollo 11.

¿Es realmente el código original del Apollo 11?
Sí, se presenta como una transcripción del código fuente original del AGC del Apollo 11, digitalizada a partir de copias conservadas en el MIT Museum y adaptada por el proyecto Virtual AGC.

¿Se puede compilar o ejecutar hoy ese software?
Sí. El proyecto Virtual AGC ofrece herramientas para ensamblar y emular ese software en sistemas actuales, incluyendo documentación y simuladores relacionados con el AGC.

¿Cuánta memoria tenía el ordenador del Apollo 11?
El Apollo Guidance Computer contaba con 2.048 palabras de RAM, equivalentes a 3.840 bytes, y 36.864 palabras de memoria de solo lectura, equivalentes a 69.120 bytes.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×