付録 D. なんで自転車置場の色まで気にしなきゃならないの?

別にそんな必要はありません。 だって、そんなのどうでもいいことじゃないですか。 それに、もっとマシな時間の使い方もあるでしょ?

Poul-Henning Kamp による、かの有名な "bikeshed" メール (その一部を 章 6. コミュニケーション で取り上げました) は、集団での議論が陥りがちな罠について非常にうまく説明した論考です。 彼の承諾を得て、ここにそれを掲載します。原文の URL は http://www.freebsd.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers です。リンクしやすいように、bikeshed.com を示してもよいでしょう。

Subject: A bike shed (any colour will do) on greener grass...
From: Poul-Henning Kamp <phk@freebsd.org>
Date: Sat, 02 Oct 1999 16:14:10 +0200
Message-ID: <18238.938873650@critter.freebsd.dk>
Sender: phk@critter.freebsd.dk
Bcc: Blind Distribution List: ;
MIME-Version: 1.0



[committers と hackers にも bcc しておいた]


この前送ったパンフレットはよく受け取ってもらえたし、また別のを送っても
いいかなって思ってた。で、今日はその時間と気力があったんで。


この手の話題をどこに送ればいいのかちょっと迷ったけれど、結局
committers と hackers にも bcc することにした。たぶんこれでよかったん
だろう。実は私は hackers を購読していないんだが、それについてはまた後
で説明する。


このメールの発端となったのは「sleep(1) で小数点以下の秒を使えるように
すべき」というスレッドだ。こいつは最近私たちの生活を脅かし続けてきた。
おそらく数週間ほど。面倒なのできちんと調べてないけどね。


「そんなスレッドあったかなぁ」と思ったみなさん、あなたたちは幸せものだ。


炎上のきっかけとなったのは「sleep(1) に非整数の引数を渡したときにも正
しく動作するようにしよう」という提案だった。ここではそれ以上のことは言
わない。ほんの些細な提案のためにあのスレッドで散々騒がれ続けてたから、
もうみんな十分に知りすぎていることだろう。そのおかげで、ほんとうに重要
な「問題」たちがかすんでしまってるよ。


この sleep(1) の話は、FreeBSD が始まって以来最もわかりやすい「自転車置場
の議論」の例といえるだろう。あの提案はとてもよく考えられたものだった
し、OpenBSD や NetBSD との互換性を向上させるものでもあった。そして、こ
れまでに書かれてきたコードとの互換性もまったく損なわないものだったんだ。


なのに、反論や別の提案や修正案などが続出した。まるで奴らは、この提案が
「スイスチーズの穴を全部埋めてしまう」だとか「コカコーラの味を変えてし
まう」などといったものすごく重大な話だと思い込んでいるようだった。


「ところで、いったい自転車置場ってどういうこと?」と思った人もいること
だろう。


話せば長くなる昔話だけど、実際のところは単純な話だ。C・ノースコート・
パーキンソンが 1960 年代初期に書いた「パーキンソンの法則」という本があっ
て、そこにはものごとの管理に関するさまざまな洞察が書かれていたんだ。


今でもアマゾンで買えるし、君たちの父親の本棚にも入っているかもしれない。
この本は、お金を出して購入し時間をかけて読むだけの価値があるものだ。ディ
ルバートが好きな人なら、きっとパーキンソンも気に入ることだろう。


かつてこの本を読んだ誰かが「現代じゃこの本に書かれてることの 50% くら
いしかあてはまらないね」と言ってた。上等じゃないか。いまどきの本なんか、
もっと惨めなもんだ。しかもこの本、35年以上前のものなんだぜ?


自転車置場の例にでてくるもう一方の役者が、原子炉だ。なんだか、いかにも
時代を感じさせるなぁ。


パーキンソンは、委員会に乗り込んで数百万から数億ドルもの原子炉建設計画
を承認させる方法を説明している。しかし、原子炉ではなく自転車置場を作り
たいと思ったら終わりのない議論に巻き込まれることになるだろうとも言って
いる。


パーキンソンによると、原子炉はあまりに巨大で高価そして複雑であるために
みんながその内容を把握できなくなるということだ。考えようともせずに思考
停止してしまい、「まぁここまで来る前に誰か他の人が一部始終をチェックし
ただろう」ということになってしまう。リチャート・P・ファインマンの著書に
は、これに関連するロス・アラモスでの興味深い事例がいくつか紹介されてい
る。


さぁ一方自転車置場だ。週末をつぶせばだれでも作ることができ、余った時間
にテレビで試合を見て楽しむことさえできるだろう。どんなに用意周到であっ
たとしても、どんなに妥当な提案だったとしても、だれかが機会をとらえては、
自分もなにかやっていることを示したり、自分もそれに注目してることを示し
たり、「俺を忘れるな」と言ったりするだろう。


デンマークでは、こういったことを「指紋をつける」って言うんだ。個人的な
プライドや見栄のために何かをして、あとからその証拠を見せられるようにす
る。「ほら見ろよ。これ、俺がやったんだ」てな具合にね。政治家どものよく
やりそうなことでもあるが、一般人だって機会があればやりそうだよ。ほら、
よく生乾きのセメントに足跡がついてたりするだろう?


最初にこの提案をした人には敬意を表したい。だって、くだらぬ批評家たちの
妨害行為にもめげず自分の信念を貫き通して、その変更がいまやツリーに取り
込まれてるわけだから。私ならあのスレッドの一握りのメッセージすら受け取
る前に諦めて逃げてただろうね。


さぁ、そしてさっき言ってた話。なぜ私が -hackers を購読していないのか。


私が数年前に -hackers の購読をやめた理由は、大量のメールをさばききれな
くなったからだ。あれ以来、同じ理由で他のメーリングリストもいくつか購読
をやめている。


それでもまだ大量のメールを受け取っている。まぁ多くのメールはフィルタリ
ングして /dev/null 行きにしてるけどな。(個人名省略) みたいな野郎からの
メールは私の画面上には決してあらわれない。外国語のドキュメントへのコミッ
トとか ports へのコミットとかの通知メールも同じだ。そういったメールは、
私の目に触れることなくどこかに行ってしまうってわけだ。


でも、これだけ必死になって受信箱を守ろうとしてるってのに、いまでも大量
にメールが届いている。


なにかいい案はないだろうか?


メーリングリストから余計なノイズをできるだけ減らしたいんだ。自転車置場
を作りたい人は気兼ねせずに作れるようにしてあげたいんだ。自転車置場を何
色に塗るかなんていちいち気にしなくてもいいじゃないか。


最初の件は、メールを使うときにみんなもっと礼儀を考えようってことだ。も
う少し気を使おうじゃないか。もう少し頭を使おうじゃないか。


メールに返信すべきとき/すべきでないときを、みんなが納得する形で簡潔か
つ正確に定義できたらどんなに幸せなことだろう。でも私は、できもしないこ
とを試みるほどのバカじゃない。


でも、こんな機能があったらいいなぁと思ってる。メーリングリストへの投稿
に返信しようとすると、メールソフトが自動的にこんなポップアップウィンド
ウを表示するんだ。どうだろう?


      +------------------------------------------------------------+
      | 今あなたが送ろうとしているメールは何10万人もの人に届きます.|
      | 受け取った人がそれを読むべきかどうかを判断するのに少なくと |
      | も10秒はかかるでしょう。つまり、あなたのメールを読むために |
      | 少なくとも0.5人月が費やされるわけです。さらに、多くの人は  |
      | メールをダウンロードするのにお金を払わないといけません。   |
      |                                                            |
      | あなたのメールは、ほんとうにみんながそれだけの手間をかけて |
      | でも読む価値のあるものですか?                             |
      |                                                            |
      |              [はい]  [書き直す]  [キャンセル]              |
      +------------------------------------------------------------+


      +------------------------------------------------------------+
      | 警告:あなたはまだこのスレッドのメールを全部読み終えていま |
      | せん。今あなたが書いている内容を、他の誰かが既に言っている |
      | かもしれません。まずスレッドを全部読んでから返信を書くよう |
      | にしましょう。                                             |
      |                                                            |
      |                    [キャンセル]                            |
      +------------------------------------------------------------+


      +------------------------------------------------------------+
      | 警告:まだこのメールソフト上でメッセージ全体を表示し終えて |
      | いません。論理的に考えて、あなたがメッセージの内容をすべて |
      | 読んで理解するのは不可能なはずです。                       |
      |                                                            |
      | メールを全部読んでちゃんと考えてから返信しないと相手に失礼 |
      | です。                                                     |
      |                                                            |
      | あなたに頭を冷やしてもらうためのタイマーが発動しました。今 |
      | 後1時間、このスレッドのいかなるメールにも返信はできません.|
      |                                                            |
      |                     [キャンセル]                           |
      +------------------------------------------------------------+


      +------------------------------------------------------------+
      | あなたはこのメールを秒速 N.NN 文字以上の速さで書き終えまし |
      | た。一般に、きちんと考えて書いていたなら秒速 A.AA 文字をこ |
      | えることは不可能です。おそらく、あなたが今書いた返信は支離 |
      | 滅裂で意味不明かつ感情的なものだと思われます。             |
      |                                                            |
      | あなたに頭を冷やしてもらうためのタイマーが発動しました。今 |
      | 後1時間、一切メールは送信できません。                     |
      |                                                            |
      |                     [キャンセル]                           |
      +------------------------------------------------------------+


私の願いの2番目はもっと感情的なものだ。sleep(1) スレッドで敵対的な批判
をした古参たちは、プロジェクトへの参加歴が長いというのに、このちょっと
したことをやろうとなんて思わなかった。明らかにね。それなのに、自分より
かなり下の後輩がそれをやろうとすると、なぜいきなり彼らはすごい勢いで燃
え上がるんだろうか?


わかっていればなぁ。


わかってるとも。いくらこんな分析をしたところで、あんな「反動保守主義者」
どもの抑止力にはならないってことくらい。たぶん奴らは、最近自分が何も貢
献できていないことにいらついているんだろう。あるいは「わしら年長者こそ
が、若造たちを正しく導いてやらねばならぬ」などと偉ぶってるんだろう。


どっちにせよそれはプロジェクトにとってまったく非生産的なことであるわけ
だが、私にはそれをやめさせる方法がわからない。とりあえず言えることは、
メーリングリストに潜むモンスターどもに餌を与えるのはやめろってことだ。
とにかく無視する。決して返信しない。奴らがそこにいることを忘れるんだ。


私は、FreeBSD への貢献者がもっと増えてもっと力強くなることを願っている。
そして、彼らを気難しい爺さんどもや (個人名省略) みたいな奴らから守るん
だ。あいつらがこの世界に足を踏み入れて彼らを脅かし、追い出してしまうよ
うなことになってしまってはいけない。


ガーゴイルどもにおびえてプロジェクトへの参加を躊躇している皆さんへ。た
だただごめんなさいとしか言いようがない。何とか仲間に加わって欲しい。今
の状況は、決して私の望んだ状況ではないんだ。

Poul-Henning