伽藍、バザール、ノウアスフィア、おなべ(3)さてやっと1998年春を迎えて『ノウアスフィアの開墾』だ。伽藍とバザールにくらべてがくんと知名度は落ちる(つまり、みんな2項対立は大好きだけど、協調の話や未知の用語には興味がないんだろうなぁと勝手に推測しているおれだった)。ノウアスフィアとは、『ヌースフィア』(でぐぐれ)のことで、ぐぐればわかるが、すさまじく怪しい用語だ。この論文の中ではソースコードが存在する思考空間を意味している。この論文のテーマは、なぜハッカーはソースをオープンにするのか、なのだが、内容はむしろ、「なぜオープンソースは、ソースの自由な改変を許すライセンスなのに、改変したソースが元に戻るのか?」の解明に軸足がある。推測だが、ネットスケープをはじめとする企業が自社のコードベースをオープンにした場合に、そこから知らないうちにフォークされてもっとうまいことされるのはすごく嫌がるだろうと考えて、そうではなくハックされて戻って来るよ、ということを説明しようとしたのだと思う。この論文で説明されていることは、結構、皮膚感覚で理解できることが多い。・名前重要この場合の名前は変数名とかではない。Matzと書かれていたり、ChangeLogにusaとか書かれているとする。それを消しゴムでごしごししてはならない、ということ。当たり前だ(と、おれは感じる)。オープンソースに関係する人間なら、それは当たり前だというコモンセンスがあるのか?・はじめたやつがえらいこれも当然だ。RubyはMatzだし、jcode.plはdankogai(追記:良く知らない領域を有名でわかりやすいだろうという理由から調べもせずに書くのはくずだという見本のようなことをしてしまった。jcode.plは歌代さんですな。Ing-Simmonsです)。お詫びして訂正します。ごめんなさい)だ、というようなことだ。ファウンダーの名前とプログラムは密結合している。これも当然だ、と感じるコモンセンスがあるのか?・オリジナルがえらいそれから、フォークがめったに起きないこと。実際、Perl、Ruby、Python、Gaucheといった言語系は特にそうだが、RubyにとってのJRubyのような別プラットフォームに対する別実装や、Rubiniusのようなどちらかというと実験的な別実装(PerlでいくとPugsなんかがそれにあたると思う)はあっても、同一ソースコードからのブランチが独立して出ていくようなことは(1回あったけど)あまりないし、それが主流となることもない。なんかBSDのフォークがすごい(といってもNetBSD、FreeBSD、OpenBSDしかないけど(実際はもっとある))のでフォークするような印象があるが、人が犬を噛むと事件になるの原理で、ほとんどないことだからニュースになるのだ。いうわけで、BSD、X.orgのようなものはあるけれど、それほどフォークはしない。それってライセンスは自由な改変を許すのに不思議じゃない?で、ソフトウェアプロジェクトを開始することを、荒野の開墾にたとえて説明している。これは本文でも書かれているが、世界中どこにでも見られる慣習または法で、考えてみれば日本でも墾田永年私財法にしろ、江戸時代の新田開発にしろ、お金か労力を出して開墾したやつがそれを手に入れるという決まりがあった。(だからどうしたという気もするけど)そこから、贈与文化へ進む。物が有り余っていて生存のための競争(食うための殺し合い)が不要なら、お互いに物を譲りあうほうが生きるのが楽だ。そのような文化では、気前が良くてみんなに物をばらまく奴が偉い。これが、ハッカー(の生成物であるソースコード)が生存する空間=ノウアスフィアの文化だ。この空間において最も重要なものは、評判(=集めた尊敬)だ。ノウアスフィアにおいて貨幣経済での貨幣に相当するものは、評判で、貨幣経済で他人の貨幣を奪うことが犯罪なのと同じく、ノウアスフィアにおいては他人の評判を奪う(プロジェクトを横からさらったり、名前を消したりするような行為)は犯罪として扱われる。ハッカー倫理がコモンセンスなのは必然だったのだ!さてその空間でも、特にすごいやつがいて、極端に他の連中と比較して広大な土地を開拓してしまう。当然のようにその人間は巨大な評判を持つことになり、周りの普通の人はそこに集まってくる。巨大な評判を持つ人間が評判を得ているのは、評判を持っているからだ(なんというトートロジー。それだけの評判を得たのは、巨大なコードベースを創出したからだけど、それ自体はノウアスフィアの贈与経済の仕組みからみんなの共有財となっているわけだから、最終的に残っているのは評判だ)から、インセンティブは評判の維持にある。評判を維持するためには、ハッカー倫理にしたがう必要がある。して、圧倒的な能力(開墾した土地の広大さで、広大なゆえにニッチもたくさんあるし、目を離すと荒れてしまう土地もある=他の移住者のための場所がたくさんある)によって独裁的な権力を他のメンバーから与えられたが、その基盤は評判である以上、彼は評判を失うような行動は取れない(まあ、取る必然性もない)。したがって、この独裁者はいやがおうでも、「優しい独裁者」とならざるを得ない。当たり前のことなのだ。優しい独裁者のもとでの開発は、緩やかなハッカー連合によるユーザーをも取り込んだバザール型にならざるを得ない(強権を振うことにより評判を失うことが忌避されるためだ)。独裁者はその地位を守るためにはコードベースをより豊かにする(=領民の生活の場を維持、拡張する)必要があり、そのためには名前重要をはじめとしたハッカー倫理に従う必要がある。ソースコードのエコシステムの維持が彼の職務だからだ。細部をはしょって説明すると、なんじゃこりゃのようなところはあるが、でも、確かにこれでオープンソースのあり方(というか人間関係)は説明がつく。この論文が後知恵で見て嫌らしく感じるのは、だから企業さん、安心してハッカーが作りだしたプログラムを使いまくっても平気だよ。それからソースをオープンにしても問題ないよ。いう意図が透けてみえる点だ。それをおいておくと、ここに説明されているハッカー倫理の分析は、明文化されたオープンソース開発への参加ガイドとして優れている。それにしても、伽藍とバザールの結論が、プロジェクトリーダーはコミュニケーションスキルがあるナイスなやつじゃなきゃだめだよ、で、ノウアスフィアの結論は、他人の評判を大事にすることで自分の評判が傷つかないように振る舞いなさい、というのは、一般的に考えられるハッカー像とはずいぶんと違うように見える。それは当然で、評判を大事にするという言葉ひとつとっても、(ノウアスフィアに対比させて)現実空間とはちょっと違う。早い話が、間違った物言いにはフレームを辞さず、バグっているコードは容赦なくリバート、腐ったアイディアは腐っていると指摘する、そういったソースコードレベルの生なプロトコルが下にはあるからだ。それはそれ、これはこれ。後、おもしろい指摘で、でも確かにそうだなというのが、賞賛は個人に、非難はプログラムに、というのがある。Aさんがリビジョン5390のコミットをしたとして、それが素晴らしい効果を与えたとする。その場合は、「Aさん、GJ!」と、そのコミットをした個人の名前が賞賛される。Bさんがコミットしたリビジョン5391がとんでもないデグレを巻き起こしたとする。この時は、「r5391のせいでとんでもないことになった」「r5391はひどかった」と、Bさんではなくコードが非難される(少なくとも公式文書では)。まともな開発者ならバグは常にあるということを知っているから、エンバグしたという理由で個人を非難してもしょうがないとわかっているからだ。いうコードが問題を起こしたかの知見は重要だ。良いアイディアは人間に根差しているのは当然だ。したがって賞賛が人に向かうのも当たり前だ。確かに見た目の対称性はないね。いうわけで、次回はハロウィン文書へ進む。これはあらゆる意味でおもしろい文書だ。ありがとうございます。拓未)で、ざっくりと読み始めると忍者の写真やらマスター・センセイのお言葉やらがたくさん入っていて、これはナイス(という言葉から受けられる妙な人なつこさと親近感があるポジティブなイメージ)な本だ。書かれている内容は、お客様の立場になって考えて、みんなで合意して計画して計画に無理があったら方向を調整して......とナイスな人間として振る舞うことが書いてある。読んだら、また書きます。オリジナルがえらいの追記ハッカー倫理ではオリジナルがえらいのは、ファウンダーがえらい、つまりは評判重要なのだが、これが企業論理になると俺様に都合が良い改変をして保守は連中、というコスト戦略になるところがおもしろい。dankogaiはJcode.pm経由Encode.pm。