「夢をあきらめたわけではないんですよ」。イーシー・ワン 代表取締役社長の最首英裕氏は笑う。夢とは,同社が上場時に掲げていた「ソフトウエア・コンポーネント流通」のことだ。
同社はMBO(経営陣による企業買収)により,2009年2月に非上場企業に戻る。新しい体制で挑戦しようとしているのが,コミュニティによる,ソフトウエアだけでなく“智恵”をも共有し,そこから新しい価値を生み出すことだ。
ソフト部品流通という夢
Javaによるシステム開発を得意とするイーシー・ワンは,2002年にジャスダックに上場した。1998年の創業から4年という短期間での上場の一因となったのが「ソフトウエア・コンポーネント流通」という,同社が掲げたビジョンだった。同社はJavaのコンポーネントを売買する市場cBank(コンポーネント・バンク)を立ち上げ,同社だけでなく他社が開発したコンポーネントの流通を目指した。
この頃,ソフトウエア部品の流通を目指したのはイーシー・ワンだけではない。住商情報システムや日立ソフトウェアエンジニアリング,日本総合研究所などは2001年,共同でコンポーネント流通会社コンポーネントスクエアを立ち上げた。富士通も2000年にJavaコンポーネントを提供するWebサイト「富士通コンポーネントセンター」を開設した。
ソフトウエア部品の再利用は,単にこの時期に起きたブームではない。ソフトウエアというものが生まれて以来の,ソフトウエア工学の一大テーマであったと言える。それがこの時期に期待を集めた理由は大きく2つある。
ひとつは,Javaの上でEnterprise JavaBeansと呼ぶ分散オブジェクト仕様が提唱され,ソフトウエアのコンポーネント化が進むと期待されたこと。もうひとつは,Webアプリケーション・フレームワークが普及することでアーキテクチャの共通化が進み,相互運用性が高まると期待されたことだ。
しかし「結果としてコンポーネントは流通しなかった」(最首氏)。理由は様々あるが,つまるところコストに見合うメリットが得られなかったためだ。コンポーネントを売る側にとっては商品に仕上げるためのコストがあり,数が出ないのであれば安くはできない。買う側にとっては,そもそも自社のシステムにとって買う価値があるのかを調査するにもコストがかかる。ほどなくしてコンポーネント流通への期待はしぼんだ。
1万5000のPerl部品,7000以上のRubyプロジェクト
ちょうどその頃,IT産業に大きなパラダイムの転換が進行していた。オープンソース・ソフトウエアの成長である。
中身がすべて公開されたオープンソース・ソフトウエアは,使い手が調査し,習得するコストを大幅に低下させた。オープンソースのため無償で提供されることも多い。コンポーネントを提供する側にとっては,完成度を過度に気にせず気軽に公開できる。このことがコンポーネントの数を増加させた。
オープンソースとして公開されたコンポーネントは,膨大な数にのぼっている。Perlのモジュールを登録するWebサイトCPANには,2009年1月20日時点で約1万5000のモジュールが登録されている。Rubyのオープンソース・プロジェクトをホスティングするサイトRubyforgeには,7000以上のプロジェクトが登録されている。Ruby on Railsにはpluginという機能を追加できる仕組みがあり,少なくとも数十のpluginが公開されている。Javaもオープンソースになった。コミュニティを支援するサイトjava.netには,約6000のプロジェクトがある。これらのモジュールを使うことなく本格的なシステムを作るケースは,今やほとんどないだろう。cBankなどが目指していた有償での販売ではないが,ソフトウエア・モジュールは世界中で共有され,日常的に再利用され始めた。
もちろんソフト部品は数がそろっていればよいわけではない。しかもイーシー・ワンやコンポーネントスクエアなどが目指していたのは,単機能のソフト部品というよりもある業務単位を実現する機能を備える“大きな”単位でのコンポーネント(ビジネス・オブジェクトなどとも呼ばれていた)である。その方向でのソフト部品化の進展は,どちらかと言えばSOA(サービス指向アーキテクチャ)やSaaS(ソフトウエア・アズ・ア・サービス)の流れに受け継がれている。
ただ,これらを踏まえた上で,ソフトウエアの再利用というソフトウエア工学の永遠の課題を前進させるのにオープンソース・ソフトウエアが非常に有効であることは間違いないだろう。