アポロ11号のソースコードのイメージ
人類を初めて付におりたたせた(出典:NASA)

1969年に人類を初めて月へおりたたせた宇宙船「アポロ11号(Apollo 11)」。それを動かしていた頭脳であるコンピュータープログラムの、いわば設計書にあたる「ソースコード」が話題だ。技術情報の共有サイト「GitHub」で公開中だ。

東大のブログ

このソースコードは2016年7月、米国航空宇宙局(NASA)のインターンであるChris Garry氏が投稿した。アポロ11号が搭載していた機体誘導用コンピューターを動かすためのものだった。著作権の扱いはパブリックドメインとなっている。


当時から日本でもギーク(技術好き)のあいだで関心を集めてきたが、東京大学工学部電気電子・電子情報工学科在籍者で作るAdvent Calenderの一環として、詳細を解説する日本語のブログが立ち上がったことで、より多くの人が興味を持つようになった。

とある女性の業績

アポロ11号のコンピュータープログラムについては、ある人物の功績がしばしば言及の対象となる。Margaret Hamilton氏。米国の偉大なエンジニアで、「人類を月に連れていくコードを書いた女性」として賞賛を浴び、米国政府が授与する最高位の勲章の1つ、大統領自由勲章も獲得している。

Margaret Hamilton from NASA
Margaret Hamilton氏とアポロのコンピューター関連書類(出典:NASA)

東大の解説ブログではまず、この女性から話を始めている。当時のHamilton氏のすがたをとらえた有名な写真を取り上げ、その脇に積み上げた書類の山に注目。それらがすべてアポロの機体誘導用コンピューターに関連するものだと説明して、印刷物全盛時代の苦労を示唆している。

解説ブログによると、誘導用コンピューターのソースコードは6万4,992行で、内訳はコード量が4万202行、コメント行が3万2,443行、空白行が5,900行だという。「デバッグとかも満足に行えないことを考えるとすごい量」と感想を添えている。

またアポロ11号は着陸中にコンピュータープログラムがエラーを起しているが、ブログではソースコードを読み解いてその位置も特定し、さらに現場が緊急事態へどのように対処したかを振り返っている。

ほかにもコメント行に残るさまざまなジョークやののしりに注目。当時のエンジニアが難題に格闘するさまを興味深くなぞっている。

半世紀近く前に組み上がったソースコードは、1つの巨大なプロジェクトの背後にとてもたくさんの生きた人間がいたことを、あらためて伝えてくれるようだ。