![]() [ゲスト] 吉岡 弘隆 hirotaka yoshioka 12月1日(水)〜12月3日(金)までの間、梅田望夫さんの代わりに吉岡弘隆さんがゲストブロガーとして登板します。
吉岡さんのプロフィール:
ミラクル・リナックス取締役技術本部長兼CTO。日本ディジタル イクイップメント、日本オラクル(米オラクルよりの出向)を経て現在に至る。YLUG(横浜 Linux Users Group)でカーネル読書会を主催。OSDL Japanアドバイザリボードメンバーでもある。
|
ゲストBlogも本日で最後になった。本日は社会的共通資本としてOSSがどのような役割をになうべきか、ちょっと考えてみた。社会的共通資本というのは、宇沢弘文、「社会的共通資本」、岩波新書によれば、
「社会的共通資本は、自然環境、社会的インフラストラクチャー、制度資本の三つの大きな範疇に分けて考える事ができる。大気、森林、河川、水、土壌などの自然環境、道路、交通機関、上下水道、電力・ガスなどの社会的インフラストラクチャー、そして教育、医療、司法、金融制度などの制度資本が社会的共通資本の重要な構成要素である。都市や農村も、さまざまな社会的共通資本からつくられている。(ページii)」
ということである。
社会基盤の一部をOSSがになうとなると、それは誰がどのように開発し、どのように維持管理していくべきなのか?なかなか大袈裟な話になってしまうが、ちょっとおつきあいいただきたい。
昨日のBlogでOSS開発モデルについて議論した。そして古典的OSS開発モデルから企業がコミットした開発モデルへ変化していることを指摘した。
古典的OSS開発モデルでは、個人が自分の興味に従ってソフトウェアを開発するため個人が興味を持たない分野では開発が加速しない。例えば、個人では大規模なストレージのスケーラビリティを確保するような開発は、そもそもそのような環境を個人で準備するのは難しいので、ほとんど行なわれない。そのような分野では企業の貢献が必要になる。結局のところスケーラビリティを確保したい主体が自ら研究開発をしないとならないが、それはおそらく、個人ではなく、企業となるだろう。
開発コミュニティも個人を主体とした開発と企業の開発との補完関係で発展していく。
例えば、OSDL(Open Source Development Lab)は会員企業の会費によって運営されているNPOであるが、個人では準備できないような大規模開発環境を提供し、Linuxのエンタープライズ分野での開発を促進することを目的としている。余談ではあるがOSDLはLinuxの開発者であるLinus Torvaldsが勤務している組織としても知られている。
OSSのサポート
一方で利用者がOSSに深く依存するようになるとOSSに対するサポートの問題が重要になってくる。
古典的な立場で言えばOSSの利用はあくまで自己責任の範囲の中で行われるべきということなので、何らかの問題が生じた場合、コミュニティの誰かがベストエフォートで直すかもしれないし、直さないかもしれない。しかしOSSが社会基盤を担うようになりその重要性が増せば増すほど、そのOSSの問題について積極的に解決するような仕組が求められてくる。それは牧歌的な開発コミュニティだけでは解決できない。
ミッションクリティカルな分野での利用なんていうのはとんでもない話で利用するなら自己責任で利用しろと言うのが古典的な立場であるが、市場に解決をゆだねるという立場もある。ミッションクリティカルな分野での依存可能(dependable) なサポートを要求するニーズがあれば、そのニーズが十分大きければそれをビジネスチャンスとしてとらえてそのサービスを提供する主体がでてくる。実際、ハードウェアベンダ、ディストリビュータなどがOSSのサポートを提供している。
サポートの分野でも従来の開発コミュニティを補完するような企業の存在が必要である。
そのような補完関係は、必ずしも従来の開発コミュニティ自ら望んだものではないかもしれないが、OSSの適用範囲が広がれば広がるほど、好むと好まざるとにかかわらず、進展していく。
OSSのライフサイクルとエコシステム
昨日、
「古典的なOSS開発モデルは、コア開発者が楽しいからプログラムを作る、あるいは、ある問題を解くために自前でプログラムを作って、それを公開したところ少なからづユーザがついて、いろいろ要求をとりいれていくうちに雪ダルマ式に機能が充実していき、ある閾値をこえたところで多くの人に利用されるようになりボランティア開発者が自然発生的につどうようになりバザールモデルがまわるようになる」
と紹介したが、OSSの適用範囲が広がってくると、OSS開発コミュニティの回りにビジネスとして機能拡張をしたり、サポートを提供したりする組織なり企業なりが発生してくる。それはディストリビュータであったりSIerであったりあるいは先進的なユーザーであったりするが、いづれにせよ、広い意味でのコミュニティを形成する。
OSSの社会的責任
InternetをはじめとしてOSSが社会の様々な分野で利用されるようになってきて、特に社会基盤での利用が増えてくるにつれOSSそのものに社会的責任が生じはじめてきている。
その社会的責任にこたえられないOSSは長期的にみて社会的責任にこたえられるOSSに淘汰されていく可能性はあるだろう。
例えば、セキュリティ上の脆弱性が発見されたとしよう。その脆弱性を直すのは誰の責任であろうか?極論すればOSSの利用は完全な自己責任であるのだから、それは利用者の責任において修正するべきだという立場で開発者がその脆弱性の修正を放置するとしよう。しかしそのような立場は到底うけいれられないだろうし、仮にそのような立場のOSSがあったとしたら誰も利用しないだろうから結局は自然淘汰される。
問題は開発コミュニティがどこまで社会的責任をおうべきかという点である。あるいは誰が責任を負うべきか?そしてどのように責任をはたすべきか?
現状ではコミュニティの「善意」によってセキュリティ上の脆弱性は修正されているが社会基盤で利用されているOSSは社会的共通資本であるとの認識にたてばある程度の公的な仕組が必要であろう。
例えばJPCERTなどが行っているような仕組である。
JPCERTは脆弱性情報の収集、共有などの仕組だが、より安全なソフトウェアを作る仕組、脆弱性が発見された時に迅速に修正する仕組、そしてその修正を配布する仕組などのインフラを構築する必要がある事を指摘しておく。
独占ソフトウェアに依存することによる危険性
OSSであろうが、商用ソフトウェアであろうが、セキュリティ上の脆弱性をタイムリーに修正できないソフトウェアは長期的にいえば市場によって淘汰される。しかしそれが一社によって独占されているソフトウェアの場合、そのようなメカニズムが十分働かない危険性がある。
社会がある1社が独占しているソフトウェアに依存する事の危険性はセキュリティ上の脆弱性だけではなく、様々な問題が指摘されている。一社独占の弊害は、製品価格の高止まり、製品品質の低下、サービスの低下など様々なものが考えられる。健全な競争があってこそ消費者に利益をもたらす。ということでオルタナティブとしてのOSSへの期待感が高まっているのである。
社会的共通資本であるOSSを維持発展させるのは、個人や企業だけでなく、NPOやNGOそして政府である。
IPAのOSS基盤整備事業などまさに公的機関がOSSを予算上の支援をするというシナリオである(Samba国際化プロジェクトもその枠組で開発した)。
最後に
最後となる今日は「社会的共通資本としてのOSS」と題して、OSSにまつわる1)開発コミュニティ、2)サポート、3)社会的責任、などの話題について問題提起をした。力不足で議論が十分練れていないままになってしまったことをおわびしたい。
3日間、おつきあいいただき、ありがとうございました。