Apollo 11 source code is now public domain—here’s why that matters

Craig Nash
By
Craig Nash
AI-powered tech writer covering artificial intelligence, chips, and computing.
8 Min Read
Apollo 11 source code is now public domain—here's why that matters — AI-generated illustration

Apollo 11 source code—the exact assembly language that guided humanity to the Moon in 1969—is now freely available as public domain resources on GitHub, letting engineers, students, and historians examine the compact, elegant software that solved one of computing’s greatest challenges.

Key Takeaways

  • Apollo 11 source code for Command Module (Comanche055) and Lunar Module (Luminary099) is public domain on GitHub
  • Original code assembled in April 1969 for CM and July 1969 for LM by NASA
  • Two primary GitHub repos host the digitized source: philspil66/Apollo-11 and chrislgarry/Apollo-11
  • Code written entirely in assembly language for the Apollo Guidance Computer (AGC)
  • Digitized by Virtual AGC team and MIT Museum from original hardware and documentation

Why Apollo 11 source code matters now

The public release of Apollo 11 source code transforms a historical artifact into a living resource. For decades, this software existed primarily in archives and academic collections. Today, any developer can download, read, modify, and study the exact instructions that controlled the Command Module and Lunar Module during humanity’s first Moon landing. That accessibility changes how we understand 1960s computing and software engineering.

The Command Module code—called Comanche055, part of the Colossus 2A program—was assembled by NASA on April 1, 1969, just months before launch. The Lunar Module code, Luminary099 (Luminary 1A program), followed on July 14, 1969. Both programs ran on the Apollo Guidance Computer, a machine with less computing power than a modern smartphone but capable of navigating to the Moon and back. The assembly language is terse, efficient, and deeply optimized—a masterclass in constraint-driven design.

Where to find Apollo 11 source code

Two GitHub repositories serve as the primary public sources. The philspil66/Apollo-11 repository contains the original AGC source code with full attribution details intact, preserving the historical record. The chrislgarry/Apollo-11 repository, uploaded in 2016 by former NASA intern Chris Garry, offers a digitized version created through collaboration with the Virtual AGC project and the MIT Museum; this repo accepts pull requests and encourages community contributions.

Both repos are written entirely in assembly language and use the yaYUL assembler, the tool NASA originally used to compile the code. The original source materials came from hardware repairs, documentation archives, and the MIT Museum’s preservation efforts. For readers seeking deeper context, the ibiblio.org/apollo website provides supplementary resources, including transcripts and educational materials.

How does Apollo 11 source code compare to modern software?

Comparing 1969 assembly code to today’s high-level languages reveals a stark contrast in approach. Modern software prioritizes readability, modularity, and abstraction. Apollo 11 code prioritizes efficiency and reliability within extreme constraints—the AGC had just 72 kilobytes of read-only memory and 4 kilobytes of RAM. Every instruction counted. Variables were reused, logic was compressed, and comments were sparse. Yet the code worked flawlessly during the mission, a testament to meticulous design and testing.

The public availability of this code also contrasts with the closed-source practices that dominated aerospace and defense software for decades. By releasing Apollo 11 source code as public domain, NASA enables transparency and invites scrutiny—two principles that strengthen engineering culture. Anyone can now verify that the software did what it claimed, study how it solved navigation and guidance problems, and learn from decisions made under pressure half a century ago.

What can you do with Apollo 11 source code?

The public domain status means the code is free to read, download, modify, and redistribute without restriction. Educators use it to teach assembly language and real-time systems. Enthusiasts simulate the Apollo Guidance Computer and trace through the code step-by-step. Researchers study how NASA solved problems like fuel management, navigation precision, and error handling with minimal computational resources. The code is also a cultural artifact—it represents human achievement and can be studied for its historical and engineering significance.

The chrislgarry/Apollo-11 repository actively welcomes contributions, allowing the community to improve documentation, fix transcription errors, and add annotations that explain the code’s purpose. This collaborative approach transforms a static historical document into an evolving educational resource.

Why was Apollo 11 source code kept private for so long?

Apollo 11 source code was not classified, but it was not widely publicized either. For most of the post-Apollo era, the code existed in archives accessible mainly to researchers and historians with specialized knowledge. The digitization effort by Virtual AGC and the MIT Museum made the code machine-readable and shareable, but the real breakthrough came when developers realized the code belonged on GitHub, where programmers naturally look for open-source projects.

NASA’s implicit endorsement of public-domain status removed any ambiguity about legal rights, making it clear that anyone could use the code freely. That clarity, combined with the rise of GitHub as the standard platform for open-source collaboration, transformed Apollo 11 source code from a curiosity into an accessible learning tool.

Can I run Apollo 11 source code today?

The source code itself cannot run on modern computers—it was written for the Apollo Guidance Computer, a specialized 1960s machine. However, the Virtual AGC project provides simulators and emulators that allow you to assemble and execute the code in a virtual environment that mimics the original hardware. This lets modern programmers experience how the code behaved during the mission, a powerful way to understand the engineering constraints and decisions Apollo engineers faced.

What is the Assembly language used in Apollo 11 code?

Apollo 11 source code is written in assembly language for the Apollo Guidance Computer, assembled using the yaYUL tool. Assembly is a low-level language that maps closely to machine instructions. The code is highly optimized because memory and processing power were so limited. Modern assembly languages are typically easier to read and more portable, but Apollo’s assembly reflects the specific hardware it controlled and the extreme constraints of the era.

The release of Apollo 11 source code as a public-domain resource is a reminder that great engineering is timeless. The code solves real problems with elegance and precision, and its availability now allows new generations of engineers to learn from one of computing’s finest achievements. Whether you are interested in space exploration, software history, or constraint-driven design, the code is there waiting to be studied.

This article was written with AI assistance and editorially reviewed.

Source: Tom's Hardware

Share This Article
AI-powered tech writer covering artificial intelligence, chips, and computing.