Linusは包括的妥協競争の世界チャンピオン

いきなり話がそれますが、ノゲイラとミルコの試合は凄かったですね。1ラウンドはミルコが押しまくっていて、結果は本当に紙一重の差に見えますが、紙一重の絶対的な差があるようにも思えます。

ノゲイラはくらってもくらっても致命的な打撃だけは受けないように計算していて、しっかりスキをうかがっていて計算通りにしとめたようにも思えるし、あとひとつミドルが入ったら動けなくなって試合が終わっていたようにも見える。結局、素人には再戦してもらわないとどっちが強いのかわかりません。

スポーツの結果はそういうもので、常に運不運がつきものです。だからと言って、格闘技でリーグ戦を何試合もやるわけにはいかないし、まあ、チャンピオンは実力と運をひっくるめたチャンピオンだから面白いわけです。

それで、突然、本題に戻るんですが、Linusはある種目ではまぎれもなく世界チャンピオンです。Prideのような紛れ、勝負のアヤの一切無い正真正銘の実力派チャンピオンなんです。なぜかと言うと、何度も何度も再戦してその種目で勝ち残っているからです。何の種目かと言うと、はなはだ即物的な色気の無い命名ですが、私は「Linuxカーネル開発における包括的妥協競争」と名づけました。

Linuxカーネルの開発リーダの仕事は、Russellさんの言うように自分でコードを書くというより、世界各地から毎日毎日、山のように送られてくるパッチとの格闘です。パッチを送る方は、自分の都合だけで特定のローカルな機能だけを見てパッチを作るわけです(例外もあるでしょうが)。Linusはそれを採用するか拒否するかひとつひとつ判断しないとなりません。

たくさんのパッチが送られてきて、それが全部使えれば苦労はないのですが、あるパッチを使うと別のパッチが使えなくなったりします。特定の機能を実現する代わりに、将来の拡張性を失なうことになったりする。1億円のマシンで素晴しい性能向上をもたらすパッチだけど、その為にPDAや携帯で電池を余分に食ったりする。要するにパッチ同士はケンカしまくっているわけです。

あるパッチを採用するとは、それの天敵を全部リジェクトすることを意味します。絶対に全てのパッチを生かすことはできない。つまり、妥協、妥協、果てしない妥協の連続です。せっかくの提案の中で、何を退けていくかという意思決定なのです。その時、なるべく多くの人が納得する、つまりその選択でハッピーになるようにならなければいけない。これが「包括的妥協」です。

そして、Linusはこれが世界一うまいのです。彼はおそらく全部のパッチを自分で見てません。機能別に、Russellさんを含む腹心の部下がいて、その人の判断で決めている所もたくさんあると思われます。「こういうパッチでこいつがOK出せば大丈夫」そういうノウハウをフルに活用している。そうやって、本当に自分が考えるべき問題を絞りこんでいると思います。そういうプライオリティの決め方、権限委譲の仕方が天才的にうまいのだと思います。

なぜ、そう断言できるかと言うと、もし、Linusがその判断を間違えていたら、他の人がやってしまうからです。Linusに送られてくる情報(パッチとそれに対するサブリーダクラスの開発者のコメント)はほとんど全てが公開されています。誰かが「Linusは間違っている、俺の方が正しい判断ができる」と思ったら、その人が自分でやってしまえます。自分で、Linusと違うパッチのセットを選んで違うカーネルを作れるんです。だから「競争」なのです。

つまり、Linusは24時間365日、常に、暗黙のチャレンジャーを受けいれているわけです。いつ何どき、この作業をLinusよりもっとうまくこなす天才が出てこないとも限らない。それを一切、Linusは制限していません。GPLでリリースするとは、そういうことです。「この俺に挑戦する命知らずがいるとはな。さっさとかかってこいや」と各ソースの頭に書いてあるようなもんです。

これがオープンソースの世界です。市場競争より猶予の無い、弱肉強食の世界なのです。

はてなダイアリーのキーワードを巡る仕様変更もこれと似たものがあると思います。いろいろなニーズがあって、いろいろなアイディアがある。両立するアイディアもあるし、両立しないアイディアもある。誰かにとって便利だけど、誰かが不便でこれまでしてたことができなくなるアイディアもある。誰にも文句が出ない提案でもうまく実装できるとは限りません。開発者の近藤さんは「包括的妥協」を常にせまられています。なるべくたくさんの人がハッピーになる選択をしないといけない。

もし間違うと、別の日記サイトが立ちあがって、一瞬でみんなそちらに移動してしまう。ライセンス的にも道義的にも、それを制限することはできないでしょう。人のアイディアで勝負するということの中には、そういう厳しさが含まれているのです。

オープンソースのエライ人は、みんな「包括的妥協競争」という市場競争よりはるかに厳しい競争の勝者なのです。そして、常時、暗黙の挑戦を受け続けている。だから、常にイイモノができるわけです。