IT記者会Report

IT/ICTのこと、アレヤコレヤ

「伽藍とバザール」再考

 「伽藍とバザール」として広く知られているエリック・レイモンドのエッセイ “Cathedral and Bazaar” だが(初出は1997年), 日本語訳で Cathedral に「伽藍」という訳語をあてたのには,いささか違和感を覚える.正確には「大聖堂」とすべきではなかったろうか.「伽藍」は古代インドの仏教寺院を指すサンスクリット語 saMghaaraama の漢音表記「僧伽藍摩(そうぎゃらんま)」の省略形であり,キリスト教で「主教座のある大聖堂」を意味する「カテドラル」とは明らかに意味合いが異なる.
 カテドラル(大聖堂)は,スケールこそ大きいが単一の建造物である.レイモンドのエッセイは,オープンソース・ソフトウェアの開発マネジメントに関して,大聖堂の建造と同じようにひとりの建築家の設計・管理のもとに作業を進める GNU プロジェクトのスタイルと,インターネット上に分散した多数のプログラマたちがばらばらに仕事をする Linux のようなスタイルとを比較したもので,論旨の正否はともかくとして,ソフトウェア開発プロジェクトにおけるテクニカル・マネジメントの問題を考える上で,一読に値する文章であった.
 ところで、「伽藍」に話を戻せば,それは単一の建造物を意味するコトバではない.古代インドの伽藍は,礼拝の対象である仏像を安置した御堂の他に,中庭を囲んで房室を持つ方形の精舎スタイル(『平家物語』の冒頭で「祇園精舎の鐘の音」と書かれている精舎)が流行した.その付帯施設としては,会堂・食堂・台所・貯蔵室・流し場・便所が設けられ,多数の修道僧の団体生活に必要な施設を整備すると同時に,個人の私生活を守り,瞑想に適するように整備されていたという.日本における伽藍は,鎌倉時代の古文書にあるように,金堂・塔・講堂・鐘楼・経蔵・僧坊・食堂の7つを備えたいわゆる「七堂伽藍」が基本形であった.中国に目を移すと,もっとスケールが大きく,後漢時代に建てられた浮屠祠という伽藍は,楼閣を中心に二階建ての回廊を巡らし,三千人の僧侶を収容する大きな街みたいなものだったたといわれている.
 以前,オープンソースのソフトウェア・システムをひとつの都市に喩えてみたらどうかと考えたことがある.そのヒントになったのは,「 イスラームの都市性」という歴史学者たちの共同研究プロジェクトの成果報告だった.ムハンマドの時代におけるアラビアの都市は,中国やヨーロッパの城壁都市とは異なり,だれでも出入りできる自由都市だったという.城壁のなかには礼拝堂のほかに,交易のための市場(バザール)や宿泊施設としてのキャラバンサライなどがあり,さらに城壁の外側にも広い野営地や市場が置かれていたということである.仏教伽藍の場合も周辺に門前市や巡礼者のための宿があるから,同じようなものだといえるかもしれない.
 オープンソース・ソフトウェアをそうした自由都市と考えた場合,礼拝堂に相当するのは,やはりソースコードであろう(以前、青木淳さんにマルチメディア・グラフィクスを扱うフリー・ソフトウェア「じゅん」の発展過程を3次元都市モデルとして図化してもらったことがあるが,その詳細分析にはまだ手がついていない).メーリング・リストやバグ・レポートあるいは開発ログのアーカイブなどは情報交易市場としてのバザールに対応する.多数のプログラマが入れ替わり立ち替わりやってくる分散型プロジェクト・チームがキャラバンサライの役割を果たしており,城壁の外側にはいくつもの衛星プロジェクトが立ち並んでいる.
 そのような自由都市型あるいは伽藍型のソフトウェア・システム構築のプロジェクトを考えた場合,単一のプロダクトのアーキテクチャではなく,より広い視野を備えたアーバン・プランニングのコンセプトが必要なのではないだろうか.最初からそうした構想を持たなくても,ソフトウェアの進化プロセスの中から自由都市は自然に立ち上がってくるだろうという考えは,あまりに楽観的すぎるのではないかと思われる.