大学に「オープンソース」や「Linux」を冠した組織やプロジェクトがいくつか作られている。東京工科大学の「Linuxオープンソースソフトウェアセンター」や早稲田大学のプロジェクト「OSS研究所」などだ。もっとも,大学でのコンピュータ・サイエンスの研究をオープンソース・ソフトウエアを使って行うことは当たり前。なぜ今さら,Linuxやオープンソースという名前をつけた組織やプロジェクトが必要なのだろう。失礼ながら,流行に乗っているのではと思えなくもない。

 こんな疑問を,東京工科大学 コンピュータサイエンス学部助教授の田胡和哉氏に聞いてみた。すると,こんな答えが返ってきた。「オープンソースという形態が認知されてきたことで,大学と産業界のソフトウエアの流れが逆転する可能性が出てきたからだ」。

大学で作られる先進的ソフトが使われないのは“もったいない”

 大学は知識を生み出す場所と言われるが,実は,大学で企業製マシンやソフトウエアを使っていることは多くとも,逆に企業が大学で生まれたソフトウエアを使用している例はそれほど多くない。特に日本の大学生まれのプロダクトは少ない。「かつては,大学でも企業が作ったUNIXなどのソフトウエアの上で研究をしていた。しかし,ミシガン大学が作ったNFSv4をIBMをはじめとするコンピュータ・メーカーが使用しているように,大学で生まれたソフトウエアを産業界に普及させる可能性が大きく広がった。大学で作った基幹ソフトを世界中の人が使う,それが夢ではなくなっている」(田胡氏)。

 東京工科大のLinuxオープンソースソフトウェアセンターではいくつかの研究が行われている。田胡氏が中心になって手がけているのは「1万台規模を想定した分散ファイル・システム」だ。ネットワークの高速化が進み,一時期のローカル・ハードディスクよりも速くなっている。「ネットワークに分散したルーターが分散ファイル・システムとしての機能も備えるようになれば,例えばOSやアプリケーションはいちいちインストールせずに,ネットワークから読み込んで使用するのが当たり前になる。コンピュータの常識が変わるかもしれない」(田胡氏)

 そのほか,Mozilla FirefoxのGUI記述言語であるXULの開発環境「XUL Builder」や,セキュアなファイル・バックアップ・ツール,マルチメディア指向グループウエアなどが開発されている。

 東京工科大学は工学部の学生全員がLinuxとWindowsをデュアル・ブートのマシンを所持するなど,Linuxに力を入れている。学長の相磯秀夫氏,学部長の松下温氏の発案だ。そして「使うだけでなく,作るほうにも力を入れようとして作ったのがLinuxオープンソースソフトウェアセンター」(田胡氏)である。

 早稲田大学のプロジェクト「OSS研究所」も,その目的の一つに「日本の大学発のオープンソース・ソフトウエアを世界に普及させること」を挙げる(関連記事)。所長を務める理工学部教授 深澤良彰氏は「日本のコンピュータ学科の魅力を高めるためには,実際に使えるソフトウエアを生み出していくべき」と指摘する。

 もともと,コンピュータ・サイエンスの研究は新しい理論やアルゴリズムを作り出すために行われている。その検証のためにプログラムも作成するが「あくまで論文を書くことが主で,ソフトウエアはデータが取れれればいい,という位置づけでしかなかった」(深澤氏)。この状況はあまりに“もったいない”。

 Namazu,quickml,gonzuiなどのオープンソース・ソフトウエアの開発者であり,現在は企業に勤務している高林哲氏は「大学では論文を出すことが目的で,プログラムは簡単なプロトタイプを作って終わり。しかし,作り込めば世の中にそのまま役立つものになる」と,大学がもっとオープンソース・ソフトウエアを生み出すべきと指摘している(関連記事)。

論文のためのプロトタイプと実用ソフトの大きな差をどう埋めるか

 とはいえ,論文のために作られるプロトタイプと,実用に耐えうるソフトウエアの差は大きい。実用ソフトウエアは,想定外の操作でも停止したり誤動作したりしないようするためのデータ・チェックやエラー処理などを至るところに実装しなければならない。エラー処理が本来のロジック部分より大きくなることも多い。利用者向けにわかりやすく解説したドキュメントも必要だし,普及のためにはユーザーの質問に答えたり,バグを修正したりといったユーザー・サポートもこなさなければならない。

 そして,これら普及のための努力はいずれも全く論文の材料にはならない。すなわち「日本の大学では業績として全く評価してもらえない」(大阪産業大学 経営学部助教授 羽室行信氏)。意識を変える,というレベルではない。

 また,実用に耐えるソフトウエアを開発できる人材は,実は大学のコンピュータ関連学科でも不足している。ある大学の研究者は「コンピュータ関連学科でも,多くは大学院生になってようやく自分の自分の書いているソースが汚いということが理解できるようになる,ということも珍しくない」と指摘する。

 大学で生まれ,オープンソースとして公開されることで普及したソフトウエアはこれまでにもある。東京工業大学 大学院 情報理工学研究科 助教授の千葉滋氏が開発したJavaバイトコード変換ツールJavassistは,J2EEサーバーJBossでアスペクト指向プログラミングを実現するために使われ,JBossのサブプロジェクトにもなっている(関連記事)。Javaassistをベースに東工大 情報理工学研究科の薄井義行氏が開発されたデバッグ支援ツールBugdelは,日立ソフトウェア エンジニアリングが同社のRISCプロセサSuperH向けJava開発環境に採用している(関連記事)。また,大阪産業大学経営学部助教授 羽室行信氏,京都大学大学院工学研究科 教授 加藤直樹氏,関西大学商学部 助教授 矢田勝俊氏,大阪大学産業科学研究所助教授 鷲尾隆氏らが開発したデータ・マイニング・ツールMUSASHIは,食肉メーカーでのPOSデータ解析など,いくつかの企業で利用されており,ユーザー会も結成されている。

 しかし,JavassistやMUSASHIの場合,ソフトウエアを実用レベルに磨き上げる作業や,普及させるための努力は,開発者個人の情熱と技量によってまかなわれた面が大きい。「Javaのバイトコードを扱うソフトウエアを作りたいたがために(研究として認められるような)先進性を考え出した」(東工大 千葉氏),「(プロトタイプと実用ソフトのギャップを埋める作業は)馬力で乗り切ってきた」(大阪産業大 羽室氏)というのが現状だ。

 個人の努力だけでは限界もある。「開発を進めれば進めるほど,実現したい機能が次から次へと出てきて,とても一人では対応できない」(大阪産業大 羽室氏)

組織として目標を掲げ,人材と資金を集める

 いかに個人の情熱と資質に頼る状況を脱するか。東京工科大の田胡氏は,「必要なものは目標と人材,そして資金」と指摘する。

 「組織として『世界に普及するソフトウエアを生み出すこと』を目的の一つとして位置づける。すなわち組織として評価する。そして,企業での経験や人脈を持つ人材を集めること。資金も必要であり,資金が集まるためにはアカデミズムの基準ではなく,企業の基準で評価される成果を生み出す」(田胡氏)。それが東京工科大のLinuxオープンソースソフトウェアセンターで行われている試みだという。

 大阪産業大の羽室氏は「MUSASHIでMySQLのようなオープンソースと商用のデュアル・ライセンスの形態をとれないか,ユーザー会とともに模索している」という。人材や資金を呼び込むためには,ビジネスで利用する際の使い勝手を高めることも重要だ。

 高林氏は「論文は20~30年後に世の中に影響を与えることができるかもしれないが,オープンソース・ソフトウエアとして出すことですぐにインパクトを与えることができる」という。研究はもともと社会に貢献するために行われるもの。普及を狙うあまりに先進性を失ってはならないが,オープンソースというソフトウエア流通手法は,大学の知識を社会に還元する有効な方法のひとつではないだろうか。