• NASA가 애폴로 11호(Apollo 11) 원본 코드를 오픈 소스화했습니다. 원본 커맨드 모듈(Command Module) 및 루나 모듈(Lunar Module) 코드 리포지토리가 이제 공공 영역(public domain) 리소스로 공개되었습니다.

    자신만의 우주 프로그램에 사용할 이 역사적인 어셈블리 코드를 확인하고 다운로드하세요.

    article image

    아폴로 11호의 달 탐사를 가능케 했던 역사적인 컴퓨터 소프트웨어 코드가 오픈소스로 공개되어 누구나 읽고, 다운로드하며 분석할 수 있게 되었습니다. NASA의 크리스 게리(Chris Garry)는 이 코드를 퍼블릭 도메인으로 GitHub에 공개했습니다. 공개된 자료는 크게 두 가지 대규모 코드베이스로 구성되어 있습니다. 하나는 커맨드 모듈(Command Module)용 코드(Comanche055)이며, 다른 하나는 루나 모듈(Lunar Module)용 코드(Luminary099)입니다. 이 두 모듈은 모두 코드를 실행할 자체 아폴로 11호 유도 컴퓨터(AGC)를 갖추고 있었으며, 역사상 최초의 인간 달 착륙이라는 놀라운 임무 성공에 결정적인 기여를 했습니다.

    GitHub 저장소에서 게리는 이 기념비적인 코드가 Virtual AGC(Virtual Apollo Guidance Computer)와 MIT 박물관 관계자들을 통해 디지털화되었다고 밝혔습니다. 이는 MIT 박물관에 보관되어 있던 코드의 하드카피가 디지털 배포를 위해 스캔 및 교정 작업을 거쳤음을 의미합니다. 덕분에 우리는 대량의 기계어 코드를 퍼블릭 도메인으로 온라인에서 손쉽게 접근할 수 있게 되었습니다.

    예제 코드를 심층 분석하기 위해 Commanche055 디렉토리로 들어가 본 결과, 가장 눈에 띄는 파일은 ALARM_AND_ABORT.agc였습니다. 파일 상단의 개요 설명을 지나자 코드의 목적이 드러났는데, 이 경우 파일 이름만 봐도 용도를 명확히 알 수 있습니다. 더 나아가 코드 내부의 주석을 살펴보면, 이 코드가 경보 상황을 기록하고, 해당되는 경우 경고등을 점등하며, 다양한 종류의 비경보(non-abortive) 알람 및 경보 수준(abort-level) 알람을 처리하는 기능을 수행함을 알 수 있습니다.

    취미로 1980년대 하드웨어를 이용해 달에 '착륙'하다

    1969년, 최초로 인간을 달에 착륙시킨 아폴로 11호 우주 비행은 항법에 필수적인 사인(sine) 및 코사인(cosine) 같은 초월 함수를 계산하는 데 이 30줄의 코드를 사용했습니다. [여기에 주석이 달린 코드가 있습니다: https://t.co/5cOQHlATbB pic.twitter.com/s4hn2EOmGS 2026년 4월 9일]

    article image

    소셜 미디어에 공유된 또 다른 흥미로운 코드 예시(상단에 포함됨)는 아폴로 11호의 항법 궤적을 계산하는 데 핵심적인 역할을 했던 30줄의 어셈블리 언어를 강조하고 있습니다.

    역사적인 코드베이스를 단순 탐색하는 것을 넘어 더 깊이 있게 사용해 보고자 한다면, 공유된 코드를 Virtual AGC 도구(GitHub 링크)를 사용해 현재 퍼블릭 도메인으로 컴파일하는 것이 가능합니다. Virtual AGC 소프트웨어는 Linux, Windows XP/Vista/7, Mac OS X 10.3 이상, 그리고 일부 FreeBSD 버전에서 구동되도록 설계되었습니다. 또한 이 저장소는 커맨드 모듈과 루나 모듈에 사용된 AGC에 대해 배울 수 있는 좋은 자료처이기도 합니다.

    AGC의 사양은 오늘날 가장 기본적인 컴퓨터와 비교하면 미미합니다. 예를 들어, AGC는 단 3,840바이트의 RAM과 69,120바이트의 저장 공간만을 가지고 있었습니다. 처리 속도는 초당 최대 약 85,000개의 명령 사이클에 불과했습니다. 그럼에도 불구하고, 크기는 오늘날의 데스크톱 게이밍 타워 PC(24.250 x 12.433 x 5.974인치, 즉 61.595 x 31.580 x 15.174cm)와 비슷했으며, 무게는 70.1파운드(31.8kg)에 달했습니다. 게다가 커맨드 모듈에는 각각 17.8파운드(8.1kg)의 DSKY 컨트롤러 장치가 두 개, 루나 모듈에는 하나가 필요했습니다.

    거의 60년 전의 아폴로 11호 코드가 현재 진행 중인 아르테미스 II 달 임무의 맥락에서 공유된다는 점은 흥미롭습니다. 오늘날 우리는 NASA가 인간을 달에 오가게 하는 데 사용하는 간결하고 강력한 기계어 코드 자체에 감탄하는 것이 아닙니다. 오히려 마이크로소프트 아웃룩 이메일 버그나 오리온 우주선의 화장실 오작동 같은 작은 문제가 이번 최신 임무가 상징하는 기념비적인 성과에 찬물을 끼얹을 수도 있습니다.

    최신 뉴스, 분석 및 리뷰를 피드에서 받아보시려면, Google News에서 Tom's Hardware를 팔로우하거나 선호 출처로 추가해 주세요.

    [출처:] https://www.tomshardware.com/software/original-apollo-11-code-open-sourced-by-nasa-original-command-module-and-lunar-module-code-repos-are-now-public-domain-resources