世界を動かす技術を、日本語で。

ケン・トンプソンが語るUnixの騒々しく、鍵開けの起源

概要

Ken ThompsonはUnixの創始者として、Bell Labsでの初期の開発秘話や仲間たちとの協働を振り返る。 Computer History Museumが公開した4時間半のインタビューで、C言語やPlan 9、Go言語開発にも言及。 Unix誕生の偶然性や、オープンな開発文化、コミュニティの力が大きな成功要因。 Bell Labsの自由な雰囲気と多様な人材が、革新的な成果を生んだ背景。 Unixの精神は、後のオープンソース運動やUTF-8標準にも影響を与えた。

Unix誕生とKen Thompsonの回想

  • Ken Thompson は82歳、Unixの初期開発や当時の仲間たちとの思い出を語る。
  • Computer History MuseumACM が共同で4時間半のオーラルヒストリーを公開、David C. Brockがインタビュー担当。
  • Thompsonは C言語Plan 9 from Bell LabsGo言語 開発についても回顧。
  • Bell Labsでの自由な実験環境と、仲間との協働が技術革新の原動力。
  • 好奇心と偶然、そしてコミュニティの価値を強調。

Unix誕生の偶然

  • 1966年、23歳のThompsonはBell Labsで Multics プロジェクトに参加。
  • Multicsは「巨大で遅く、醜く、高価」なシステムで失敗、専用コンピュータが無駄に。
  • 残されたコンピュータを活用し、 CRAM というドラムメモリ装置の改良を目指す。
  • メモリ同時読み出しのテスト用プログラムが必要となり、 自然発生的にオペレーティングシステム が誕生。
  • 初期Unixにはファイルシステム、ディスクドライバ、I/O周辺機器が実装済み。

Unix最初のコミュニティ

  • ユーザーIDは1桁で、 Dennis RitchieDoug McIlroyRobert MorrisBrian Kernighan など伝説的人物が参加。
  • ファイルシステム設計は黒板上で Rudd Canaday と議論、電話で口述筆記サービスを利用。
  • Joe Ossanna の交渉術でPDP-11を調達、特許部門向けワープロ用途として予算獲得。
  • 最初のユーザーは特許部門の秘書たち、5~8人規模の小さなコミュニティ。

Unixルームの友情と自由

  • PDP-11は6階の物置部屋を改装した「 Unixルーム」に設置。
  • 2台目のPDP-11導入で、ネットワークや文書組版の議論など活発な活動拠点に。
  • 電話回線やPBXも設置、仲間同士の連帯感とユーモア。
  • 鍵開けやイタズラも日常、セキュリティ担当との駆け引きも逸話として語られる。
  • 「Unixランチ」での定期的な交流が思考の相乗効果を生む。

Bell Labsの自由な雰囲気

  • Bell Labsは「やりたいことをやれる」環境、ユーザーも限定的でプレッシャーなし。
  • 多様な人材が集まり、予想外の貢献が生まれる風土。
  • Lee McMahon は言語学者として採用されたが、機械可読辞書やFederalist Papersのデータ提供でUnixに貢献。
  • grep 誕生の背景もこの自由な文化に起因。

Unixの普及とオープンな精神

  • UnixはBell Labs内で管理業務やスイッチング用途に広がり、次第に組織の中枢へ浸透。
  • Richard Stallman のオープンソース哲学以前から、Unixには「オープン」な文化。
  • ファイルのアクセス制限はほぼ設定されず、誰でもソースコードを編集可能。
  • 「触ったら責任を持つ」精神で、みんなが自由に改良し合う風土。
  • P. J. Plauger の小説原稿もみんなでコメントし合うなど、壁のない交流。

Bell Labs後のキャリア

  • 2000年のBell System解体後、Thompsonは Entrisphere へ転職、6年間勤務。
  • その後Googleへ移籍、CEOの Eric Schmidt はBell Labs時代の旧友。
  • Googleでは Androidセキュリティ にも携わり、最終的に Go言語 開発チームに参加。
  • Go開発では Rob Pike らBell Labs時代の仲間と再び協働。

Unixの遺産とコミュニティ

  • Unixの「みんなで作る」精神は、 Plan 9UTF-8 標準にも受け継がれる。
  • 技術革新の裏には、自由な環境と仲間との信頼、そして遊び心が不可欠。
  • Thompsonは、仲間や開かれた環境への感謝を強調。

参考:

Hackerたちの意見

盗まれたセキュリティブーツの話は聞いたことなかったな。セキュリティガードが公式の企業ポリシーを無視して、ピア・トゥ・ピアの交渉で解決したってのが面白いね。管理側を通さずにさ。

ちょっと変な、もしかしたら関係ない質問なんだけど。1981年のハードコアパンクアルバム「This is Boston not LA」ってのがあって、その中に「Radio UNIX USA」って曲がFUsによって収録されてるんだ。タイトルの由来が全然見つからないんだよね。歌詞もUNIXとは全然関係ないし、なんでだろう。バンドはボストン出身で、MITもその頃UNIX的なことやってたみたいだし、誰かこの曲の由来について知ってる人いる?

歌詞には「でもお前には / ボールがない、ボールがない、ボールがない、ボールがない、ボールがない / ボールがない、ボールがない、ボールがない、ボールがない、ボールがない」ってラインがあるから、「Unix」は「eunuchs」のダジャレの可能性が高いね。アメリカのラジオ局の呼び名の慣習にはあまり詳しくないけど、4文字のコールサインが一般的みたい?だから、由来は「eunuchs」をラジオ局のコールサインに変換するだけかもしれないね。

本気の変化(とリーダーシップ)の誕生には、常に現状を疑うことが必要だし、ちょっとした騒がしさやジャングル的な本能も必要だよね。

初期ユーザーが特許秘書で、その後「管理的なこと、トラブルチケットの入力」とかになって、みんなが気に入ったから広がったってのは、なんかクールだね。大きなトップダウンのプロジェクトとは違ったプレッシャーが生まれるし、もしかしたら健康的なプレッシャーかも。新しいアイデアで物事をどう動かすか遊ぶなら、壊しちゃダメだし、日常的に使う人たちのためにちゃんと動くものが必要だよね。大きなプロジェクトが失敗する一因は、現実と接触せずに遊びすぎることだと思う。Linuxの起源を考えると、「(ただの趣味で、gnuみたいに大きくてプロフェッショナルにはならない)」って言われてるけど、初期のUNIXも未来のOSを作るための大きなプロフェッショナルな推進力というより、役立つものを作ろうとしてた人たちの試みだったのが面白いね(もちろん、Bell Labsで遊んでたからこそ、彼らの実験には素晴らしい利点があったけど!)。

僕のお気に入りのケン・トンプソンのハックの一つは、コンパイラにバックドアを仕込む方法を示したやつなんだ。気づきにくい形でね。https://wiki.c2.com/?TheKenThompsonHack

トンプソンは、ラッド・カナディと一緒にオフィスのホワイトボードでUnixファイルシステムを設計したことを覚えている。特別なBell Labsの電話番号を使って、口述を取って翌日にはタイプされたトランスクリプトが届く仕組みだった。すごいね :)、これが一般の人たちにとって普通になったのはここ数年のことだと思う。もちろん、電話の向こうにはAIじゃなくて秘書がいたんだろうけど、完全にありえないことではないよね。Bell Labsは少なくとも音声合成ではすごいことをやってたし。

自分の考えは書くより話す方がスムーズに出てくるんだよね。書くといつも戻って編集したくなっちゃって、気が散るんだ。

初期のツールが「コミュニティ」を作るために設計されてたのが面白いね(mesgやtalkとか)。プラットフォームの半オープンな性質もそれを促進してたし。他の人のホームディレクトリにcdしてファイルを見ることができるのはいいよね。

それはITSの哲学とデザインであって、Unixじゃないよ。真剣なUnixサーバーなら、全てのHOMEディレクトリは0700のパーミッションがあるはず。ITSはパーミッションがなくて、最初からコラボレーションを奨励してたんだ。

いろんな成功したソフトウェアプロジェクトの精神が似ているのを見るのは面白いし、心温まるね。クリエイティブなコラボレーション、オープンな遊び、そして本当に自分のやってることを愛している人たちによる非常に高い信頼。MBAの世界観や大企業のオフィスとは真逆だよね。Unix、GNU、Linux、初期のPython、初期のRockstar Gamesとか。

初期のRockstar Gamesがこのリストに入ってるのは意外だったな。詳しく教えてくれる?

非常に高い信頼 たくさんの問題は、高信頼の社会やプロジェクト、会社があれば消えちゃうよね。

「ケン・オルセン」のDECとサン・マイクロシステムズも追加したいな。

「Unix: A History and a Memoir, by Brian Kernighan」も素晴らしい本だよ。