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, ものつくり
2009/06/05
才能と金
THE BRADY BLOG: 炊事場のスーザン・ボイル - 素晴らしい才能を持ちながら、他に問題を抱えているため その才能を満開に発揮して一線に出ることができず、埋もれたまま社会のほんのひと隅を 支えている人はいくらでもいる。と言うような話。 素晴らしくよく書かれているので私の下手な要約よりも原文一読をおすすめ。
で、このエントリにはもう全面的に共感するんだけれど、ここの部分にちょっとひっかかった:
力のある人を世の中は放っておかない。
というのは、わたしの元上司の口癖だったが、ここでは物凄い能力のある人々が埃にまみれて世間の片隅で忘れ去られている。
とはいえ、“力”というものの中には、きっと“実際の作業をする能力”というのはあまり含まれておらず、自己プロモやネットワーキングを行う手腕といった“作業換金力”が80%から90%なのだろう。
能力がありながら恵まれない生活を送った人の話というのは事欠かないし、 能力のある人よりもその周囲の人の方が儲けていたりすることもままある。 そういう話を見聞きすると、どうにも残念な気分になるし、特に後者の場合は もともとの能力のある人が利用され搾取されているような感じもして落ち着かない。
けれどもよく考えると、ある人がお金を手にする、儲ける、ということは、 誰かが支払っているわけだ。で、自分含め人々が金を払うのはどういう時か、 ということを考えると、「才能」そのものに金を払うということはあまり 無いのではないか。生活必需品を除けば、支出の大部分を占めるのは「利便性」 に対する支払いだと思う。もちろん世の中には自分が不便な思いをしても これと見込んだ才能に投資を惜しまない人はいるけれど、それはやっぱり 珍しい存在だ。そういう人がありふれていたら世の中の芸術家の卵は みんな優雅に暮らしていることだろう。
以前、プロとアマの違いはアウトプットの山の高さではなく、不調な時でも 一定の質が保証されていることだと書いたことがある。結局、人がプロに金を 払うのは(=プロがその技術で喰って行けるのは)、
- 状況がどうであれ確実にある程度の質が保証されること (reliability)
- 客の都合に合わせて引き受けてもらえること (availability)
といった理由が大きいのであって、これらは要するに利便性に金を払っているわけだ。
もちろん需要と供給の関係はあって、才能が極めて得がたいものであれば、 利便性を犠牲にしても欲しいという客がついて取引は成り立つ。けれども そこまで珍しい才能でないとすれば、お客は才能そのものよりも、 その才能が提供される利便性の方に金を払うのだ。
「能力」よりも「自己プロモやネットワーキングの手腕」の方が金になる と言ってしまうとなんとなくアンフェアな感じもするんだけれど、 金を払う側はそもそも能力に払っているわけではないとすれば、 これはもう仕方ないことであって、 何か悪の力が働いてフェアネスが歪められているわけではないのだ。
それでも、素晴らしいものを創り出す才能に何とか報いたいという想いがあるのなら、 それはつまり愛である。そして充分な愛を持っている人は行動を起こすはずだ。 具体的には、才能とそれを求めている人とをうまくつなげる役割を買って出ることだろう。
その役割に、ネットはかなり使える道具になるんじゃないか、と今でも思っている。
2009/05/29
reliabilityとavailability
少し前に誰かがどこかで「『信頼性reliability』と『可用性availability』の違いがよく わからない」と書いていたのを読んだのだけれど、今日昼飯を買いに行く途中でたとえを思いついた。
- 「頼んだ仕事は必ずきちんと仕上げてくる」というのがhigh reliability。
- 「いつどんな時に仕事を頼んでも引き受けてくれる」というのがhigh availability。
腕が良いと評判だけど人気がありすぎて予約がなかなか取れない医者は 高reliability/低availability。
いつ頼んでもふたつ返事で引き受けてくれるんだけど締切りを平気でブッチするライターは 高availability/低reliability。
ただまあ、インフラに近いサーバのような場合、 リクエストを受けた後で中途半端なサービスしか提供できない、というケースが 想定しにくい (そもそも中途半端なサービスしか提供できないような事態というのは リクエストを受けられない事態とほぼ同じであることが多い) ので、そうすると reliabilityとavailabilityの程度は連動して動くことが多い。 なので区別がつけにくいのかもしれない。
(こういう意味での"reliable"/"available"というのは英語では日常的に使うので 英語圏の人は悩まないと思う。日本語でavailableにぴったりくる言葉ってあるのかなあ。 "Are you available next Monday for a meeting? (来週月曜にミーティングしたら来れる?) とか、陽に訳出することが無いような気がする。)
余談だけど、フリーランスになってわかったのは自分自身のavailabilityとreliabilityの どっちもが大切だってこと。会社勤めだとreliabilityは気にしてもavailabilityを 気にすることは少ない。自分の手がふさがってれば他の誰かを手当てするのが会社の役目 だから。でもフリーランスだとavailableでないということは仕事が取れないということだ。
Tags: Programming, 英語, Career
2009/05/19
表現
私も40の大台に乗ったからなあ。
未来のいつか/hyoshiokの日記 - 40代、50代の人たちはなぜ表現をしないのか
日本という地域では、インターネットを能動的に利用する若い世代(おそらく40前後がその上限)、あるいはヒマ人以外には、表現をする人というのはほとんど現れていない。少なくともわたしと同世代(50歳前後)にはそのような表現をする人はほとんどいない。
このエントリの読み方として、
- 40代、50代のひとたちで「表現」する人がほとんどいない
- 40代、50代のひとたちは表現しているんだけれど「ネット上で」表現活動を行う人がほとんどいない
というのがあって、吉岡さんの問題意識は表面的には一応後者なのだろうけれど、 なんとなく前提となる意識として「自分の目に届かない表現」を捨象している 印象があって、そのため前者のように受け取って反応している人も多い感じだ。
私の周囲を見回すと、少なくとも前者の命題はほとんど偽であって、 なんらかの表現を行っている40代、50代の友人知人は極めて多い。 ただしここでの「表現」とは広い意味で、先方のコメントにも書いたけれど、 人によっては仕事であったり毎日の献立であったり、あるいは日課の庭の手入れ がそうであったりするかもしれない、というふうにとらえている。
もちろん演奏をしたり画を描いたり演技をしたり映画を撮ったり、という わかりやすい「表現」をしている人もたくさんいる。 けれどもつまるところ、三木清の言うように生活が芸術になることが肝要なのであり、 それはつまり外的要因で自分の行動を決められるのではなく、自分の内的要因で 自分の行動を選んで行くということであり、自分の内的要因から行動を選ぶということは すなわち表現に他ならないということだ。 要するに充実感のある毎日を送っている人は生活そのものが表現なんである。
ブログとやらは情報流通の観点からは画期的な媒体であるけれど、 表現という観点からは単なる一媒体にすぎず、それも表現の形態を革新するような 大げさなものではない。もちろん表現者と媒体のマッチングが重要 なのであって、たまたまブログという形態が自分の表現のカタチに合った人にとっては ブログの登場は画期的であったろう。だからといって誰もがブログによる表現が 合うとは限らないし、ブログで発信していないから表現していないのだ、みたいに言われると 表現媒体としてのブログをそこまで大層に持ち上げなくても良いのでは、と感じる。
いやブログに書いてネットに載せれば広い範囲からフィードバックがあって、 という議論はあるかもしれないが、それは情報流通の観点からの話である。 吉岡さんの不満も、要するにブログみたいな媒体に書いてもらわないと 観客である「俺」が鑑賞できないじゃないか、という不満であろう。 それはわかる。私もいろいろな物語が読みたい。だからいろいろな人が ブログにその人の物語を綴ってくれたら私も嬉しい。嬉しいのだけれども、 それを主として「求めてしまうこと」は観客のエゴ、もしくは本末転倒だ。
例えて言えば、映画DVDのボーナストラックに入っているメーキングや インタビュー、私も大好きなのだけれども、あれが面白いのはあくまで 完成された作品としての本編があって、その補助として入っているからであって、 本編無しのメーキングやインタビューがあっても意味がないでしょう、ということだ。 メインディッシュはあくまで各個人の生活としての表現であって、 ブログに著された「表現」というのは副産物でしかない。
副産物だとしても、やっぱり多くの物語を読みたい。それはそうだ。 ところでドキュメンタリーやらインタビューやらというのは何も本人が 製作する必要はなくて、というか普通は対象となる人以外の人が製作するものだ。 ネット上の発信も、本人が行う必要はないのではないか。表現欲はあっても 表現する中身がない中高生くらいの時に親や身近な働く人たちの仕事を 丹念に追ってみるとか、祖父母の人生を聞き取ってみるとか、 そういう内容がどんどんネットに上がって来たら、そっちの方が面白いんじゃないかと思う。
Tag: 表現
2009/05/11
状態の巻き戻し、Gauche部屋引越し
少し前の「 デバッガが使えないパターン」に井上さんから コメントがついていた。
- 井上 (2009/05/08 19:24:57 PDT): 遅まきながら。状態が上書きされる場合については、ocamldebug だと時を巻き戻すことができます。でも結局「どこまで巻き戻せば良いか」探すのが一苦労で、結局関係ありそげな状態を垂れ流しにして記録取って、それを eyeball なりなんなりして探した方が手っ取り早かったりします。UI がもっと洗練されればそうでもないのかもしれませんけど、現状あんまり意味が無いなあと思ってます。
さすがOcaml、だけど使いにくいのかー。 Gaucheのデバッガも、従来のbreak & inspectにとらわれずに、見たい情報を どうやって取るかってことを考えいきたいのだけれど、どうもケースバイケースで これといううまい手が思いつかない。
ところで10日前くらいにLingrがシャットダウンするとの報があり、 Gauche部屋の空気が気に入っていただけに 残念に思っていたのだけれど、その後Gauche部屋でダベっているうちに何となく 後継となるチャットを作り始めたら おもしろくなって、先週はプライベートな時間をそっちにつぎ込んでしまった。 Lingrほどサービスにコミットするのは大変なので うちで関わりのありそうな部屋だけ細々と運営するつもりだけれど、 コードはオープンにしておくので Lingrちっくなインタフェースが欲しくて自サーバが立てられる人は 選択肢のひとつとしてどうぞ。部屋ごとにCometサーバを立てるという安直な 実装なので何千とチャットルームを運営するのには向かない (でも、Cometリクエストが 別ポートになるのでXMLHttpRequestの同一ドメイン同時接続制限が回避できる かも)。
Gauche部屋は誰でも歓迎です。Gaucheに関する質問などお気軽にどうぞ。 その時見てなくてもちょくちょくチェックするのでいつか返事が返ってくると思います。
Tags: Programming, Gauche
