2007-08-04

20 号棟のハッカーたち

和田英一による LL Spirit の基調講演に感銘を受けた. 話そのものより語り口や立ち振舞いがなんというか, カリスマがかっている. しびれる. ハッカー気質の文脈で語られた MIT の思い出話も印象的だった. むこうから歩いてくる知人が黒く汚れた格好に肩からケーブルを提げている. なにかと思ったら建物にイーサケーブルを引いていた, という話. インターネット黎明期の生ける伝説といった風情がある. かっこいい.

建物は MIT の 20 号棟だろうか. そうならいいのにと思う. 最近 "How Buildings Learn" という本を少しづつ読んでいる. その中で紹介される "building 20" のエピソードは, ハッキングやプログラミングについてある示唆を与えてくれる.

MITの 20 号棟は, 第二次世界大戦中の 1943 年にレーダー開発の拠点として建てられた. 開発を急ぐ必要から建物はその場しのぎのものになった. 戦時中で金属がなく木造. これもその場しのぎっぽい. しかし 1997 年に取り壊されるまで, 適当に作られたはずの 20 号棟は長い間 MIT の学生や職員に愛され, 使われ続けた. どれだけ愛されていたかはぐぐってみればわかる. ハッカー発祥の地である鉄道クラブもここにあった. (写真.)

なぜ 20 号棟は当初の意図を越えて長く使われたのだろう. 件の本より印象的な箇所を引用してみる:

1991 年のことだ. 私は MIT の前学長 Jerome Wiesner に尋ねた. なぜ "一時的な" 建物の 20 号棟は半世紀ちかい今まで生き残ったのか. 最初の答えは現実的なものだった. "平方フィートあたり 300 ドルかかるとして, 建て替えには 7500 万 ドルもかかるからです." 次の答えは美学によるものだった. "あれは地に足のついた (matter-of-fact) 建物で, そこにいる人々の個性を まとっているのです." そして最後の答えは個人的なものだった. かつて学長に任命された頃, 彼は 20 号棟のオフィスにこっそり閉じ込もっていた. そこでなら, "僕がドアに物を投げつけても誰ひとり咎めなかったからね."

このゆるさや適当さはハッカー気質に通じる気がする. そもそも 20 号棟の成り立ちがハックそのものに思える. ハッカーがハックを好むのは自然なことだ. こっそり床下にイーサケーブルを引いても "誰ひとり咎めない" 世界が そこにはあったのだろう.

冒険(譚)を求む

ハッカーに好かれる建物があるように, ハッカーに好かれるコードがある. 私はこれまで, クリーンでエレガントなコードや 先鋭的な実装を含むコードこそが彼らに愛されると思っていた. でも少し考えを改めた. それ自身がハックであるコード, 適当でやっつけ仕事で, 誰かがハックしても nobody complains なコードの方が人を惹きつけるのかもしれない. 自分でいじりたいもんね.

あるハッカーから聞いた話を思いだす. オープンソースのデータベースエンジンをさわっている彼によれば, PostgreSQL より MySQL の方がハックしやすいという. ちょっと見ればわかるように, PostgreSQL のコードはクリーンで統一感がある. 対する MySQL は魔窟の気配. (C++ だし.) だからぱっと見は PostgreSQL の方がいじりやすそうに見える. しかしクリーンさがハックの邪魔になることもある. それを維持するのが難しいからだ. MySQL は既にけっこうグダグダだから, 適当に ifdef で手を入れても気にならない. だからいじりやすい...そんな話だった. 完璧と妥協, 秩序と混沌 の綱引きはこれまでも繰り返されてきた. 20 号棟の物語もその系譜にある. でも計算機の外でおきた話なのが面白い.

さて, 和田英一は jargon file を引用し, hack は playful なのだと語った. でもどんなコードが playful なのだろう. jargon file の続きを読んでみる.

...
6. vi. To interact with a computer in a playful and exploratory rather than goal-directed way.
...

goal-directed であるより exploratory であること. コードが explorable であろうとするなら, 求められるのは混沌や隙間, 寛容さだろう. 秩序は行き過ぎた混沌が破綻するのを防ぐ必要悪だ; 秩序は道具に過ぎない. ハッカーは冒険を求めている.

そして秩序を愛する村人 A の私は彼らの冒険譚を待ち望んでいる. 規律のレンガを積みながら, いつまでも.