« Ajaxで業務マニュアルサーバ | トップページ | 書評「一万年の旅路」 »

2006.05.20

オープンソースと「オープンデザイン」が出会うとき

◆オープンソースの台頭

 無償で手に入る業務システム向けの開発・実行環境やフレームワークが急速に充実してきた。Apatche,Eclipse,Seasar2,MySQL,Ruby on Rails等々、枚挙にいとまがない。それらの多くが活発なOSS(open source software)コミュニティを伴っていて、優れたソフトウエアを開発して社会に貢献したいと願う技術者達の情熱の受け皿となっている。その創造的な流れが止むことはないだろう。

 そのような変化を、ソフトウエア業界を牛耳ってきた大規模SIerも無視できなくなっている。初めの頃には品質がアテにならないとかドキュメントが貧弱などと言って相手にしていなかったのだが、いつの間にか実務で使えるレベルまで成熟していることに気づきはじめている。クレイトン・クリステンセンが「イノベーションのジレンマ」で示したさまざまな業界での事例と似たことが、ソフトウエア産業でも起こっている。

◆オープンデザインの意義

 しかし筆者は、それらが充実するだけでは、多重下請けピラミッドをはじめとしたソフトウエア業界の悪しき構造は変わらないだろうと考えている。なぜなら、それらはあくまでも「開発するための道具」であって、「開発されるべきモノのあり方」を提供するものではないからだ。

 楽器が安く使いやすくなるいっぽうなのに、それを用いて演奏されるべき音楽作品の楽譜がない。喩えるならそんな状況である。それらの楽器の効用を享受できているのは、もともと作曲する能力がある者か、数多くのレパートリーを暗譜(あんぷ)している練達の演奏家くらいで、必ずしも多数ではない。

 だから、OSSに代表される安価で使い勝手の良い開発・実行環境は、開発すべきアプリケーションの楽譜、すなわち「オープンデザイン」と出会うことで、ソフトウエア業界をあまねく照らす光になる。

 「オープンデザイン」とは「無償で提供される各種適用業務の論理設計情報」のことである。夢物語でも何でもなく、筆者謹製の「CONCEPTWARE/財務管理」はその一例だ。(まあ「財務管理システム」をオープンソースで実装するというのは、いきなり本格的すぎるきらいはある。この夏に発表予定の「CONCEPTWARE/科目履修管理」あたりが題材としてはちょうどいいかもしれない)

◆オープンパッケージで変革が起こる

 そういったオープンデザインとオープンソースとが出会うと何が起きるか。オープンデザインをオープンソースの開発・実行環境を用いて実装した「オープンパッケージ(オープンソースでオープンデザインなパッケージ)」が遅かれ早かれ登場する。ソフトウエア産業に変革をもたらすのは、この「オープンパッケージ」ではないかと筆者は考える。

 「オープンパッケージ」はERPパッケージをはじめとした従来の商用パッケージとどこが違うのだろう。もちろん、無償である点が目立つ特長ではあるが、開発実務上重要なのは、これが基本設計情報とバンドルした形で実装され、設定ファイルなどのソースとともに提供される点だ。

 商用パッケージの多くは、「テーラリング」をしやすいような工夫が施されている。すなわち、さまざまな問題を生じやすい「アドイン」を減らすために、膨大なパラメータを設定することで個別の要望に柔軟に応えられるようになっている。しかし、これゆえにソフトウエアの内部構造は非常に複雑にならざるを得ない。その構造を維持するためのコストは半端ではない。また、テーラリング次第で基本設計レベルで変化するので、「アプリケーションとしての基本設計」のような情報も提示しにくい。そもそもそういうものを用意できたとしても、それにもとづいて実装したものがパッケージということにはならない。テーラリングに耐えるための膨大な「余分なモジュール」を伴うからだ。

 いっぽう、「オープンパッケージ」は基本的に論理設計を素直かつコンパクトに実装したものなので、ソフトウエアとしての見通しが良い。複雑膨大であることが避けられないにせよ、論理設計とバンドルされているゆえに、開発者にとってもユーザにとってもわかりやすさが桁違いに良い。結果的に、抜本的な作り変えも、微妙な調整も施しやすい。開発者は、必要に応じて論理設計と実装の両方をテーラリングしたうえでユーザ企業に導入することになる。ユーザ企業としても、論理設計とセットになっているので、特定のベンダーや実装技術にロックインされる心配がなくて好都合だ。

 SIerにとってはどうだろう。「オープンパッケージ」にもとづいて有償サービスを実施するためには多くの人員は要らないが、精鋭でなければならない。コミュニケーション能力、業務知識、設計技術、実装技術といった幅広い素養が、ひとりかごく少数の要員の中でバランス良く揃っていなければいけない。また、採用される「オープンソース」、「オープンデザイン」、「オープンパッケージ」のいずれかの開発にコミットした個人的経歴が、技術者としての売りにもなるだろう。これらの基準は、現在のSIerのビジネス原則である「とにかく工数を多く提供できれば売上が増える」とはあまりに違う。

 目を上げて畑を見れば、時が近いことがわかる。「オープンソース」で地力は充実してきた。今こそ「オープンデザイン」の種を蒔こう。やがてそれは「オープンパッケージ」として実り、畑は色づき刈り入れるばかりになる。そのとき、大変動が起こるだろう。

|

« Ajaxで業務マニュアルサーバ | トップページ | 書評「一万年の旅路」 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: オープンソースと「オープンデザイン」が出会うとき:

« Ajaxで業務マニュアルサーバ | トップページ | 書評「一万年の旅路」 »