aka LWN JAPAN
[ C H A N G E L O G ]
[Tux]

ChangeLog

ChangeLog
メール版
登録

Special
ChangeLog
メール版
登録

ChangeLog


ESR in 京都!

  1. インタビュー
  2. 講義ノート
  3. 関連リンク

ESR

ESR インタビュー(前半)

Eric S. Raymond 氏 (ESR) はオープンソースプロジェクトの幾つ かを自ら率いているばかりでなく、OSI (Open Source Initiative) の代表としてオープンソース界とビジネス界とのインターフェース として活躍されている方です。論文「伽藍とバザール」の発表は業 界に多大な影響を及ぼし、Netscape 社のソースコード公開の引き 金にもなりました。

以下は、5月28日 京都産業大学(日本語)情報教育システム見学ツアー (日本語)と同時開催された、Eric Raymond 氏京都講演 の際に実施したインタビューの前編です。(後日後編も公開する予定です。)

インタビューの場所と時間を確保し調整して下さった、よしだ様、 Peterson 様、樋口様、開原様、並びに、 Eric Raymond 京都講演実行委員会の方々(日本語)、 事前にアドバイスをいただいた、笹川様、力武様、本当にありがとうございました。

当日参加させていただいた京都産業大学の情報教育システム見学ツ アーでは、数百台の液晶端末が並ぶ大計算機室において、管理者一 人の遠隔操作による並列計算のデモが行われ、正に圧巻でした。 (ESR も絶賛していました。)

京都産業大学情報教育システム
未来を感じさせる次世代情報教育環境と言い、豊かな自然環境と調 和する建築の概観と言い、日本で屈指の教育施設と言えるのではな いでしょうか。

そんな最先端の教育現場において、熟慮の結果、Linux と FreeBSD というオープンソース OS が本格的に大量に導入された。(既に昨 年末の Linux Conference(日本語)で予告されていたとは言え)間違いなく 今年の Linux 界の象徴的な事件の一つと言えるでしょう。上手く 言い表せませんが、今後が楽しみですね。

Eric S. Raymond 氏とのインタビューは、講演の前、京都産業大学 の静かな一室をお借りして行われました。


ChangeLog: まず始めに、世界中が今か今かと待っている次回作「魔法の大釜」 がいつ公開されるのか教えていただけませんか?
※「魔法の大釜」(The Magic Cauldron) … かねてから予告されていた に続く、ESR 最新作。
ESR:
もう後 2〜3週間のうちに公開するよ。 実は、僕のコンピュータに最終バージョンになると思っているもの がもう、あるんだ。だから、後 2〜3週間のうちに公開できると思 うよ。

ChangeLog:
その論文では、企業がソフトウェアを販売することによって直接的 に利益を得るのではなく、オープンソースにすることによって利益 を上げる方法が明らかにされると聞いておりますが、、、

ESR:
そのことも含まれているよ。 でも、論文は、そのことについてだけではないんだ。 そういうアイデアについても確かに書いてあるけどね。

その論文で明らかにしたことの一つは、 8つのビジネスモデルについてのことなんだ。

そのうち 6 つは、実世界でオープンソースソフトウェアから実際 に利益を得ている実例があるものなんだ。

だから、うん、その点についても書いているよ。 でも、論文はそれだけじゃないんだ。

ChangeLog:
あなたの「伽藍とバザール」には、 Netscape 社が最も影響を受けた企業だと言えますよね。 「魔法の大釜」によって最も影響を受ける企業はどこでしょう?

ESR:
まだ公開していないから、わからないよ。:-)

ChangeLog:
そうですね。:-) でも最も影響を受けそうだと予測している企業があったら、 是非(こっそり :-)教えていただけませんか? その会社の株を買っておきたいので、、、:-)

ESR:
なるほど :-) うーん、今頭に浮かぶ企業といえば、IBM だね。 OSI が今、あることについて交渉しているから。

詳細については今、明らかにすることはできないけど、 近い将来、IBM から面白いアナウンスがある、とだけは言っておけるよ。

(参考)
  • 「IBM 純正」となる Linux(日本語、PCWEEK ONLINE JAPAN)
    IBM:「Linux 関連の「大規模な」発表はまだこの先に控えている」
ChangeLog:
IBM から助言を求められたりされたのですか?

ESR:
うん、求められたよ。

今、話せないけど、いろいろ議論していることがあるんだ。

直接今度の「魔法の大釜」に関係あることではないけれど、ある製 品にどのようなライセンスを使用するかについて、IBM と話し合っ ているんだ。

IBM はそれをオープンソース(英語)としてリリースすることを考えている んだ。

だから、今僕は、その使い方について話し合いをしているんだ。


ChangeLog:
あなたは 3月の LinuxWorld でのパネルディスカッション(日本語)で司会を されていましたね。司会としての仕事で忙しく時間がなくて、言え なかったことなどありませんか?
ChangeLogパネルの日本語訳があります。
ESR:
言っとくけど、あの仕事はかなり大変だったんだぜ。 :-)

普通のパネルディスカッションの司会をやればいいと思っていたの に、コンファレンスの主催者が、まさか 6,000人規模のロックコン サートにしてしまうなんて、全然予測してなかったんだ。

6,000人もの人が、それぞれ言いたいこと言ってたら、 真面目なディスカッションなんて出来やしない。:-)

うん、あれは、大変だった。

ChangeLog:
そのパネルディスカッションに臨む前に、何かこれは言っておこう と思っていらっしゃったことなどありましたか?

※元々は ESR の講演として予定されていた時間でしたが、 土壇場で急遽(きゅうきょ)パネルディスカッションに変更された、 という経緯(いきさつ)がありました。
ESR:
僕の、あのディスカッションでの目的は、パネルの人達、つまりオー プンソース界でも最も重要なリーダー達が、この 1年間にオープン ソース運動が実現するべきであることについて話し合ってもらうこ とだったんだ。
※ パネルのメンバーは、ESR の他に、Larry Wall 氏(Perl)、 Richard Stallman 氏(FSF)、Guido van Rossum 氏(Python)、 Linus Torvalds 氏(Linux)、という錚錚(そうそう)たるメ ンバーによって行われました。聴衆との質疑応答もなされ、 Bruce Perence 氏(元 Debian、元 OSI、OSD(英語)の原作者)も登場 しました。
そして実際に目標を見つけることができ、今彼らもそれに取り掛かっ ているよ。

ChangeLog:
ディスカッションのテーマは、「革命の継続」についてでしたね。

ESR:
そう。「次は何か」だった。

ChangeLog:
そして、次の9ヶ月間、つまり今年中に何がなされるべきか、が話 し合われましたね。あれから 3ヵ月経ちましたが、目標に変化はあ りますか?

ESR:
あのパネルで確認された目標のうち一つは、オープンソースソフト ウェアの教育への導入を増やすことだった。

京都産業大学のデモ(日本語)をさっき見学してきたんだけど、この目標が実 現されている、ということだね。今のところ、スケジュール通り、 ということじゃないかな? :-)


ChangeLog:
あなたは、日本文化と武道に興味をもっていらっしゃるそうですね。
※ ESR は、講演の翌日、京都・奈良を実行委員会の方々と一緒に 散策され、非常に楽しい時を過ごしたようです。詳しい様子は、 実行委員会のページ(日本語)から辿れる、中元崇さんのレポート (日本語、写真付)でご覧になれます。また、ESR 自身もあまりに感 慨深かったため、Eric's adventures in Japan (仮称)をまとめ るんだそうで、意気込んでいらっしゃいました。
ESR:
そう。合気道を習っているんだ。 すっごく初心者だけどね。1ヵ月前に始めたばかりだから。 でも、その前に、空手を 9年習ってた。 初段を持ってるよ。
こちら(英語)の合気道の道場に通われているそうです、、、 (興味のある方のために、念のため。:-)
ChangeLog:
空手を先に習って、それから合気道を始められたということですか。

ESR:
そうだよ。 空手を習ってから、合気道を始めた。 その方が、逆より良い方法だと思うよ。

空手は比較的単純で、合気道はより複雑で安定した技術が必要だか ら。

ChangeLog:
ハッカーとして、また OSI(英語)の代表としての活動において、日本文 化や合気道による影響を受けていると感じることがありますか?

ESR:
どういう風に影響を受けてるのかは、ちょっと分からないな。 でも、武道は米国のハッカーの間では非常に一般的だよ。 そう言う意味から言うと、僕は特別ではないんだ。

米国一般的に見ても、武道はもう珍しいことではないけど、 他の人達と比べても、ハッカーには特に武道をやっている人が多いね。

このことは既に 1991年に、僕の「新ハッカー辞典」(英語)の中で明らか にされているよ。「典型的なハッカーは武道に興味がある。」 あれから 8年経つけど、このことは、より証明されつつあると思うね。

ChangeLog:
「空手ハッカー :-)」の数が増えている、ということですか?

ESR:
そう。増えていると思うね。

ChangeLog:
Larry Wall 氏(Perl)が日本にいらっしゃった時、 「プログラマのための合気道」について言及(日本語)について言及されていました。 合気道には様々な型があり、それらの最善の組み合わせを考えて相 手と闘いますが、それがプログラミングに通じるところがあるそう ですね。

ESR:
うん。ちなみに Larry とは仲が良いんだ。

僕がプログラミングと武道に共通していると思うのは、 両方共、他のことではあまり要求されないような、 精神の鍛練のようなものを必要とするということなんだ。

つまり、(自分の頭を指さして)ここに必要とされることが似てい るんだ。

このことが多くのプログラマを惹き付けているんだと思うね。

ChangeLog:
9年も空手をされているということは、 あなたがハッカーコミュニティ内で最強なのでは?

ESR:
(非常に照れながら) いやあ、そうは思わないよ。 おそらく違うね。(笑)

ChangeLog:
では、Tove とあなたでは、どちらの方が強いですか?

ESR:
(手をたたいて爆笑) おお、おそらく彼女だ。 彼女。 (何故かやや興奮気味) 自分の国で 6回もチャンピオンになったことないからね、僕は、彼女のように。 おそらく彼女の方が優れた空手家に違いないね。

※ Tove は、Linus の奥さんです。

今年 2 月 Linus は、バレンタインデーリリースになるだろ うと予告していたものが一日遅れた時の釈明として、

「妻に殺されまいとする超人的努力の結果、 最新リリースを1日遅らせることにした。」
とのアナウンスを投稿されていました :-) (Linux-Kernel ML(英語))

(※ 今年のバレンタインデーはちょうど日曜日でしたから、 家族でどこかに外出して、ゆっくりとした休日を過ご した、ということでしょうか。)

ESR 作(山形氏訳)の Halloween IV(日本語)もご覧下さい。

ChangeLog:
あなたの護身術、空手や(英語)、が完璧だということは承知しておりますが、 もしあなたがバスにひかれてしまったりしたら、どうなるのでしょう?

ESR:
死ぬね。カルマ(宿命)だ。(笑)

※ ESR は銃の愛好家でもあります。

ESR 結婚秘話…

ESR が Cathy (奥さん)と婚姻届を出しに行ったときのこと。

二人とも銃の愛好家だったため、その届けも同時に出しに行く ことにしました。

二人にとっては勿論、婚姻届がメインイベントでした。

しかし、途中会った役所のガードマンには二人が手に持ってい る書類の内、銃の届けだけが目に入りました。

そして、ESR の肩に手をかけ、二人を交互に見ながらこうアド バイスをしました。

「やめておけよ、そんなこと。今ならまだ間に合うぜ。」

ChangeLog:
えぇっと、この質問は Linus の FAQ になっていて、 「Linus がバスにひかれたりしたら、Linux はどうなっちゃうの?」(日本語) というものですが、あなたとオープンソース運動の場合はどうですか?

もしあなたが突然事故にでも遇ったら、Linux やオープンソース 界は、外部からの FUD に押し潰されてしまいませんか? 先週 Microsoft は、Linux 対策チーム発足(日本語)させましたね。

ESR:
ああ、そういうことなら、別の答えがあるよ。

僕が OSI(英語)を設立した理由の一つは、 僕が今までに学んだことを引き継いで貰って、 それをさらに他の人々に教授していってもらう、 ということなんだ。

そうすれば僕がトラックにひかれた(英語)としても、 この組織によって仕事は継続されることが可能になるから。

つまり僕が代替不可能にならなくても良いように、というのも OSI の存在理由の一つなんだ。


ChangeLog:
あなたは、「バイナリのみで配布される(プロプライエタリー(非 自由)な)ソフトウェアはコミュニティにとって問題だ」という Stallman 氏 (RMS)(英語) の意見に賛成ですか?

ESR:
ノー。

ソフトウェアがオープンであることが経済的意味を持つような状況 もあるし、ソフトウェアがクローズドであることが経済的意味を持 つような状況もあると思う。

クローズドであることが経済的意味を持つような状況、というのは 多くはないと思うけど。

クローズドにした方が良いと思っている人に、オープンにすること を強制するなんてことには僕は全然興味が無いんだ。

もし、オープンにする方が上手く行くのなら、 みんなそのことを理解するようになるだろうからね。 そして実際、みんなそれを実行するようになるんだ。

人々を教育するのが僕の仕事なんだ。 無理やりオープンソース運動に加えたりすることはしないよ。

ChangeLog:
将来的に、バイナリのみの(プロプライエタリーな) ソフトウェアベンダも生き残ると思いますか?

つまり、サポート等を売るのではなく、ソフトウェアそのものを売 るビジネスもなくならないと思いますか?

ESR:
なくならないだろうね。

業界全体での割合は、今と比べるとずっと減るとは思うけど。

将来的には、僕は 5 〜 15 %のソフトウェアがクローズドになると 予測しているんだ。

そして、インフラストラクチャのレベルであるすべてのソフトウェ ア、つまり、OS や ネットワーク関連のソフトウェア等がオープン になることは確かだと思うけど、でも、クローズドなソフトウェア も、きっと存在していると思うよ。

そして、そのことは全然、僕を思い悩ませるようなことではないんだ。

ChangeLog:
オープンであること以外に、あなたの「良いソフトウェア」の 条件とは何ですか?

ESR:
僕の「良いソフトウェア」の定義は、 何はともあれ、クラッシュしないこと!!(爆笑)

クラッシュしないで、走り続けること! とっても基本的なことだよね。

(クラッシュしないこと、クラッシュしないこと、 とゆっくり何度も繰り返して強調。)

クラッシュしないこと、 人間が理解できるように設計された仕事をこなすこと。 だって、人間が使えなかったら、どうしようもないからね。

つまり、 人が理解できる形で設計された仕事をするということだね。

それ以上詳しくは、 どんなソフトウェアについてのことなのか言ってもらわないと 答えられないね。

違った種類のソフトウェアには、違った種類の品質が求められるか らね。

スピードが最重要項目であるソフトウェアもあるし、 ユーザーインターフェースが重要なものもある。

特定の複雑なアルゴリズムを正確に実行することが 最優先されるべきであるようなソフトウェアもある。

だから、これらについて一般論を述べるのは難しいんだけど、 でも、非常に基本的な基準として、、、

(机をコツコツ叩きながら叫ぶ)

クラッシュしたらダメ!!

(熱弁し尽くして、しばし息切れ。)

ChangeLog:
既存のバイナリのみのソフトウェアのうち、 「良いソフトウェア」があれば教えていただけますか?

ESR:
(唐突な質問にキョトンとして) え? あー、うーん、難しいなあ、、、

うーん、、、(本気で考え込む)

だって、バイナリのみのソフトウェアなんて、長らく使ってないから、、、

(ぶつぶつと独り言。) あれ?(ソースコードの存在しない)バイナリのみのソフトウェア? 何それ?そんなのあるの?(笑)

分からないなあ、、、 でも、多分、、、 Netscape Navigator 4 は、そんなに悪くないんじゃない? 僕も使ってるんだ。

(「え? 良いソフトウェアの基準にあってないんじゃない? しょっちゅうクラッシュするよ!」 (Peterson 氏)という突っ込みに対して 「本当? 面白い、僕のはクラッシュしたことがないよ。」 と答える)

僕の経験的には、Navigator 4 はそんなに悪くないと思うけど、、、

頻繁に使うソフトは、これしかバイナリのみのソフトウェアなんてないから、、、

(うつむいて再び考え込んでしまいそうなった瞬間、 突然閃いたらしく、
頭をもたげ、
机を叩き、
興奮して叫ぶ)

そうだ、そうだ!!

すごい、これってしかも windows のソフトウェアだ! ワォ! (自分だけ興奮してもったいぶる。)

僕が windows マシンでいくらかでも走らせることのある 唯一のプログラムは、「Civilization」というゲーム。 これはかなり良いソフトウェアだよ。 (Civilization の Linux 版(英語)は、5月下旬にリリースされる予定で した。)

日本にもある?
このゲームはさあ、、、

(ESR、足をバタバタさせて Civilization がどういうゲームかを熱心に話し始めて止まらない。)


ChangeLog:
あの、、、次の質問してもいいですか?(笑)

ESR:
あ、いいよ、もちろん、どうぞ。(笑)

ChangeLog:
Ken Thompson 氏の Linux に関するコメントについて(日本語)ですが、 「Linux は NT よりひどい」とおっしゃっていました。

しかも信頼性についてです!

あなたは ken のこのコメントについての真相を明かす文書を LWN にも送って下さいましたが、この信頼性についての部分は特に含ま れていなかったので、説明していただけますか?

ESR:
彼のコメントについて理解しておくべき点は、 Linuxについて語っ た彼の経験というのが、実は PC でないハードウェア上の Linux の話であるということなんだ。そして、それについて信頼性が無い と言ったんだ。

元のインタビューの記事をもう一度読み直したら、彼が正にそう言っ ているのが分かると思う。

※ どうやら Computer 誌の編集の段階でニュアンスが変ってしまっ た、ということのようです。
僕は、彼が使用したのは、Alpha か PowerPC 上の、マイナーで、 やや不安定なバージョンだったんじゃないかと推測している。

そして実際、それらのバージョンは、PC 上のLinux ほど信頼性が 高くないのは事実なんだ。まだそれほど多くは使われてなくて、バ グが削ぎ落されるだけの十分な時間がまだ経っていないからね。

※ Linux は、開発者も一般ユーザも PC (アーカテクチャ) を利用 する人が最も多いため、PC上のものが最も安定したコードとなっ ています。
それに、(逆説的に)面白いのは、彼が PC でないハードウェア上 の Linux に話を限定しているということは、彼が実際に PC ハー ドウェア上で走っている Linux を見たことがあり、実際に信頼性 があると知っていたからだ、ということなんだ。
※ そうでなければ、わざわざ「PC 上のでなければ」と明記してアー カテクチャを限定(除外)したのが不自然だから、という理屈 です。(なお、多少マシだが酷いに変りはないとLinux と同時 に酷評されていた NT に関しては、特にアーカテクチャは限定 されていませんでした。)
でも、(ken とのメールでのやりとりで)それ以上の詳細は教えて もらえなかった。 どんなマシンを使っていて信頼性が得られなかっ たのかを尋ねたが、ken は教えてくれなかった。

だから、僕も公開文書にその点については含めることができなかっ たんだ。

でも、面白いよね。 彼は PC 以外のかなりマイナーなLinux ポートを使っていたんだと思う。

ken は、オープンソースについては良い考えだと言ってくれたから、 それについては、ホッとしたよ。 (笑。胸をなで下ろすジェスチャーをする。)

※ ESR は、OSI (Open Source Initiative)(英語) の代表として、オープンソースソフトウェア界のスポークスマン として活躍していらっしゃいます。
だいたい、ken が「Linux なんて良くない」って言うなんて、 栄西が戻ってきて「禅なんて良くない、厄介だ!」って言うような ものじゃないか!ワッハッハッハッハッ!!(ESR のみ爆笑。)
※ これは ESR お得意の禅についての冗談だったのですが、 ChangeLog を含めインタビューに同席された方々はすぐには理 解できませんでした :-)

辞書によると:-) 栄西は、中国から日本に初めて禅をもたらし た日本人の僧だそうです。

つまり、栄西が「(日本の)禅なんてダメ」というのは甚だお かしい、なぜなら、日本の禅は彼の影響を大きく受けているは ずなので。いわば、その人自身の教えを忠実に実行していたら 突然否定されたようなもの、というあたりがジョークのようで す。

ちなみに ESR は後で、日本に来て驚いたことの 一つとして、 「僕の禅ジョークが通じないんだ!!」

ともおっしゃっていました、、、:-)


(インタビュー途中中略。整理できた時点で後編として公開する予定です。)
講演(日本語)の後、実行委員会の方々との宴会(日本語、写真付、中元崇さん) へと向われる途中、ESR とお話できる時間がありました。 ESR は既にかなり宴会モードに入っていましたが、 いくつか質問させていただきました。)

ChangeLog:
「OSS トップ100」のようなランキングを提供する予定はありませんか?

※まだ開発が始まったばかりで、まだ十分に OSS の開発モデルの利点を 生かしきれてないソフトウェアと、既に十分に OSS の利点を享受して 商用製品並に発展したソフトウェアとを、区別し、 ユーザを適切にガイドするために。 というのは、例えば、同じ種類の機能を提供するソフトが 幾つかあったとして、まだ十分に開発が行われていない ソフトウェアを詳しく(知りたいとは思わ)ない人が利用することによって、 「オープンソースソフトなんてどれもこれもジャンクばかりで使えない」という 感想を持たれてしまう可能性があると思ったので。
ESR:
ないね。 だって、そんなこと、もしやっちまったら、 政治的な言葉 :-) をめちゃくちゃ浴びせられるだろうからね。

(子供っぽい、おどけた高い声で猛スピードで)

「どーして僕のソフトウェアをリストに入れてくれないんだー!」
「俺様のソフトウェアはリストに入るべきだろー!!ギャー!」

(あー、こわ、という感じで。)

そんなこと、できないね。冗談じゃない。 今やってることだけで十分トラブルを抱えちまってるんだ :-)

(ESR は、とても良い感じの方でした。

正直言いますと ChangeLog は、もっと気難しくて、終始険しい 表情をしていらっしゃる方だと思ってました。 (伽藍とバザールの写真のような :-)

話されること自体は、確かにオンラインとオフラインとでそれほ ど違うことはないのですが、どうやら文字メディアが伝える場合 には、彼の、穏やかで暖かい(より正確には、キュートでお茶目 な)雰囲気がすべて省略されてしまっているような気がしました。)

※ 講演に出席されなかった方は、是非、RealVideo で、 その微妙なニュアンスを感じ取ってみてください。

実行委員会の方々(日本語)の御尽力によって講演の完全な記録が、 RealVideo によって閲覧できるようになっています。

また、完全な講演録にも取り組んでいらっしゃるようです。

さらにそれらの成果はインターネットだけでなく雑誌付録 CD-ROM 等を通して広く配布されることになる予定とのことです。

(ESR は、ChangeLog が思っていたよりも ずっと良い感じの方だったので、そう伝えると)

ESR:
(大きく目を見開いて)

え?
嫌なヤツだと思ってたってこと?
そういうこと?
僕が_何_を_し_た_っ_て_い_う_ん_だ_!!
勘弁してよ!!(笑)

(と驚かれていました。)

(LWN に関しては、 ウィークリーニュースと言いつつデイリーもやってるしね、 good job だと思うよ。とてもね。 というコメントをいただきました。)

(また、ネット上でのフレームに関してもコメントをいただきました。)

ESR:
一度会ったことのある人からは、フレームされないよ。 時々うるさくて手に負えなくなるのは、一度も会ったことのない人なんだ。

僕に対しては一般的に、フレームは公の場で投げられ、 優しいことを言ってくれる人は個人的にメールを送ってくるんだ、、、 逆だったら良いんだけどね。:-)

ESR

ESR 京都講演(講義ノート)

(講演は1000人以上は入ると思われる京都産業大学の大ホールで行 われました。参加者は200人と発表されています。講義というこ ともあり、(服装はスーツではありませんが)インタビューの時 よりもだいぶ畏(かしこ)まった雰囲気で講演をされていました。 講演には逐次通訳がありましたが、ESR は、出来るだけ多くの 人に自分の主張が直接伝わるように、ゆっくりはっきりした口調 で講演してくださいました。)

(以下では、ESR の表現とは一部異なっている部分があるかと思 います。意訳の範囲内ではなく言い過ぎや完全な誤訳と思われる 場合にはご連絡下さい。宜しくお願い致します。)

(彼はまず、聴衆がどんな人達なのか把握することから話を始めました。)

ぼくの「伽藍とバザール」を読んだことある人はどれくらいいるか な?

(半分くらいの方が手を挙げました。)

講演中、いつでも質問して下さい。

(彼は、ビジュアルを一切使わず対話のような感じで講演を進めま した。自分のキャリアを少し述べた後、「伽藍とバザール」をベー スにした講演を始めました。)

私は、1993年まで約15年間ソフトウェアエンジニアをしていました。 そして、高品質なソフトウェアを開発するために必要な方法ついて は、それまでの経験に基づいた固定観念を持っていました。

Linux 以前に私が持っていた固定観念というのは、 「Brooks の法則」という格言に凝縮されていました。

けれども、93年に Linux が出てきて、その自分の今までの考え方 をすべて覆してしまったのです、、、

ショッキングでした、、、


以下、講演ノート。
(参考:伽藍とバザール(日本語)。ほとんどすべての内容はここに書かれています。)
Brooks の法則
  • 遅れているプロジェクトに人員を追加すると、さらに遅れる。

    なぜなら、

    • n 人のプロジェクトにおける仕事の量は、 n に比例。 (プロジェクト全体としてこなすことのできる 仕事の量は、開発者の数に比例。

      (eg. 10人よりも20人の方が2倍の仕事量をこ なせる。)

    一方で、

    • バグの量、管理の複雑さは、n^2 に比例。
      (正確には n * ( n - 1 ) / 2 に比例。)

    なぜなら、(言い換えると)

    • プログラマ間のコミュニケーションの経路数に比例。

    つまり、

    • バグ数は、違った人が書いたコード同士のインターフェースにおいて累積。
    • 管理の複雑さは、プロジェクトに関わる人々同士のインターフェースにおいて累積。

    したがって、

    • プロジェクトが大規模になってくると、プロジェクトに人を追加することによって、その追加された人がこなす仕事の量

      (つまりプロジェクト全体としてこなすことのできる仕事の量の増分)

    よりも、

    • その人が追加されたことによって、プロジェクトが完了するまでにこなさなければならなくなる仕事の量

      (つまりプロジェクトの複雑さが増加することによって増加する、プロジェクト全体としてこなさなければならない仕事の量の増分)

    の方が多いため、

    プロジェクトが完了するまでの時間は、 かえって増えてしまう。

そのために次のようなポリシーを持つべきだと思われていた。

  • 開発グループを小さくすること。
  • 開発グループを厳密に管理し、他の世界から隔離すること。
  • 新しいことをするよりも、バグを潰すことに専念すること。

正直言って、最初は Linux が成功するとは思わなかった。

  • しかし Linux は見事に成功した(している)。
  • だから Linus がどうやっているのか理解しようと思った。

3年間見てきて、分かってきたこと

  • Linux の特徴
    • 伝統的な「Brooks の法則」の反対のことをやっている!

    つまり、

    • (開発グループを小さく、に対し)開発者の数が多い。
    • (厳密に管理し隔離されるべき、に対し)オープンで外界から多くのフィードバックを得る。
    • (新しいことをせずにバグ潰しに専念、に対し)リリースとリリースの間が非常に短い。(1日おきのこともあった!)
  • Linux が成功している(信頼性が高い)のは、驚きだった。(当時としては型破りなことをしながら。)

2つのスタイルの違いは「バグの発見の仕方」。

  • 伽藍(伝統的な方式)
    • バグを見つけるには、プロジェクト内で専任の人が始終見張っている必要がある、という前提。(コストの問題から多くの人には見て貰えない。)
  • バザール(Linux)
    • プロジェクト外部の一般の人も含めた大量の人に、(のべ)長時間見てもらう。

「Linus の法則」とは?

もっとも重要な違いは?
  • ピアレビュー!(Peer Review)

「ピアレビュー」とは?

  • 科学の世界で使われ、うまく行っている、設計をチェックする方法。
  • 例えば、物理学の世界では、一人の物理学者が発見したことは、他の多くの物理学者によってレビューされる。(つり橋、ダムの建設等でもよく使われる。)
  • 「ピアレビュー」は信頼性に非常に関わっている。
  • 信頼性の高いソフトウェアにしたければ、「ピアレビュー」しかない!

(質問)「ピア」の定義は?

  • 設計の段階で、その設計者と同じ世界の専門家が、設計の正当性をチェックする。
  • もともとの設計した人とピアレビューする人の間に、政治的な思惑が働かないことが大切。

バザール方式が「Brooks の法則」からどうやって逃れているのか。

  • 「Brooks の法則」における暗黙の前提
    • プロジェクトのメンバーが、他のメンバー全員とコミュニケートしないといけない。
  • オープンソースプロジェクトの場合
    • 中心メンバーと周辺の人達との間にコミュニケーションがあるだけ。
    • プロジェクト参加者が何千人もいても、管理可能。(むしろ大人数のテスター、デバッガが使えるという利点。)
      (開発するために、すべての人(特にデバッガ同士)がコミュニケーションする必要はそれほどない。)

オープンソースだからと言って、複雑さが減るというわけではない。

  • 一般に人を増やして複雑さが減ると言うことはありえない。
  • どうやって、増やさないようにするか、というのが問題だ。

(質問)デバッグは人海戦術が取りやすいが、上流工程におけるプラニングなどには、そういう手法は活かされるのか?

  • 確かに、人海戦術は必ずしも、アーキテクチャ開発等に生かせるものではない。(この方法でやる必要はない。)
  • アーキテクチャ開発をする人は、コアのメンバー(少数)だ。
  • でも、オープンソースは、デバッグにしか活かせないとは思わないで欲しい。
  • 他の人達のフィードバックは、プロジェクトに新しい洞察を加えてくれる。
  • 実際に、自分のプロジェクトで、他の人が問題に新しい見方を与えてくれたことがある。
  • 「伽藍とバザール」を参照して下さい。

(一段落したところで、彼は、講演の残りを聴講者にとってより意 味のあるものにするため、多数決を取ることにしました。)
えー、次に、何を話しましょうか?
  • メインストリームビジネスにどのようにオープンソースを広めていくか
  • ビジネスモデル
  • ジョーク :-)
どれについて話しましょうか?

ジョークは、あまりうまく翻訳できないだろうから、その他の2つ にした方がいいね。:-)

皆さん、挙手をお願いします。

(多数決を取りました。)

、、、ワーオ、ほとんど半々だ!

(どっちでも良いって事なら) じゃあ、コインを投げて決めることにしましょう。(会場爆笑)

(ぶつぶつと、こっちがメインストリームビジネスに、、、 こっちがビジネスモデル、、、と呟いた後、コインを投げる。)

んー、、、コインの表だから、、、ビジネスモデルの話だ!

(本当にコインで決めたことに対して会場騒然、拍手喝采。 再び、真面目な講演モードに突入。)

いちばん大きな問題は、この開発モデルを使って、どうやって金儲 けをするか、ということなんだ。


(以下、再び講義ノート。 内容的には、ほとんどすべて
OSI(英語)のページと 間もなく発表される論文に書かれていることです。)
一般的に、ソフトウェア業界について2つの仮定がなされている。
(「製造モデル」と呼んでいる。)

「利用価値(use value)」と「販売価値(sales value)」

  • 「利用価値」
    • そのソフトウェアを利用することで生まれてくる価値
    • 例えば、経理ソフトがあれば効率が上がるので経済的価値が生まれる。
  • 「販売価値」
    • 利用価値を得たい人のためにソフトを売ることによって得る価値。

妄想1:ソフトウェアの価値は、販売価値にある。

  • (挙手)金銭的な見返りを得るために、ソフトを書いたことがある人?
    → 何人か手があがりました。
  • (挙手)その中で、ソフトが売れた数によって、その報酬が変わったと思う人?
    → 手が挙がらない。

  • これは、別に驚くことではない。(当然のことで、予想通りなのです。)

なぜなら、

  • 実際には、プログラミングの仕事の19/20は、利用価値のみによって報酬が決められている。
  • 販売価値によって報酬が決められているプログラミング関連の仕事は、5%以下。

妄想2:ソフトウェアの価値は、利用価値、あるいは製作コストによって決まる。

  • 消費者は、利用価値だけではなく、将来的な期待値を見込んで製品を購入する。
    • 例:30万円で売っていたソフトウェアだとしても、 製造中止と発表されたら、小売りでは1,000 円に価格が暴落してしまうだろう。 (何故なら、それ以降の製品サポート(例え ば致命的なバグのアナウンス)や、今後、 他の同種ソフトでは当たり前のことに なる機能拡張やプラットフォーム対応がな される可能性が非常に低くなるから。)

  • つまり、ソフトウェア産業は、製造産業ではない。サービス産業である。
  • ソフトウェア産業がサービス産業であるなら、製造過程における秘密の技術を持っている、ということにそんなに価値があるわけではない。
  • よって利用価値、サービスにおいて消費者が満足できるものを提供できれば、オープンソースでも、お金を儲ることができる。

「8つのビジネスモデル」について。
(今回は時間の都合で、実例がある 6つまで。)

1.
市場でのポジションを得るためのロス・リーダーとして
    本当に儲けるつもりのクローズドなサービスを売るために、 オープンソースソフトウェアをロス・リーダー(おとり商 品。客寄せ商品)にする。

    例:Netscape

2.
ハードウェアのための、ウィジェット(小物)として
    ハードウェア販売促進のためのソフトウェア(ドライバ等) をオープンソースに。このハードウェアに対して忠誠心を 持つ顧客層が得られる。

    例:Apple の Darwin

3.
剃刀モデル
    (剃刀の「柄」を無料で配布し、剃刀の「刃」を売る。) オープンソースソフトウェアを配布し、それに関わるサー ビス市場を開拓。

    例:Linux ディストリビュータ

4.
(間接的な)アクセサリで儲ける
    オープンソースソフトウェア関連の Tシャツやドキュメン トの販売。

    例:O'Reilly

(まだ実行されていないが、うまく行くと思っているもの。)

5.
ブランドの販売
    ソフトウェアを無料配付(オープンソース)し、ブランド を売る。同じブランドのものなら、よりうまく作動するこ とを保証。

    例:Sun の Java & Jini、まだ実行されていませんが、、、

6.
コンテンツの販売
    クライアントを無料配付(オープンソース)し、コンテン ツ(情報)を売る。

    例:株式の情報配布システム

今述べた方法はすべて、ソフトウェアの販売価値をとりあえずあき らめ、2次的なものから利益をあげるというビジネス戦略です。

この 2 〜 3 年うまくいっています。 疑うなら、Pacific HiTech や RedHat に聞いてみて下さい。 :-)


この後、聴衆の方との質疑応答が交されました。質問の内容は、

  • 無料製品のOSS化の意義(信頼性)
  • GPL派生クローズド製品の販売(それ、やっちゃダメ!)
  • RMSとOSS(剃刀モデルに相当)
  • OSSとセキュリティ問題(クローズドの方がむしろ危険)
  • Nescape の OSS化(1999/06/23発売のASCII NTの力武さんの記事に注目)
  • Darwin ( APSL ) の意義(Steve Jobs の心までは読めない)
  • 他の産業への応用(虫のいっぱい入った缶は開けるな(まだ早計))
  • NT の OSS 化(「I_DON'T_CARE_!」(会場爆笑&拍手喝采))
  • ディストリビュータの訴訟問題(それが彼らのお仕事です)
  • 安全性
  • 特許
  • サインして下さい(ESR 爆笑)

と多岐に渡りました。


(最後に、なぜ将来的にオープンソースの方向なのか、という話を されました。)

「複雑さ」に関する例。

  • 一般に、建物は、110 階や 200 階ほど高くはならない。
  • 材料の強度的には実現できる。
  • だが、人間にとって使える建物というのは、人間が一日 に 2回上下できる必要がある。
  • 問題は、ビルが高くなると、収容人数が増え、 (待ち時間を許容範囲内にするためには) より多くのエレベータが必要となるということ。
  • 最終的に、ビルのフロアにはエレベータの場所しかなく なってしまう。

システムが大きくなると、管理の複雑さが大きくなる。

  • すなわち、「Brooks の法則」。
  • ビルの場合、限界に達すると、いくつかの低いビルを地 下鉄等で結ぶ、という解決策。

「中央集権化」はスケーラブルでない。
(Centralization does not scale.)

(※ここでいう中央集権化(集中管理方式)とは、 デバッグを含めたすべての開発プロセスを閉じたプロ ジェクト内で完結させてしまおうとすること、という ことであると思われます。

つまり、ここでは、 中央集権化、イコール、伽藍モデルによる開発 ということになります。

一方、バザールモデルは、分散開発モデルと言えます。 なぜなら、 デバッグ作業をコアの開発メンバーの外に分散させてし まうことによって、コアの開発メンバーをなるべく 小さく保とう、ということです。)

(※あるいは、centralization というのは、 コアとなる開発チームそのものを指しているとも 考えられます。 (結論的にはそれほど違いはありませんが。)

つまり、コアの開発チームはスケーラブルでないから、 負荷(負担)をできるだけ小さくしておきたい、 ということであると思われます。

良く言われていることに、

Linus does not scale.

という問題があります。 (Linux ではなくて Linus です。 Linux もカーネル自身はスケーラブルではないそうですが。)

これに関しては次回以降に関連トピックを紹介できれば、 と思っています。)

  • 今まで(40年間)ソフトウェアの複雑さは増し続けてきた。

  • これ以上、クローズド(中央集権化)では無理という限界点がある。
    (※書かなければならないコードの量が増える。
    →プログラマの数が絶対的に多く必要。
    →複雑さの増大に起因するバグの数増大。
    →クローズドではバグを発見し切れなくて破綻。)

今日にでもこの限界点に達するだろう。

  • Windows 2000 は行き詰まる。
  • Microsoft がアホだからではない。
  • 実際、Microsoft は優秀なプログラマを数多く抱えてい る。
  • エレベータ効果により、全体の複雑さが増え続けている からだ。 (※そしてクローズドのままではバグを潰し切れないから。)
もっと低いビルを作り、全体の力を分散化する必要がある。
(※ Microsoft は、一つの巨大なビル(Windows 2000)を作り 上げようとしている。)

Linux、オープンソースが成功する基本的な理由は以上です。


  • 京産大見学 115人, プレス12人
  • 講演会参加者 200人(概算)
  • 講演Real中継 延200アクセス(概算)
  • ESR

    関連 URL

    ESR
    新作論文「The Magic Cauldron」(英語)
    ChangeLog
    論文発表にあたり ESR からChangeLog読者の方にいただいたメッセージ
    山形浩生氏
    上記論文日本語訳「魔法のおなべ」(日本語)
    ChangeLog
    論文翻訳にあたり山形氏からChangeLog読者の方にいただいたメッセージ
    ESR 京都講演実行委員会
    ESR 京都講演関連リンク
    HotWired
    山形浩生氏による ESR インタビュー
    ChangeLog
    1999年3月の LinuxWorld Expo でのパネルディスカッション

    Copyright (C) 1999 Metachannel Systems Corp. all rights reserved. ChangeLog
    Copyright (C) 1999 Eklektix, Inc. all rights reserved. Linux Weekly News
    Linux (R) is a registered trademark of Linus Torvalds.