人類を月に運んだプログラムのソースコード、全文公開中 — Apollo-11

chrislgarry/Apollo-11Assembly66.6k

Apollo-11は、1969年にアポロ11号を月面に導いた「誘導コンピュータ(AGC)」の実際のプログラムコードを収録したリポジトリです。司令船用の「Comanche055」と月着陸船用の「Luminary099」という2つのプログラムが含まれており、MIT博物館が所蔵する紙の印刷物をデジタル化して復元したものです。コードの承認者にはマーガレット・ハミルトンなど当時のNASAの著名な技術者たちの名前が記されています。プログラマーでなくても、人類の宇宙開発の歴史的記録として楽しめる貴重な資料であり、30以上の言語に翻訳されたREADMEで世界中の人がアクセスできるようになっています。

🔥 なぜ話題?

宇宙開発やコンピュータ科学の歴史に対する関心が高まる中、人類史上最も重要なソフトウェアの一つが誰でも閲覧できる形で保存されている点が注目を集めています。プログラミング文化と歴史的遺産の交差点として、技術者だけでなく一般の人にも広く共有されています。

💡 こう使える!

例えば、学校の歴史や科学の授業で「アポロ11号が月面着陸したとき、宇宙船のコンピュータはどんなプログラムで動いていたのか?」という疑問を持ったとき、Apollo-11リポジトリを開けば実際のソースコードを一行一行読むことができ、当時の技術者たちがどんなコメントを残していたかまで確認できます。

ユースケース: アポロ11号の月面着陸を支えた実際のコンピュータプログラムを閲覧・学習し、宇宙開発やコンピュータ科学の歴史を体感する。

  • 1969年のアポロ11号月面着陸に使われた本物のプログラムコード
  • 司令船用(Comanche055)と月着陸船用(Luminary099)の2つのプログラムを完全収録
  • 30以上の言語に翻訳されたREADMEで世界中の人がアクセス可能
GitHubで見る →

Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

技術情報

言語

Assembly

ライセンス

NOASSERTION

最終更新

2026-01-22

スター数

66,567

フォーク数

7,593

Issue数

128

トピック

agcapollohacktoberfestnasa

技術詳細

アーキテクチャ・構成

  • Comanche055: 司令船(Command Module)用のAGCプログラム。Colossus 2Aの一部で、リビジョン055。1969年4月1日にアセンブル。
  • Luminary099: 月着陸船(Lunar Module)用のAGCプログラム。Luminary 1Aの一部で、リビジョン001。1969年7月14日にアセンブル。
  • AGC(Apollo Guidance Computer): アポロ計画で使用された誘導コンピュータ。当時としては先進的なリアルタイムコンピュータで、宇宙船の航行・誘導・制御を担当。

デジタル化の経緯

  • MIT博物館が所蔵するハードコピー(紙に印刷されたソースコード)をスキャンしてデジタル画像化
  • Paul Fjeldがデジタル化作業を実施、Deborah Douglas(MIT博物館)が手配
  • Virtual AGCプロジェクト(www.ibiblio.org/apollo)によってテキストに変換

アセンブラ

  • yaYUL: AGCのアセンブリ言語をアセンブルするためのツール。Virtual AGCプロジェクトで開発・提供されている。

コントラクト情報

  • NASAの有人宇宙船センターがスポンサー
  • MIT計測研究所(Instrumentation Laboratory)が契約NAS 9-4065のもとで開発
  • DSRプロジェクト55-23870として実施
  • レポートR-577に基づき司令船での使用を目的として設計

主要な関係者

  • Margaret H. Hamilton: Colossusプログラミングリーダー。ソフトウェア工学という用語を生み出したことでも知られる。
  • Ron Burkey: Virtual AGCプロジェクトの連絡先担当者

ライセンス・利用条件

  • パブリックドメイン(著作権なし): 米国政府の成果物として公共の財産であり、誰でも自由に利用可能。

コントリビューション(貢献)方針

  • 元のスキャン画像(Luminary 099およびComanche 055)とテキスト転写の間に差異がある場合、プルリクエスト(修正提案)を歓迎
  • CONTRIBUTING.mdに詳細なガイドラインあり

多言語対応

READMEは30以上の言語に翻訳済み(日本語、中国語(簡体・繁体)、韓国語、ヒンディー語、アラビア語、フランス語、ドイツ語、スペイン語など)。

アーカイブ

  • Software Heritage Archiveにも保存されており、長期的なデジタル保存が保証されている。

インストール・クイックスタート

Apollo-11リポジトリはソースコードのアーカイブであり、通常のソフトウェアのようにインストールして使うものではありません。ソースコードを実際にコンパイル(プログラムを動作可能な形に変換)したい場合は、別プロジェクトのVirtual AGCを利用します。

# リポジトリのクローン(ダウンロード)
git clone https://github.com/chrislgarry/Apollo-11.git

参考になる外部の関連記事

関連リポジトリ

「自分で作って本当に理解する」30以上の技術を一から再現するチュートリアル集 — build-your-own-x

codecrafters-io/build-your-own-xMarkdown480.5k

build-your-own-xは、データベースやOS、ゲーム、プログラミング言語、Webブラウザなど、普段使っている技術を「自分の手でゼロから作ってみる」ためのチュートリアル(学習ガイド)をまとめた

独学でGoogle・Amazon内定レベルに!コンピュータサイエンス完全攻略ロードマップ — coding-interview-university

jwasham/coding-interview-university340.0k

coding-interview-universityは、大手IT企業(Google、Amazon、Facebook、Microsoftなど)のソフトウェアエンジニア面接に合格するための学習計画をまと

TheAlgorithms/Python

TheAlgorithms/PythonPython217.8k

様々なアルゴリズムとデータ構造をPythonで実装した教育目的のオープンソースリポジトリです。ソート、検索、グラフ理論、動的プログラミングなど、コンピュータサイエンスの基本的なアルゴリズムが網羅的に実

avelino/awesome-go

avelino/awesome-goGo165.3k

awesome-goは、Goプログラミング言語で開発された優秀なフレームワーク、ライブラリ、ソフトウェアを厳選して整理したキュレーションリストです。Web開発、データベース、テスト、DevOpsツール

世界中のテレビが無料で観られる!公開チャンネルリンク集 — iptv

iptv-org/iptvTypeScript113.8k

iptv-org/iptvは、世界中で公開されているインターネットテレビ(IPTV)チャンネルのリンクを集めたプレイリスト集です。VLCなどの動画プレイヤーにプレイリストのURLを貼り付けるだけで、さ