スタッフコラム

「企業で使う、オープンソース」〜第6回 情報サービス企業はオープンソースを使うべき〜

株式会社 野村総合研究所
オープンソースソリューションセンター 寺田雄一

[更新:2007/10/16]

ソフトウェア技術は退化している?

コンピュータの歴史では、情報技術は年々進歩し続けているとされている。本当だろうか?
ソフトウェア技術(ソフトウェアの開発技術)を見たときに、その技術レベルは20〜30年前から本質的にはさほど進歩していないように思える。むしろ、1990年代に大きく退化したのではないか、と筆者は感じている。
1990年代前半、ソフトウェア技術やソフトウェアの開発に関する様々なノウハウはCASEツールなどの形に発展し、普及しつつあった。もちろん当時のCASEツールは万能ではないが、ソフトウェアの開発生産性や品質の向上という課題に対して、一定の解を出していた。しかしその後、CASEツールはほとんどその姿を消してしまった。筆者はその原因として、メインフレームからUNIXやPCへの技術革新があると考えている。つまり、ハードウェアとしては技術革新によって、低コストで高い性能のコンピュータを入手可能になったが、ソフトウェア技術は大きく退化してしまった。(図1)

図1:ソフトウェア技術の推移
図1:ソフトウェア技術の推移

ソフトウェア技術の進歩と「共通プラットフォーム」

1990年代までのソフトウェア技術の進歩は、「共通プラットフォーム」の上になりたっていた。「共通プラットフォーム」とはつまり、業界全体でIBM互換のメインフレームを使用し、COBOL言語でアプリケーションを開発する、という環境である。「共通プラットフォーム」のおかげで業界全体としてノウハウが共有され、ブラッシュアップされて、開発やテストをサポートする製品が提供されていた。
しかし、1990年代にシステム開発の中心が、UNIXやPCへと移行すると、状況は一変する。使用するハードウェアも違えば、データベースや通信ソフトなどのミドルウェアも全く違う。開発する言語も異なる。これらの環境の変化によって、これまで培ってきた開発生産性や品質の向上に関するノウハウはまったく役にたたなくなってしまった。さらにインターネットやJavaの登場など、日々変化する技術によって、エンジニアの間には「ここでノウハウを学習しても、すぐに使えなくなる」という空気が蔓延し、システム開発も「その場しのぎ」となり、開発生産性や品質の向上に関する取り組みはあまり行われなくなっていった。当然の結果として、システムの品質は大きく低下し、1990年代に「クライアント/サーバ型システム」のトラブルが相次いだ。

2000年代の中盤になって、ようやく混乱から脱し、システムの品質が向上してきたように思う。ここでも「共通プラットフォーム」が重要な役割を果たしている。ここでの「共通プラットフォーム」はすなわち、「Web/Java」である。ハードウェアはUNIXサーバかPCサーバを利用、Webサーバ/アプリケーションサーバ/DBサーバの三階層構成をとり、開発言語はJavaを使う、といったシステムが一般的になり、ソフトウェア開発に関するノウハウが共有され、開発やテストをサポートするツールも増えてきた。「共通プラットフォーム」無くしては、ソフトウェア技術の進歩は無い。

社会インフラとしてのオープンソース

そこで筆者が提言したいのが「オープンソース」の活用である。「共通プラットフォーム」を構成するコンポーネントとして、特定のベンダーに属する製品だと都合がわるい。業界全体としてのコンセンサスが得られにくい。よって、どのベンダーにも属していない「オープンソース」は、共通プラットフォームとして最適なのである。
また、「共通フラットフォーム」はコモディティ化した領域である。例えばJavaのアプリケーションサーバやRDBMSなどは、どのベンダーのどの製品であっても機能はほぼ同じである。このようにコモディティ化した領域で、多くのベンダーが大切なリソース(優秀なエンジニア)を多く投入し、競争を繰り広げる意味があるのだろうか?少なくともシステムの利用者にとっては、それらの製品の選定はあまり意味がないはずである。人材不足が叫ばれている昨今、「利用者に利益をもたらす」領域にリソースを注力するべきではないだろうか。
このように、ソフトウェア技術を進歩させ、情報サービス産業を発展させるためには、オープンソースのさらなる活用が必要である。オープンソースは社会インフラとして、業界全体で普及・発展に努めるべきだ。

株式会社 野村総合研究所 オープンソースソリューションセンター 寺田雄一
株式会社 野村総合研究所
オープンソースソリューションセンター 寺田雄一

NRIオープンソースソリューションセンター(OSSC)のマネージャー。
2003年にOSSCを立ち上げ、複数のOSSの組み合わせを事前に検証したOSS基盤を提唱し、OpenStandia™パッケージを開発。

このページのトップへ