伽藍とバザール

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
伽藍とバザール
The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
著者 Eric S. Raymond
訳者 山形浩生
イラスト Liubov S. Popova
発行日 1999
発行元 O'Reilly Media
ジャンル

ノンフィクション、随筆

オープンソース、ソフトウェアリリースライフサイクル、トップダウン設計とボトムアップ設計
アメリカ合衆国
言語 英語
形態 written work
ページ数 241
次作 ノウアスフィアの開墾
公式サイト www.catb.org
コード ISBN 978-1565927247
ISBN 978-4904807026(日本語訳版)
[ Wikidata-logo-en.svg ウィキデータ項目を編集 ]
テンプレートを表示

伽藍とバザール』(がらんとバザール、: The Cathedral and the Bazaar、カテドラルとバザール)は、エリック・レイモンドによって書かれたオープンソースソフトウェア(OSS)のソフトウェア開発方式に関するエッセイおよび書籍である[1]

カテドラル方式としてGNU Emacsの開発スタイル、バザール方式としてLinuxカーネルの開発スタイルとFetchmailのマネージメント経験を挙げ、ソースコードを常時公開して多くの利用者・開発者がソフトウェア開発に携わる開発手法のメリットを解説している。

歴史[編集]

1997年5月27日、ドイツヴュルツブルクで開催されたLinux Kongressで講演の形で発表された。その後、1999年に書籍として出版された。原作書籍の表紙に描かれているイラストは、トレチャコフ美術館所蔵のリュボーフィ・ポポーワによる1913年の絵画『Composition with Figures』である[2]。エッセイは2000年前後以降よりOpen Publication License 2.0の下で公開されている[1]。日本語翻訳版は山形浩生が1999年に執筆し、オープンコンテント相当の制約で公開されている。

本書はオープンソース4部作となる『伽藍とバザール』『ノウアスフィアの開墾英語版』『魔法のおなべ英語版』および2011年現在未発表の『Weaving the Net of Indra』のうち、ソフトウェア関係者向けに書かれた最初のひとつである。

カテドラルとバザール[編集]

エッセイでは2つのソースコードを公開しているソフトウェア開発モデル、カテドラル方式とバザール方式(トップダウン設計とボトムアップ設計)の取り組みについて述べている[1]

カテドラル方式は、ソフトウェアのリリース毎のソースコードは利用可能であるが、ソフトウェアの開発は閉鎖的な開発チームにより制限する。事例としてGNUプロジェクトGNU Emacsを挙げている。GNU Emacsはソースコードが公開された巨大で強力なテキストエディタであり、GNUプロジェクトの開発チームがソフトウェアを実装し、安定版でソースコード公開をしていた。

バザール方式は、ソースコードがインターネットを通して公開実装され、不特定多数の利用者・開発者によりソフトウェアの設計・実装を進める。バザール方式の事例としてLinuxカーネルFetchmailを挙げている。エリック・レイモンドはLinuxカーネルのプロジェクトリーダーであるリーナス・トーバルズをバザール方式の先駆者として称賛している。また、自身のバザール方式の開発体験としてFetchmailプロジェクトに携わり、本書でその経験を述べている。

エッセイの主題はバザール方式におけるエリック・レイモンドが提起したリーナスの法則「十分な目玉があれば、全てのバグは洗い出される」である。バザール方式ではソースコードがより広く利用可能にすることで公開された試験・精査・検証となり、より迅速に全ての形状のバグを見つけることに繋がる。対称的に、カテドラル方式ではバグを退治することに莫大な時間と労力を費やさなければならず、それ故に開発中のバージョンのソースコードは少数名の開発者しか利用することが出来ない。

C言語コンパイラであるGCCEGCSはカテドラル方式とバザール方式の良い対比プロジェクトである。GNUプロジェクトのGCCはカテドラル方式で開発が進められていたが開発速度と品質は著しくなく、有志のGCCからフォークしたEGCSはバザール方式で開発が進められておりGCCを上回り高機能・高品質であった[3]。1999年にGCCの開発主管はカテドラル方式の旧チームを解散してバザール方式のEGCSチームに移った[4]

バザール方式の教訓[編集]

さまざまなソフトウェア開発の取り組みから学んだバザール方式の19の教訓を挙げ、それぞれがオープンソースソフトウェア開発における優れた開発手法に関する題目を述べている[1]

  1. 全ての良いソフトウェアは開発者の個人的な希望から始まる。
  2. 良いプログラマは何を書けば良いか知っている。凄いプログラマは何を書き直せば・何を再利用すれば良いか知っている。
  3. 破棄する計画を立てる。いずれにせよ、そうすることになる。[注釈 1]
  4. 適切な取り組みをしていれば、おかしな問題は自発的に主張してくる。
  5. ソフトウェアに興味がなくなった時には、ソフトウェアを手放して優秀な後継者に引き継ぎする。
  6. 利用者を共同開発者として扱うことは迅速な実装改善と効率的なデバッグの最短ルートである。
  7. 素早く頻繁なリリース英語版を実施し、顧客の話を聞く。
  8. 十分なベータテスターと共同開発者の基盤があれば、大半の問題はすぐに特定されて誰かが直す。
  9. 賢いデータ構造と愚かなソースコードは、その逆であるよりずっと良い成果を出す。
  10. あなたがベータテスターを最も有益な資産として扱うなら、彼らは最も有益な資産となり応えてくれる。
  11. 次の最適案は利用者による良いアイディアに気付かされる。後から出たアイディアの方が良いこともある。
  12. 大半の衝撃的で革新的な解決策は自身の問題の捉え方が間違っていることに気付くことから始まる。
  13. 完璧な設計はそれ以上の追加することがなくなった時ではなく、それ以上の削減することがなくなった時である。[注釈 2]
  14. 全てのツールは想像通りに便利であるべきであるが、本当に凄いツールは作者の想像を越えた便利さを与える。
  15. どんなゲートウェイソフトウェアを実装する場合でも、データストリームへの影響は可能な限り最小限に抑え、受け手が強制しない限りはデータを決して破棄しない。
  16. 自分の書き方がチューリング完全から外れているなら、シンタックス・シュガーは手助けになる。
  17. セキュリティシステムのセキュリティはそれが秘密である時だけ意味を成す。見掛けのセキュリティには注意すること。
  18. おかしな問題を解決することは、おかしな問題を探すことから始まる。
  19. 開発コーディネーターが少なくともインターネットと同等に良質な交流手段を持って圧力をかけない先導手法を知っているなら、必然的に頭数は多い方が良い。

受容と影響[編集]

1998年、ネットスケープコミュニケーションズNetscape Suiteのソースコードを公開することを後押しをして、Netscape SuiteがMozilla Application Suiteとして生まれ変わることとなった[5][6][7]。このネットスケープコミュニケーションズのアクションはエリック・レイモンドをハッカー分野で著名にさせるに十分な出来事だった[8]

1999年、Oreilly Mediaが初版を出版したものは、Open Publication Licenseでライセンスされ公開している著書が初めて商用書籍として販売された事例となった[9]

マーシャル・ポー英語版はエッセイ『The Hive』で、Wikipediaはバザール方式に似ていると述べた[10]ジミー・ウェールズ自身、バザール方式に触発されており、「大量の共同作業の可能性を目の当たりにした」と述べている[11]

1999年、ニコライ・ベズロコフ英語版はエリック・レイモンドのオープンソースソフトウェアに関する2件の批判的エッセイを掲載し、2つ目のエッセイは『A second look at The Cathedral and the Bazaar』として知られている[12][13][14][15]。それらはエリック・レイモンドにより鋭い反論が提示されている[16]

「Cathedral」の日本語訳[編集]

「Cathedral」は「伽藍」と訳されているが、建築学の訳語としてはともかく、開発におけるヒエラルキーといったことも踏まえた宗教的意味あいを表現する言葉としては「大聖堂」に当たる[17]。「伽藍」は仏教寺院の建物を指す言葉で、エリック・レイモンドが意図した中央集権スタイルを意味する言葉としては、本来はそぐわない。これは建築家ル・コルビュジエの著作『When the Cathedral was White』が『伽藍が白かったとき』と訳されており[18]、これを踏まえて山形浩生が訳したものである。建築学においてCathedralを伽藍と訳すことは一般的である[19]

脚注[編集]

注釈[編集]

出典[編集]

  1. ^ a b c d Raymond, Eric Steven. “The Cathedral and the Bazaar”. 2012年4月18日閲覧。
  2. ^ Colophon”. The Cathedral & the Bazaar. O'Reily Media. 2011年12月20日閲覧。
  3. ^ Pentium Compiler FAQ”. 2018年3月26日閲覧。
  4. ^ Henkel-Wallace, David (August 15, 1997), A new compiler project to merge the existing GCC forks, https://gcc.gnu.org/news/announcement.html 2012年5月25日閲覧。. 
  5. ^ Epilog: Netscape Embraces the Bazaar”. 2018年3月26日閲覧。
  6. ^ Jim Hamerly and Tom Paquin with Susan Walton (January 1999). “Freeing the Source: The Story of Mozilla”. Open Sources: Voices from the Open Source Revolution (1st ed.). ISBN 1-56592-582-3. http://oreilly.com/catalog/opensources/book/netrev.html. "Frank had done his homework, citing Eric Raymond's paper, "The Cathedral and the Bazaar," and talking to people in departments throughout the organization--from engineering to marketing to management." 
  7. ^ Louis Suárez-Potts (1 May 2001), Interview: Frank Hecker, openffice.org, http://www.openoffice.org/editorial/ec1May.html, "(Since it always gets mentioned in relation to Netscape's Mozilla decision, I should also note that Eric Raymond's paper "The Cathedral and the Bazaar" was referenced by me and others who were lobbying Netscape's management. In my opinion the paper's importance in the context of Netscape's decision was mainly that it provided some independent validation of ideas that were already being actively discussed and promoted within Netscape. If you've ever tried to promote a proposal within your organization, then you may have discovered that it's somewhat easier to do this if you can point to someone outside the organization who's saying the same thing.)" 
  8. ^ Sam Williams (30 November 2011). Free as in Freedom [Paperback]: Richard Stallman's Crusade for Free Software. "O'Reilly Media, Inc.". pp. 161. ISBN 978-1-4493-2464-3. https://books.google.com/books?id=BB68Ql7ZY_AC&pg=PA161. "When Netscape CEO Jim Barksdale cited Raymond's 'Cathedral and the Bazaar' essay as a major influence upon the company's decision, the company instantly elevated Raymond to the level of hacker celebrity. Determined not to squander the opportunity, Raymond traveled west to deliver interviews, advise Netscape executives, and take part in the eventual party celebrating the publication of Netscape Navigator's source code." 
  9. ^ cathedral-bazaar
  10. ^ Poe, Marshall (2006年9月). “The Hive”. The Atlantic. https://www.theatlantic.com/magazine/archive/2006/09/the-hive/5118/ 2012年7月5日閲覧。 
  11. ^ Annals of Information”. The New Yorker. 2014年7月4日閲覧。
  12. ^ Karl Eugen Kurbel (23 June 2008). The Making of Information Systems: Software Engineering and Management in a Globalized World. Springer. pp. 222–. ISBN 978-3-540-79260-4. https://books.google.com/books?id=ggVaezlfOCcC&pg=PA222 2012年10月15日閲覧。. 
  13. ^ Bezroukov, Open source software development as a special type of academic research: Critique of vulgar Raymondism" Accessed 23 September 2010.
  14. ^ Bezroukov, A second look at The Cathedral and the Bazaar Accessed 23 September 2010.
  15. ^ Jan Bergstra; Mark Burgess (19 December 2007). Handbook of Network and System Administration. Elsevier. pp. 202–. ISBN 978-0-444-52198-9. https://books.google.com/books?id=NUoZ7fKOITQC&pg=PA202 2012年10月15日閲覧。. 
  16. ^ Eric S. Raymond. “Response to Nikolai Bezroukov”. 2018年3月26日閲覧。
  17. ^ Digital Freedom Interview Eric Steven Raymond”. NTT-X. 2018年3月26日閲覧。
  18. ^ 伽藍が白かったとき”. 国立国会図書館オンライン. 2018年3月26日閲覧。 “タイトル: 伽藍が白かったとき [...] - 原タイトル: Quand les cathedrales etaient blanches”
  19. ^ 魚谷佳史 (1996年3月). “近世京都日蓮宗本能寺の伽藍配置”. J-GLOBAL. 2018年3月26日閲覧。 “近世京都日蓮宗本能寺の伽藍配置 - Cathedral layout in Hon-no Temple of Kyoto Nichiren sect of Recent Times.”

外部リンク[編集]