« サービス(BlogPet) | トップページ | 05月26日のココロ日記(BlogPet) »
2008.05.26
オープンソースプロジェクトの「周辺技術」
tumblr にはまりすぎて、全然ブログの更新をしてない今日この頃。さすがに、更新頻度低すぎな気がするので、tumblr の dashboard で見かけた話題で反応できそうなのがあったら、ブログに書いてみることにします。
まずは、「do nothing: 「 きまぐれ日記 - 肥大化して破綻するオープンソースプロジェクト」」。
オープンソースは誰でもプロジェクトに参加できるのですが、ディベロッパーの技術もピンキリなため、時にはどーでもいい拡張がコミットされてしまうことがあります。その最たるものが周辺技術との統合。ホニャララメタデータをMySQLに保存, ○○バックエンドとの統合, ○○モジュールによるオブジェクト化 等々.. こういう拡張は、とっつきやすいし具体的な成果になって見栄えはいいんですが、メンテナンス性が悪くなり、rpmやdeb のパッケージャーは相当苦しみます。
きまぐれ日記: 肥大化して破綻するオープンソースプロジェクト
形態素解析 ChaSen も一時期そのような経緯を辿りました。形態素解析エンジンのクライアント/サーバー化 (Unix だけならいいけど、まじめにポータビリティを考えると死ぬ、 ChaSen 2.4.0 から廃止), 注釈機能 (入力テキストのあるタグで囲まれた部分の形態素解析をスキップする), 日本語の文区切り (単に 「。」等で区切るという処理)等々.. それぞれは、便利かもしれませんが、こればっかりやってると、肝心の形態素解析のコアアルゴリズムが疎かになってしまいます。で、往々にしてこういう周辺技術に質問が集中するんですよね。(なぜでしょう?)
きまぐれ日記: 肥大化して破綻するオープンソースプロジェクト
なぜかというと、「こういう周辺技術」にこそ、需要があるから。自分のプロダクト(成果物)に取り込みたいから。
もちろん、大部分の人は、形態素解析に興味があるから ChaSen にも興味があって、コミットしているんだと思いますが、そうではなくて、自分のプロジェクトに流用するため、その手の「周辺技術」を探しているうちに ChaSen にたどりついた人もいるんじゃないかな? オープンソースは、その一部を切り出して流用できるところに価値(の1つ)があるんですから。
例えば、『注釈機能 (入力テキストのあるタグで囲まれた部分の形態素解析をスキップする)』部分とか、汎用的なライブラリ関数にしてしまって、いろんなプロジェクトで使いまわししたいでしょ? 最初から流用目的でオープンソースを物色している人は、それなりにいます(たぶん)。そして、そういう人たちは、そのオープンソースプロジェクト自体には何の還元もしないことが多い。バグを見つけてもローカルで直して終わり、オープンソースプロジェクト本体には報告しない、とか。
そういう人たちの相手をしたくない、というのはよくわかります。そういう人の相手をするのが好きな人、面倒見のいい人がいればいいんですが、なかなかそうもいきません。この辺、コミュニティに任せることができれば、メインの開発者は幸せになれると思います。コミュニティの育ってないオープンソースだと何か対策をひねり出さないといけません。「ガチガチにAPIを用意して、他の世界とできるだけ疎結合になるような設計にする」のは1つの解決方法でしょう。あとは、その手の質問は徹底的に無視するとか。その代わり、コミュニティが育たなくなっちゃいそうですが。
投稿者: tsupo 2008.05.26 午前 02:54
| 固定リンク
|
|
|
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: オープンソースプロジェクトの「周辺技術」: