Island Life

< 才能と金 | ソフトウェア開発以外の分野でのオープンソース? >

2009/06/19

オープンソースの罠

http://zunda.tumblr.com/post/126168985

“オープンソースは、「有志がオープンに協力してなし遂げる」という以上にラディカルなものです。参加者よりも、成果物の自由を重視します 梅田望夫にオープンソースを語るなとガツンと申し上げたい - ひがやすを blogのshiroさんのコメント - それはオープンソースソフトウェアじゃなくてフリーソフトウェア?というわけでもう一度勉強しなおしてくる。Why “Open Source” misses the point of Free Software

「オープンソース」がわざとラディカルな思想面をぼかしているのは 確かだけれど、Open Source Definition(OSD)を読むと「自由な改変と再配布を保証して、ソフトウェアがevolveするチャンスを 最大化する」というふうに作られてるのがわかる。

OSDが巧みなのは、OSDを採用する人がどういう意図を持っていようが、 OSDを採用しさえすれば(=正しい意味の「オープンソース」にすれば)ソフトウェアの 自由が保証されることだと思う。善意で利他的な情熱に衝き動かされて貢献する 人ばかりでなく、ハッカー界で有名になりたい・履歴書に書ける開発実績を作りたいとか、 ライバル企業を蹴落としたいとか、他人の書いたプログラムをただで使って金儲けしたいだとか、 自分の興味を満たすために作ってみたけど保守まで面倒見きれないよ、って人まで、 その思惑のいかんにかかわらず、OSDを採用したとたん、コードはその意図を 離れて進化する自由を得てしまうのだ。一種の罠のようなものである。

これはまあ、フリーソフトウェア陣営から見れば魂を 抜くようなもので、日和ってると言われても仕方ないわけだし、実際、 そうやって思想面をぼかしたために誤解が広まっているという現状があり、 それもまたフリーソフトウェア陣営から見たら「ほらみたことか」ってな ものだろう。

でも、私はこの「悪意だろうが善意だろうが関係なく、システムによって好ましい方向に 誘導してしまう」という設計は技術者としてとてもうまいハックだと思ってしまう。 価値観なんて人それぞれですり合わせるのに多大な労力を必要とするし、 やっとコンセンサスを取ったって人間ってのは気まぐれだから明日どうなるかはわからない。 善意が正しい方に向くとも限らない。 善意や自発的協調の表出を前提とするシステムは脆いのだ。 頑健なシステムはこれらを前提としないでも回るものでなければならない。

これは善意や協調が役に立たないと言っているのではない。 むしろ、善意や自発的協調は行動をドライブする貴重なエネルギー源である。 うまいシステムは、上記の頑健性をクリアした上で、 善意や自発的協調が自ずから「引き出されてしまう」ようになっている。 最初から善意の自発的提供者を当てにするのではなく、関わる人がいつの間にか 自発的に協調するようになってしまう罠がしかけてあるのだ。

そういうシステムはオープンソースだけではない。でもOSDはかなり慎重に、 上記の頑健性をクリアすることを念頭において設計されていて、 結果として自発的協調が引き出しやすくなっているのは確かだと思う。

だから結果だけ見れば、「オープンソース」界隈に 「世の中をより良い方向に導くと思われるテーマがネット上で公開されると、そこに無数の知的資源が集結して課題を次々に克服していく」 ような現象が見られることは不思議ではない。 でもそれは結果として起きている現象であって、それを指して「オープンソース的」 と言ってしまうと大きな誤解を招くことになる。

たとえばこうだ:

http://jbpress.ismedia.jp/articles/-/1216?page=2

サブカルチャー領域への応用は少しずつ進んでいるのですが、全体として、こうした動きがいまだに日本では根付いていません。政治とか社会変化がテーマとなると特に、陰湿な誹謗・中傷など「揚げ足取り」のような側面の方が前に出てきていて、ウェブのポジティブな可能性──何か知的資産が生まれそうな萌芽がネット上に公開されると、そうしたことに強い情熱を持った「志向性の共同体」が自然発生して、そこに「集合知(ウィズダム・オブ・クラウズ)」が働き、有志がオープンに協力してある素晴らしい達成をなし遂げるといった公的な貢献──を育む土壌がありません。

上で議論したオープンソースの意味に照らせば、 「オープンソース的」アプローチとは、「陰湿な誹謗・中傷など「揚げ足取り」のような側面」が前に出てきたとしても結果的にうまくいってしまうような システムを作ることを指すべきと言えるだろう。 「有志がオープンに協力してある素晴らしい達成をなし遂げる」ことそのものではなく、 「利害関係者がそれぞれの思惑で行動したら、オープンな協力をせざるを得なくなり、 結果的に素晴らしい達成が成し遂げられてしまう」ようにするのがオープンソース魂なのだ。

オープンソース的協力を阻むのは中傷とか悲観論みたいな感情的なリアクションじゃない。 知的財産権などを盾にとってシステム的な土台を揺るがすような力であるとか、 従業員の私的時間の作業までも拘束するような就業規則であるとか、 システムから目をそらさせるような組織的なFUDが主要な障害なのだ。

その点では、「土壌が無い」なんていうのは障害でも何でもなくて、単に 「こういうソフトが欲しいんだけどまだ無いよね」というのと同じレイヤの問題だ。 それに対する「オープンソース的」な答えは既にある。 「黙ってコードを書け」---欲しいと思ったら作ればいい。 思うように動かなかったら直せばいい。 動かして見せることの説得力が世界を変える。

(追記2009/06/20 12:01:24 PDT: essaさんのエントリがえらくわかりやすい。 成果が永遠にみんなのものであり続ける仕組みも含めてオープンソースという言葉を使おう)

Tags: OpenSource, ものつくり