sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

Eric Steven Raymond「伽藍とバザール」

伽藍とバザール」を読みました。

伽藍とバザール

伽藍とバザール

  • 作者:E.S.Raymond
  • 発売日: 2010/07/31
  • メディア: 単行本(ソフトカバー)

最近は、読書メーターに感想を書き残していたのですが、長くなったので、こっちに書き残します。

いわゆる古典、名著です。

青空文庫にもありました。お手軽ならこっちかも。(クロポトキンの回想などの訳がわかりづらくなっているのと、誤字がいくつかあった)


どういうものか?

The Cathedral(伽藍、大聖堂)方式のクローズドな開発と、The Bazaar(バザール)方式のオープンな開発の良し悪しを比べている。

前者はプライベートであり古典的な社内開発で、後者は Linux のようなオープンソース化された開発を指す。

1997 年に書かれた論文だけれど、今でも(むしろ、今だからこそ)かなり参考になる。すこし前の記事ですが、2015 年にクックパッドが「新卒ソフトウェアエンジニアのための技術書100冊」という記事をだした際も、「伽藍とバザール」はリストのひとつにピックアップされていました。


読もうと思ったこと

伽藍とバザール」を読むことを、今日まで後にまわしていた理由のひとつは、Linux の成功の話、すなわちオープンソース化に関する論文であったためです。

たくさんの人を動員できる・魅了するような素敵なものを提案する、そうすると~といった話ではあるので、自分の性格・規模感に見合わないのかな、という気がしていました。

実際に読んでみても、マネジメントに労力がいるのは変わりないし、今の Linus の態度の変化をみると、むつかしい気持ちにもなる。

すくなくとも、自分にとって Just for Fun とは言えない気持ち。

ともかく、私は「The Cathedral」方式の開発をこれからも仕事でやっていかないといけない。なので、「The Bazaar」方式の利点として挙げられていることを留意することにした。(逆にいえば、「The Cathedral」方式の利点ではないから)

なお、個人的に付箋を入れていたあたりを挙げると、次のあたりがおもしろかったみたい。


目玉の数され十分あれば、どんなバグも深刻ではない

どんな問題も「だれかには明白」であり、「だれかが問題を見つける。そして、それを理解してなおす人が、だれか別にいる」というのが、「The Bazaar」のはなし。

このはなしが、違いの核心にあるというのは同意する。 「The Cathedral」方式のバグはややこしく、潜伏されると非常に難しい話になるし、数ヶ月単位でチェックしないといけない。

また、ベータリスト(テスター・コーダー)との関係性をよいものにした(意見を聞いた・褒めた・はやめのリリース)ことで見返りをよいものにしたといのは当然よい関係性であり、単純に偉い(紳士だ)なぁと思った。

洞察は、個人からくる。群衆は突破口になるような洞察を持たない。

賢いデータ構造と間抜けなコードのほうが、その逆よりずっとマシ。

「データ構造さえ見せてもらえれば、コードのほうがたぶんいらない。見るまでもなく明らかだから」

これは、Clean Architecture でも挙げられていた意見だったと思う。これはまったく正しい。(疎結合であれば、もっとよい)

ブルックスの問題の整理

人月の神話で挙げられた「ブルックスの法則」が真理なら 無数の他人が参加する Linux の成功はありえないことになる。プログラミングの心理学が重要な訂正をしていて、「エゴのないプログラミング」を論じた。

規模感はあれど、「The Cathedral」方式だと 100% 駄目になる話ではない。むつかしいけれど、バグを探したり改良点を見つけることを奨励し、芽をつぶさない努力の話。

ただ、員数が絶対的にすくなくなるので、その点は気になる。

奴隷との違い

クロポトキン「ある革命家の回想より」

I began to appreciate the difference between acting on the principle of command and discipline and acting on the principle of common understanding. The former works admirably in a military parade, but it is worth nothing where real life is concerned, and the aim can be achieved only through the severe effort of many converging wills.

わたしは命令と規律という原理にしたがって活動すること、共通の理解という原理に基づいて行動することの違いをだんだん理解しはじめた。前者は軍事パレードでは見事に機能するが、実生活関係するところでは、なんの価値もなく、目的は一致した多くの意志の厳しい努力によってのみ達成される。

伝統的なマネジメントの評価

オープンソースのコミュニティが伝統的なマネジメントを過小評価しているというならなぜ、あなたたちの多くは、自分自身のプロセスに恐怖や侮蔑を表明しているのでしょうか?

うっ。

NetscapeMozilla

NetscapeMozilla の歴史に、この論文が手を貸していた(というか、歴史が動いたレベル)というのは、かなり興味深い。インターネット老人は、少なからず影響を受けてきたはずなので、この論文はこの部分だけでも読む価値がある。

どういう思想の影響をうけて Netscape の考えが変容し Mozilla が生まれ、どうなったのかというのが「それなりの成功」としてメモされている。

今になると、fetchmail の成功よりも、はるかに Mozilla は大きなものとなっているため、この論文こそが、最大の成果物なのではないだろうか。

そんなわけで Epilogue はかなり読む価値がある。


和訳のタイトルについて

まず、「伽藍とバザール」というタイトルだけど、これは気持ちの悪いタイトルに(私は)思う。英語では「The Cathedral & The Bazaar」となっている。The Cathedral が「伽藍」、The Bazaar が「バザール」と訳されたわけだ。

しかし、Cathedral と言われると大聖堂のほうが先にでてくると思う。スペインの世界遺産、ゼビリア大聖堂は「Catedral de Sevilla」。

Cathedral の和訳のひとつに伽藍があることに具合のわるさを覚えるが、そこはさておいて、原著者の意図は伽藍で正しいのかな。最初は「The Cathedral and The Agora」にしようとしているし、Cathedral が大聖堂よりも伽藍のほうが適切だというのは違和感がある。(なにかわかる部分があるとうれしいのだけれど)

Agora は古代ギリシアの自由市場・公共広場を指すはずなので、アジア・インドの bazaar に引っ張られる必要があるのか。

Bazaar のほうは、バザーとバザールの使い分け(規模感)は、日本人によるところだと思うが、こっちも別の気持ち悪さがある。


参考

伽藍とバザール

伽藍とバザール

  • 作者:E.S.Raymond
  • 発売日: 2010/07/31
  • メディア: 単行本(ソフトカバー)