『アポロ計画でプログラムコードを開発した女性エンジニア「マーガレット・ハミルトン」がソースコードの隣に立っている写真』について
「コーディング教育」とか言われるようになってきたためか、最近時々バズるこの話題について。
マーガレット・ハミルトンさんが、グレース・ホッパーさんやフラン・アレンさんとともに、偉大なコンピュータ黎明期のパイオニアのお一人であることは確かですし、この記事は、おとしめる意図ではありません。しかし、話題になっている写真にはいくつか疑問点等があるので、それらについてメモとして残します。
この話題がネット上で見られるようになったのはいつからか?
threefingeredfox 氏のブログ Three Fingered Fox の、こちらの Margaret Hamilton, lead software engineer, Project Apollo | Three Fingered Fox ブログエントリ、およびそれのミラーである、Medium のこちら Margaret Hamilton, lead software engineer, Project Apollo — Medium の記事が初出のようです(2014年12月上旬。もしこれより古く、この写真について話題になっていた場がありましたら、お教えいただければ幸いです)。
また、このエントリを受けて取材をされ、同月末に公開された、こちら Margaret Hamilton, the Engineer Who Took the Apollo to the Moon — Medium の記事により、この写真は Here, Margaret is shown standing beside listings of the software developed by the team she was in charge of, the LM and CM on-board flight software team. である、とオーソライズされたという感じ、になっています。
この写真のソースと、ネットに現れるまでの経緯はどうか?
前述の取材中に Taken by the Draper Lab photographer in 1969 (during Apollo 11). とあるので、ソースはそういう(ドレイパー研究所の写真家が撮ったもの。当時はMITの関連組織ということになるはず)ことになります。
しかしその後、どういうルートでネットに出たのかはよくわかりません。threefingeredfox 氏のブログエントリには単に I just ran across on the internets. としかありません。ウィキメディアコモンズの https://commons.wikimedia.org/wiki/File:Margaret_Hamilton.gif ではNASAの画像として自由であるというカテゴリ付けがされています。しかし、NASAの画像サービスなどをあたってみても、関連する写真(アポロの操縦システムの操作を検討しているっぽい写真や、後年にパソコンの前に座っている写真)は出てきますが、この写真は見つけられていません(やはりこちらも見つけられた方がおられましたら、ご連絡ください)。
この紙の山が全て、Apollo Guidance Computer (AGC) のソースコードなのか?
詳細は水城徹さんによる、『宇宙の傑作機 No.10 アポロ誘導コンピュータ』にありますが、AGCは1ワードが16ビットで、RAMが2キビワード、ROMが4万ワード弱、というコンピュータでした(ひところは「アポロはファミコンと同程度のコンピュータで月に行った」とバズったものでしたが、そういえば最近あまり耳にしなくなった気もします)。
もちろん時代が20年も後の、6502(ファミコンの石。正確にはファミコンはそれのカスタム版を搭載している)のように整理されたアーキテクチャではなく、また開発環境も当時のマシンだったわけですから、その開発工数は、たとえば http://web.mit.edu/aeroastro/news/magazine/aeroastro6/mit-apollo.html には 1400 man-years というおそろしい数字が挙げられています。そのチーフというのが猛烈な仕事であっただろうことは想像を絶します。
前述のように、ROMが4万ワード弱のコンピュータという定量的事実はあります。しかし、アポロ宇宙船が月に行くのを支えたコンピュータはAGCだけでもありませんし、ソースコード以外にも、AGCの設計・運用のための資料は膨大であることは想像されます(『電子立国』において、シャープのエンジニアがロックウェル流の設計手法を伝授されるくだりで、現代で言う論理シミュレータのようなものが60年代にはもうあったというような話があったと思います)。
従ってこの写真について、アポロ宇宙船、あるいは特にAGC関連のプリントアウトや書類類であろうというのは確かとしてよいと思いますが、この写真の書類の山を、「ソースコードを頭から尻尾まで一通り出力したもの」と解するのは問題があり(たとえば、当時はフルスクリーンエディタなんてものは夢のまた夢でしたから、それだけハードコピーを取ることも頻繁だったはずです)、ましてや「1人で書いたもの」というような誤解をミスリードするような文言はダメということになるかと思います。