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

chrislgarry/Apollo-11Assembly66.9k

Apollo-11は、1969年に人類初の月面着陸を成功させたアポロ11号の宇宙船に搭載されていたコンピュータ(AGC:アポロ誘導コンピュータ)の実際のプログラムのソースコードです。司令船用の「Comanche055」と月着陸船用の「Luminary099」の2つのプログラムが含まれており、MIT博物館に保管されていた紙の印刷物からデジタル化されたものです。NASAのパブリックドメイン(誰でも自由に使える)として公開されており、プログラマーでなくても「50年以上前の宇宙船がどんなプログラムで動いていたのか」を直接見ることができます。マーガレット・ハミルトンをはじめとするNASAとMITのチームが開発した歴史的なソフトウェアであり、コンピュータ科学や宇宙開発の歴史に興味がある人にとって貴重な資料です。

🔥 なぜ話題?

宇宙開発への関心の高まりや、コンピュータ科学の歴史を振り返る文脈で、50年以上前に人類を月に送ったソフトウェアの「実物」がGitHubで誰でも閲覧できるという話題性が注目を集めています。30以上の言語に翻訳されたREADMEが用意されていることからも、世界中の人々の知的好奇心を刺激し続けています。

💡 こう使える!

例えば、学校や大学で「コンピュータの歴史」について調べているとき、Apollo-11リポジトリを開けば、1969年に月面着陸を制御していた実際のプログラムコードを1行1行読むことができ、当時のエンジニアが書いたコメント(メモ書き)まで確認できます。

ユースケース: 宇宙開発やコンピュータの歴史を学んだり、1960年代のプログラミング技術を体験的に理解したりするための教育・学習資料として活用できます。

  • 人類初の月面着陸を実現したアポロ11号の本物のソースコードを公開
  • 司令船用(Comanche055)と月着陸船用(Luminary099)の2つのプログラムを完全収録
  • パブリックドメインとして誰でも自由に閲覧・利用可能で、30以上の言語に翻訳済み
GitHubで見る →

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

技術情報

言語

Assembly

ライセンス

NOASSERTION

最終更新

2026-01-22

スター数

66,922

フォーク数

7,619

Issue数

128

トピック

agcapollohacktoberfestnasa

技術詳細

アーキテクチャ・仕組み

  • Apollo-11に搭載されたAGC(Apollo Guidance Computer:アポロ誘導コンピュータ)は、宇宙船の航行・誘導・制御を担当する専用コンピュータ
  • ソースコードはAGCアセンブリ言語で記述されており、アセンブラとして yaYUL を使用
  • MIT計装研究所(Instrumentation Laboratory)が開発を担当

収録プログラム

プログラム名用途リビジョン日付
Comanche055司令船(CM)用 AGCプログラム(Colossus 2A)revision 0551969年4月1日
Luminary099月着陸船(LM)用 AGCプログラム(Luminary 1A)revision 0011969年7月14日

デジタル化の経緯

  • MIT博物館に保管されていた紙の印刷物(ハードコピー)をスキャンしてデジタル化
  • デジタル化作業は Paul Fjeld が実施し、MIT博物館の Deborah Douglas が手配
  • Virtual AGC プロジェクトとMIT博物館の協力によるもの
  • オリジナルのスキャン画像は Luminary 099Comanche 055 で閲覧可能

契約・承認情報

  • NASAの有人宇宙船センター(Manned Spacecraft Center)がスポンサー
  • 契約番号: NAS 9-4065
  • DSRプロジェクト: 55-23870
  • レポート R-577 に基づき司令船での使用を目的として開発
  • プログラミングリーダー: マーガレット・H・ハミルトン(Margaret H. Hamilton)
  • 1969年3月28日に承認

コンパイル方法

  • Virtual AGC を利用することで、オリジナルのソースコードをコンパイル可能

ライセンス・利用条件

  • パブリックドメイン: 著作権の制限なく、誰でも自由に利用可能
  • Software Heritage Archive にもアーカイブ済み

多言語対応

  • READMEは30以上の言語に翻訳済み(日本語、中国語、韓国語、アラビア語、ヒンディー語など)

貢献方法

  • オリジナルのスキャン画像と転写されたソースコードの間に差異を発見した場合、プルリクエスト(修正提案)を歓迎
  • 詳細は CONTRIBUTING.md を参照

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

Apollo-11リポジトリはソースコードの閲覧・保存が主な目的のため、一般的なインストール手順はありません。ソースコードをコンパイル(実行可能な形に変換)したい場合は、Virtual AGC プロジェクトを利用してください。

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

過去のトレンド履歴

関連リポジトリ

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を貼り付けるだけで、さ

中国の小学校〜大学までの全教科書PDFを無料で!海外華人の子育てにも — ChinaTextbook

TapXWorld/ChinaTextbookRoff69.2k

ChinaTextbookは、中国の小学校・中学校・高校・大学の教科書をPDF形式で無料公開しているリポジトリです。本来は無料で手に入るはずの義務教育の教材が、一部の人によって有料で転売されている問題

ethereum/go-ethereum

ethereum/go-ethereumGo50.8k

go-ethereumは、Ethereum(イーサリアム)ブロックチェーンプロトコルのGo言語による公式実装です。Ethereumノードの実行、スマートコントラクトの実行環境、トランザクションの処理な