OSSの開発振興
OSSの開発においてコミュニティでの開発が加速しない分野に対し、それを補完する形での企業の貢献が大きい分野があるというようなことを昨日述べた。
しかし、企業は基本的には経済的なインセンティブがなければ開発をするということは難しいので、企業によっても開発されない分野というものが厳然として残る。
コミュニティにも企業にも放置されうるなものとはどのようなものだろうか?みんなが必要としているのだけど、コミュニティにとっては「楽しい、わくわくするような」ものではなくて、企業にとっても経済的なインセンティブが見込めないもの。
例えば、Linuxカーネルの互換性をひたすらチェックするようなテストプログラムなんていうのは、みんなにとってあればいいものだけど、それを作ったからといってハードウェアとかソフトウェアがばりばり売れてもうかってしょうがないという類のものでは決してない。
商用ソフトウェアの場合、ソフトウェアの開発プロセスにテストプログラムを作るというのが否応無く組み込まれているので、テストプログラムのない商用ソフトウェアというのは考えられない。しかしOSSの場合、ちょっとしたテストプログラムはあったとしても、大規模なリグレッションテストというのはほとんどない。
ソフトウェアの品質を安定させるために絶対必要なものである。多くの人に異論はないであろう。しかし、テストプログラムをせっせと作ることは、コミュニティの一プログラマが自分の寝る間を惜しんで作るというようなわくわくエキサイティングなプロジェクトではない。
企業にとっても必要性は誰よりも理解している。理解しているがOSSがゆえに自社だけで作るというインセンティブはない。誰かが作ってくれればいいと思っていたとしても、自ら汗を書くというインセンティブはない。
OSSの力学からいってこの手のものは放置されやすい。共有地の悲劇である。
各社がばらばらに独自にテストをするのは無駄である。OSDLのようなコンソーシアムを作って、このような共有地を耕すということはコミュニティにとってもプラスだし、エコシステム全体にとってもプラスだ。
プロジェクトの技術的困難性は極めて低い。実現可能性は極めて高い。
OSSの公共財的性質を考えれば(社会的共有資本だ)、これを政府によって支援してもらうことは、それなりに道理にかなっている。社会的共有資本を整備することはみんなに取ってプラスだからだ。
まとめると、OSSの開発支援が必要とされている分野は
- みんなが共通に困っていること。個人的に困っていることは困っている人が解決するというのがOSSの基本だ。
- コミュニティにまかせていては開発が加速しないこと。
- 経済的なインセンティブが働かないため企業による開発が加速しないこと。
技術的な難易度はそれほど高くないもので、あくまで開発であり、研究そのものを目的とするわけではない。
OSSを開発することの意義は
- OSSコミュニティへの直接的な貢献である。OSSの価値を増大させる。
- 人材の育成につながる。世界レベルのプレイヤーの活躍する場を提供する。
- IT産業の振興につながる。ソフトウェアは人である。それを作る人を供給することがIT産業の国際競争力を高めることになる。
saoshimaさんも、「OSSコミュニティに向いた開発ネタとそうでないもの」という指摘をされている。同感である。http://d.hatena.ne.jp/saoshima/20060217#1140206353
OSSの開発支援の直接的な意義を述べてみた。