BACK→CONTENTS


iの研究



第四十八回 <伽藍とバザール>の研究(2)


先日、田中康夫長野県知事が議会から不信任されたニュースはご存知だと思います。
恥ずかしい話ですが、わたしは政治に疎く、この件にコメントする知識もありません。
その田中康夫知事が5月29日に開幕した「LinuxWorld Expo/Tokyo 2002」(東京ビッグサイト)で基調講演を行ったそうです。
講演タイトルは、「e-Japan時代における、長野県の戦略」。

田中康夫(やっぱりこう表記した方が彼らしいですね)はLinuxユーザーなのか?
そうでないとしたら、一体どういう関係が?
誰しも疑問に思ったことです。

田中康夫はLinuxユーザーではありませんが、Linuxのオープンソースの思想に自分の政治理念が重なり合う、ということで登場となったようです。
オープンソース/Linuxの話題は下火になったように見えますが、裾野を拡げながら徐々に浸透しているのかもしれません。
いずれにしても、ブームが去ったこれからがオープンソース/Linuxの真価の問われる時期だと思います。

オープンソースを歴史的に見ると、キーワードは三つです。
GPL、Linux、「伽藍とバザール」です。
これを人に当てはめると、R・ストールマン、リーナス・トーヴァルズ、Eric S・レイモンドの三人になります。

オープンソースという言葉は比較的新しい言葉です。
それまではフリーソフトと呼ばれていました。
(今でもオープンソースという言葉を嫌う人はフリーソフトと呼んでいます。)
フリーの基本的な意味は自由のフリーなのですが、無料のフリーと混同されることを恐れてオープンソースという言葉が生れました。
実際フリーソフトの大半は無料にもかかわらず、そのイメージを嫌ったのです。
そこには、それまでのフリーソフトを牽引してきたラディカルなコミュニティへの多少の反発と、Linuxの普及と共に育ってきたビジネスサイドの要望がありました。
フリーという言葉がビジネス向きでないのは確かですから。

フリーソフトはGNU運動を始めたストールマンが中心になって広まりました。
GNUは<GNU's Not UNIX>の略で、UNIXを超えることを意味している言葉遊びです。
GNUはグニューと発音し、こういった言葉遊びはハッカーの得意とすることです。

ストールマンは、一言でいえばヒッピーのオジさんです。
ヒッピーが現われた時代からヒッピーをやっていて、今でもヒッピーをやっている偉い人です。
この人はMITの研究所を辞めてFSF(Free Softwear Foundation)を設立し、GPLというライセンスを設けしました。
GPL(General Public Licese)は一般公有使用許諾契約書と訳されます。
分かったような分からないような言葉ですね。

実際にGPL本文を読んでも良く理解できません。
体裁はソフトをインストールする時に、「同意します」と「同意しません」を選択する画面に書かれている使用許諾書と同じです。
つまり、法律用語で書かれています。
だから、とても分かり難い。

ストールマンは抜け穴を使われないように法律家に相談してこのGPLを作ったのですね。
アメリカなら理解できます。
アメリカには良い人もたくさんいますが、法律を悪用する悪い人もたくさんいる国ですから。
何しろ、Linuxとは縁もゆかりもないヤツが金儲けで勝手に商標登録して、それを開発者であるリーナスが買い戻したという話さえあるのですから。

GPLの基本はユーザーの自由を保証しているところにあります。
ソフトウェアは誰でも自由に複製、再配布ができ、改変するのも自由です。
ただし、複製、再配布や改変したソフトウェアも又自由に複製、再配布、改変する自由を与えなければなりません。
そのために、ソースコードを公開し誰でも入手できるように義務づけられています。
一般的にはソフトウェアと一緒に配布するか、インターネット上に公開するかです。

しかしこのGPLの厳格さを嫌って、もっとユルいライセンスを独自に設けているソフトウェアもあります。
Linuxは厳格なGPLとユルい陣営の間に生れたムーブメントといえます。
Linux(リーナス)自体はGPLを使用していますが、ストールマンの厳格な自由の定義には距離を置いています。



ストールマンのGPLは理想主義的でいくぶん融通の利かないものですが、その自由に対する考え方は立派です。
自由とは一旦妥協したら終わりである、という信念から絶対に妥協しない。
かたくなに自由を最上位においてものを考え、行動する人です。
こういう人がいたからこそ、オープンソースは生れたのです。
(彼の立場はあくまでもフリーソフトであり、オープンソースではないのですが。)

ここでGPLを身近な美術に置き換えて考えてみます。
貴方が作品を作り発表しました。
それをある広告会社がパクってテレビや新聞で流したとします。
(これは例えですから、売れている同業の美術家でもいいです。)
貴方は当然アタマにきます。
なんの断りもなくマネされたわけですから。

貴方がアタマにきた理由は、承諾がないこと、作品意図が違う形で使われたこと、そしてオリジナルな自分が金銭的に恵まれず、コピーしたヤツが潤っている理不尽さです。
もし、貴方の作品がGPLに準拠していたとしたら、その広告作品には貴方の作品を使った旨のクレジットがなければなりません。
なければGPLを無視したことで訴訟となります。

しかし、ここで冷静に考えて下さい。
貴方の作品は果たして貴方の独占物でしょうか。
貴方は多くのアーティストや他分野の表現の影響を受けて作品を制作したと思います。
知的所有権といわれるものは本来もっと自由なものであって、独占するものではないと思います。

貴方の作品は自由にコピーされて、自由に改変される。
しかし、オリジナルは貴方であることが尊重される。
ルールが確立されていれば、たとえ意図と違った形で改変されても貴方の作品の価値が減ずることはありません。
著作権を認めながら作品が広く公開されれば、それで金儲けをする人が出たとしてもそんなに腹も立たないような気がします。
貴方の作品を基に貴方以上の作品を創る人が出てくるかもしれません。
それはそれで、嬉しいことではないでしょうか。
(ソフトウェアのコピー、改変と同列に論じられないことは承知していますが、類推してみて下さい。)

要は、作品は自由なものであり何人もそれを閉じることはできない、という考え方です。
ソフトウェアの世界でそれを考え実践した人がストールマンです。
又、ストールマンは屈指のプログラマーであり、Emacsという超多機能エディタの開発者です。
(その多機能さを嫌う人もいます。つまりは、ストールマンとはそういう人なのです。)

リーナスはLinuxの開発者。
前にも研究で書きましたから、これはもうご存知ですね。
さて本題の「伽藍とバザール」です。
作者のレイモンドも著名なソフトウェア開発者で、ストールマンのFSFと深い関係を持っています。

「伽藍とバザール」はまずオンラインで発表され、その後に書籍として出版されています。
オンライン版は版権表示をすれば複製、再配布が自由です。
又、バージョンアップ(改定)も随時行われており、オープンソースのソフトウェアと同じ方法論をとっています。
翻訳をプリントアウトすると36ページほどになります。
A4で10ページを超えるテキストはプリントアウトした方が読みやすいので、わたしはそうして読みました。
(各種フォーマットがあり、わたしは印字とレイアウトが奇麗なPDFフォーマットをダウンロードしました。)

「伽藍とバザール」はソフトウェア工学の小論文であり、読みこなすには多少の知識が必要とされます。
(かなり平易なテキストですが、専門的な部分がわたしには良く解りませんでした。)
にもかかわらず、この小論文が面白いのはその範疇を超えた問題意識があるからです。
オープンソースがソフトウェアの範疇を超えたように、オープンソースの理論書である「伽藍とバザール」はソフトウェアの門外漢が読んでも刺激を受けます。

本書には続編「ノウアスフィアの開墾」、続々編「魔法のおなべ」、パローディ版「サーカス小人と恐竜うんち化石」があります。
四部作ともいえるシリーズで、各々オンライン版がダウンロード可能です。
(わたしは続々編までプリントアウトして読みました。どれも同じくらいの分量です。)

「伽藍とバザール」が著名になったのは、Linuxの開発過程を論理的に解明した初めてのテキストであり、オープンソースの理論書として優れていたからです。
この本がきっかけとなって、Netscape社がNetscapeをオープンソース化しMozillを生みました。
大企業のソフトウェアのオープンソース化はNetscapeが初めてであり、本書の果たした役割が評価を一層高めました。

ここでちょっと整理してみます。

ソフトウェアの自由な複製、再配布、改変を訴えて組織化したのはGNU/GPL/FSFのストールマンです。
彼の思想は、科学知識はオープンにすることによって自由に発展するという哲学です。
科学知識を広く表現一般(著作物)と捉えても間違いではないと思います。
フィンランドの学生だったリーナスが独力で書いたOSのコードを基に、インターネットで地球規模の開発が行われリリースされたのがLinuxです。
LinuxのライセンスはGPLです。

Linuxの普及で、フリーソフト(という名称)からの脱却として誕生したのがオープンソースという名称と考え方。
ストールマンのフリーソフトに比べると、ソースコードの公開、複製、再配布、改変の自由という本質は変わりませんが、商用に対する考え方が柔軟なのがオープンソースです。
その考え方の指標になったのが「伽藍とバザール」です。
フリーソフトとオープンソースの間の関係は微妙で、ストールマン自身「協調関係にはあるが別物」と記しています。
フリーソフトもソフトウェアの商用は奨励していますが、行き過ぎには神経を尖らせているようです。

ともあれ、オープンソースの根底にもストールマンの「自由」が脈々と流れており、それを抜きにしてオープンソースを語ることはできません。



Linuxは破壊的存在なり。
という著者自身の驚きから、「伽藍とバザール」は始まります。
伽藍とは僧院のことです。
著者は、OSのような根幹をなすソフトは伽藍建設のように中央集権的な少数精鋭の永続的な営みによって開発されるものと信じていました。
エリートが一室に閉じこもって禁欲的に作業する感じですね。
ところが、Linuxは何でもオープンで、まるでバザール(市場)のような喧騒状態。
しかも地球規模で開発されています。
それまでの常識を覆して、リリースは頻繁で、やりたい人にどんどんやらせる乱交まがいの開発スタイルです。
しかも、そこで生れたOSは超一流の出来栄え。

衝撃を受けた著者は、どうしてそんなことが可能なのかと考え込みます。
そこで一つの実験を試みます。
自らのソフト開発にリナックス的(バザール的)手法を導入してみます。
その過程を通じてリナックスの開発手法を論理的に分析し、その意義を論じたのがこの小論文です。

Linux以前のソフト開発の常識は、著者が考えていたような伽藍方式です。
プログラミングに秀でた少数の精鋭が、まったく孤立して慎重に組み上げるべきものでした。
リーナスがLinuxの最初のバージョンをネット上にアップするまでは同じでした。
リーナス一人が自室の篭り寝食を忘れてプログラミングしました。

ところが、一旦アップされたLinuxは地球上に散らばっているハッカーが寄ってたかって育て上げてしまいました。
どうしてそんなことが可能なのだろうか。
リーナスは魔法使いなのだろうか。

ここで伽藍方式と名付けられた手法は、広い意味ではLinux以前の手法全般ですが、狭い意味では仲間内ともいえるFSFの開発スタイルを指します。
Linux Vs マイクロソフトという図式から、伽藍方式を直接的にマイクロソフト的クローズド手法ととるのは間違いです。
本書で伽藍方式といっているのは、以前の著者も含めたFSF的手法のことです。

著者が実験に用いたソフト開発は通信ソフトで、fetchmailとしてリリースされたものです。
その過程を中心に論考を重ねていきますが、わたしにはfetchmailが結局どういうものか良く解りませんでした。
キチンと説明されているのですが、専門的知識がないと隔靴掻痒の気分になります。
でも、それでも構わないのです。
解らないところは解らないまま読む、ポイントだけ頭に入れる。
その方法論でやってみました。

ソフトウェアは道具です。
道具は必要があるから生れるものです。
よいソフトはすべて、開発者の個人的な悩みから始まる。
「必要は発明の母」、ですね。
これがまず第一の基本。

これは当たり前のようで、実は重要です。
表現(プログラミングも表現です)はすべて個人の問題から出発するのです。
その出発点を誤ると、どうでも良いような「共通の話題」になってしまいます。
貴方個人の悩み、そこが重要です。

と、大袈裟に書いてしまいましたが、そこから本書の論理は始まっています。
論理展開を逐一追っていくのも面白いのですが、それでは枚数がいくらあっても足りません。
これからはポイント攻撃に徹します。

プログラムというのは1から書けばよいというものでもないらしいです。
すごいプログラマとは、何を書き直せば(そして使い回せれば)いいか分かっている人のことをいいます。
fetchmailのスタートも停止状態にあったプロジェクトの引き継ぎから始まります。
前開発者からの移譲がスマートに行われるのが肝要です。
興味をなくしたり限界を知ったら、あっさりより良き後継者に渡すこと。
プログラム(作品)は個人の独占物ではなく、共有物であるという考え方です。

Linuxにも書き直す範がありました。
Minixという、大学の教授が書いた教育用の小さなUNIXっぽいOSです。
これを基に、全部書き直して(Minixのコードをすべて落して)独自に発展させたのがLinuxです。

ソフトウェア開発で最も厄介なものは何だとお思いですか?
それは、バグ退治です。
バグとはプログラムの不具合です。
コンピュータはそれこそ千差万別の環境で使用されますから、それを全部検証して不具合をなくすことは至難の業です。
というより、実際は不可能なことです。
でも、それをしなければソフトは完成しません。
ですから、開発の40パーセントぐらいはバグ退治に費やされます。

Linuxの開発方法で最も優れているのは、バグ退治に大量のユーザーを使ったことです。
ネット上で公開されたLinuxには多くのユーザーがいます。
その中には開発者クラスのハッカーがゴロゴロいました。
この人たちが開発に加わり、大量のユーザーがバグを報告する。
「目玉の数さえ十分にあれば、どんなバグも深刻ではない」。
けだし、名言です。

報告されたバグはすぐさま、これ又多数の開発者によってデバッグ(修正)され、新しいバージョンがアップされる。
それを頻繁に繰り返します。
そうすれば同じバグを二重にデバッグする無駄はなくなります。
Linuxのカーネル(コアの部分です)は1日に何回もバージョンアップされたことがあります。
以前の常識では考えられないことです。
バージョンアップはある程度の期間を置いて、そこに目に見えるような進歩がなければいけない、が常識でしたから。

これが伽藍形式だと、少数の人間がバグの発見と修復に何ヶ月も費やします。
だからバージョンアップの期間が長くなります。
又、アップされたものが完璧でないと失望も大きくなります。
バザール方式は、大人数がよってたかってバグを浮上させデバッグしたものからドンドンリリースしますから、深刻な現象の前提にはなり難いのです。

めくるめくジェットコースターのような開発進歩でLinuxは突き進みました。
さてさて、そこでリーナスはどんな指揮を摂っていたのでしょうか。

<ハーフタイム>
予想より長くなりそうなので、ここで休憩です。
一ヶ月にわたって楽しませてくれたワールドカップ。
それぞれご贔屓の選手がいたと思います。
わたしは、トルコのイルハンでした。
ほら、長髪の前髪を頭のてっぺんで結んでいた小柄な選手ですよ!
彼は気に入りました。
明治時代の子供が突然出てきたようで・・・・。
カワイかったですねぇ。
顔も日本人ぽかったし。
ベッカムやイタリアの選手に比べると地味かもしれませんが、それでも同好の士が一人おりました。
久し振りにバーで会ったTさんからワールドカップの話を振られたのでそう答えたら、Tさんは飛び上がらんばかりに喜んでいました。
Tさんも数少ないイルハンのファンだったのです。



「リーナスは、ハッカー/ユーザーたちをたえず刺激して、ごほうびを与え続けたってことだ。刺激は、全体の動きの中で一員となることでエゴを満足させられるという見込みで、ごほうびは、自分たちの仕事がたえず(まさに毎日のように)進歩している様子だ」。
具体的にいえば、参加者とコミュニケーションを密にとり、プロジェクトの成果を直ぐにアップロードしたということです。
ハッカー/ユーザーにすれば、自分の提出したバグの報告やデバッグが日をおかずインターネットに上がれば自分が参加しているという実感が湧きますし、参加しているプロジェクトが進歩しているのを確認できるのは嬉しいものです。

ここで重要なのは、エゴです。
愛他精神ではなくて、エゴがオープンなプロジェクトを前に進めるのです。
仕事で張り切りのは、札束で頬をたたかれたからではなくて、自分が一員として有益な存在でありその有益さが役に立っているというエゴなのですね。
エゴについては、続編の「ノウアスフィアの開墾」で「贈与文化」として詳しく分析しています。

このような開発プロセスを全部オープンにして、地球規模でやる。
オーガナイザーは物凄く疲れそうですが、流れに逆らわず自然に決まる方向に従っているだけだ、とリーナスはいっています。
基本的に僕は怠け者だから、ともいっています。
ま、これは彼の優れた資質でもありますが、謙遜でもあります。

著者は、リーナスの天分はLinuxのカーネル構築ではなくてLinux開発モデルの発明だと述べています。
ソフトウェアの設計ではストールマンの方が革新的天才で、リーナスはエンジニアリングの天才ではないかとも述べています。
バグや開発上の袋小路を避ける第六感と、A地点からB地点にたどりつくいちばん楽な道を見つけ出す真の直感があるそうです。
相当高レベルでの比較ですし、(今のところは)という限定付きの比較発言でもあります。
Linuxは高品質のOSで、そのカーネルを一人で書いたリーナスは天才だが、それ以上にその開発スタイルが天才的だということですね。

企業がプロジェクトを組むとき良く似たスタイルをとりますが、似て非なるものです。
ポジション(地位)は不明確ですし、物質的な報酬もありません。
Linuxの開発プロジェクトにも上位グループが存在しますが、企業と違って中央集権的な命令系統がありません。
開発のグループ階層はハッカーの実力で自然に決まり、自然に変更されます。
プロジェクト全体に無言の圧力(ハッカー社会の理念)があるからです。

次はバザール方式の前提条件です。
リーダーの資質と提出するコード(ソフト)の状態です。

まず、ソフトが実現できそうな見込みを示していることが肝心です。
絵空事のようなソフトではダメですね。
不完全でも、それが目に見える将来にはなにか本当に使える代物に発展させられるという説得力がないとダメです。

コーディネーター(リーダー)は飛び抜けたデザイン発想がなくても良いのですが、他の人たちの良いデザイン上のアイデアを認識できなければいけません。
デザインとはソフトの体系の設計のことです。
シンプルで堅牢なデザインが良いデザインです。
この辺り、門外漢には実感のない話ですが、他人の能力を上手く活かして取り込むということだと思います。
そのためには、アイデアのレベルを見抜く力が必要ですね。

後は、リーダーの対人能力とコミュニケーション能力が優れていないとダメです。
リーナスが誰にでも好かれるナイスガイなのは偶然ではなくて、その能力が極めて役に立っているのです。


Linuxは、意志的かつ成功裏に全世界を才能プールとして使おうとした最初のプロジェクトだった。
それを実現させたのは当時普及し始めたWWWだったのです。
リーナスは、拡大するインターネットが可能にした新しいルールにしたがって活動する方法を見いだした、最初の人間だったわけだ。

著者はここでフリーソフト/オープンソースの社会的意義に論を進めます。
インターネットというインフラは必要条件ではあるが、もう一つ重要な要素としてリーダーシップのスタイルと、強力のための慣行が開発されたことをあげています。

19世紀ロシアのアナキストであるクロポトキンの「ある革命家の回想」の一文を引用して説明しています。
(正確にはクロポトキンの文を引用した、ワインバーグという人の文の引用です。)
簡単にまとめてしまうと、「命令と規律」よりは「共通の理解」の方が実生活の複雑な局面では価値があるということです。
軍隊のパレードは「命令と規律」が機能しますが、日常の作業の遂行には「共通の理解」の方が遥かに役に立ちます。

「共通の理解」は「多くの重なり合う意志による真剣な努力」であり、これがまさにLinuxの開発プロジェクトの要だったんですね。
「多くの重なり合う意志による真剣な努力」を支えるのは、「自分のエゴの満足とハッカー社会での評判」という無形のものです。

リーナスは、開発そのものはほとんど他人にやらせつつ、うまいこと自分はプロジェクトの門番におさまった。そしてプロジェクトへの関心を育てて、それが自立するようにしてきた。

これは大変な才能です。
著者は嫌みでいっているわけではなくて、クロポトキンの「共通の理解という原理」と同じことをやってのけたリーナスの才能に感嘆しているのです。
これが、リーダシップのスタイルと慣行なのですね。

しかし、クロポトキンとここで再会するとは思いませんでした。
わたしの学生時代、アナーキズム(無政府主義)のクロポトキンはそこそこ名前が知られていました。
わたしも名前ぐらいは知っていましたが、著作は読んだことがありません。
Linuxの開発過程と無政府主義。
確かに似てますね。
目から鱗です!





最後に著者は伝統的なソフトプロジェクトのマネージメント方法論とオープンソースのそれを比較して、後者の優位を論理的に説明しています。
これはオープンソースのプロジェクトが集合離散的で、長期的な開発努力がもたらす顧客満足にそぐわないという議論への反論です。
実際はオープンソースの方が長期のプロジェクトが多いと実例をあげ、マネジメントの機能については詳細に反論しています。

幾つか気になった点をあげます。
オープンソースのプログラマはプログラミング人口のトップ5%で成り立っているという事実です。
生産性がケタ違いに高い人材なのです。
伝統的なマネジメントの開発マネージャーは、残りの95%の動員を組織するのに時間を費やさざるをえないのです。

なぜなら、オープンソースのハッカーは自薦で参加しますし、自薦はハッカー界の社会理念によって有能なものだけが容赦なく選ばれる仕組みになっているからです。
ハッカー界の無言の圧力ですね。
効率のよいバグ退治と生産性の高い人材、これだけでもオープンソースのソフトは必然的に高品質になります。

動機の問題では、「おもしろさ」はお金では太刀打ちできない何よりも勝るニンジンだということです。
誰にも頼まれず、金にもならないことを進んでやるわけですから、それは「おもしろい」ことに決まっています。
そして、「楽しみ」が効率をあげます。
(この辺りは以前に研究で書きました。)

この章に続々編である「魔法のおなべ」のことが少し出てきます。
「魔法のおなべ」はオープンソースの経済的利用について書かれた小論文です。
この中で、ソフトウェア産業を製造業ではなくてサービス業と規定する項目があります。
この論考はなかなか面白いです。

誤解を恐れずいえば、「ヒゲ剃りを無料(ただ)で配って、ヒゲ剃りの刃を売る」、この手法です。
ソフトを無料で配布して、サポートを有料にする。
あるいは、ソフトを無料で配って、その参考書を売る。
サービス業としてソフト産業を考えるのです。

実際にサーバ業界はサービス業化してますし、あのIBMはオープンソースに多大な投資をして、自らもe-ビジネスでソリューションを事業の柱にしています。
最近e-ビジネスのTVCFを見たのですが、バスケットボールのシーンで最後にシュートを決めるのは背中にLinuxのネームが入った選手です。
驚きました。
ビジネスのソリューション(問題解決)の決め手は、Linuxというメッセージですから。

例によって長々と書き連ねましたが、「伽藍とバザール」がソフトウェアの範疇を超えた問題意識を内包しているということがお分りいただけたでしょうか。
もしお分りいただけなかったのなら、それはわたしの分析力不足と表現能力の問題です。

Linuxの開発過程がわたし達の仕事や生活に与えるヒントは少なからずあると思います。
Linuxを生んだ土壌であるフリーソフトの「自由」は、美術を始めとする表現全般の問題に関わってくると思います。
それを含めて「伽藍とバザール」を研究してみました。
ご興味のある方はオンラインで「伽藍とバザール」及びそのシリーズをお読みいただければ幸いです。

さて、次回の研究。
京マチ子、佐田啓二主演、東宝映画「甘い汁」の研究です。
タイトルに魅かれて観た映画ですが、良かったですよ〜。
どのように良かったかは、次回のお楽しみにね。


<第四十八回終わり>

※今回の研究は山形浩生訳「伽藍とバザール」の本文から引用させていただきました。




BACK→CONTENT