平成13年度未踏ソフトウェア創造事業


採択案件評価書

1.担当PM  14.新部 裕
2.採択者氏名  田中 哲   (独立行政法人 産業技術総合研究所 情報処理部門 非常勤職員)
 上野 乃毅 (早稲田大学大学院 情報理工学研究科 修士課程)
 林   芳樹 (東京大学大学院 情報理工学研究科 修士課程)
3.プロジェクト実施管理組織  日本エンジェルズ・インベストメント株式会社
4.委託金支払額  10,000,000円
5.テーマ名  <安全な CVS サーバの構築パッケージの開発>
6.関連Webサイトへのリンク  CVS: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cvs-security/cvs-setup/
7.テーマ概要

われわれはオープンソースプロジェクトに置ける事実上の標準の CVS による分散開発環境を安全かつ容易に構築するパッケージを開発・提供することにより、オープンソースプロジェクトの活発化を図る。オープンソースプロジェクトにはソースを開発者以外にも部外者の開発への参加の障壁を劇的に引き下げられるという性質があり、これは世界中の人的資源を有効に活用して開発を進めることができるという利点につながる。しかし、CVS は設計が古く、セキュリティ問題が指摘されているほか、集中サーバが必要で完全な分散環境を実現できないなど、さまざまな問題を抱えている。多くの問題はさまざまなツールの併用と高度な運用経験を持つ管理者により対処可能ではあるが、これは CVS による分散開発環境の導入・維持に対する障壁となる。われわれの開発するパッケージはこの障壁を低めることにより分散開発環境の普及を図り、さらには分散開発環境が非常に重要な意味を持つオープンソースプロジェクトの活発化を図ることをねらいとする。

8.採択理由

CVS は、ほとんどすべてのフリーソフトウェアプロジェクトに利用されているソフトウェアであるが、もともとがネットワーク利用を前提に作られているものでないため、その運用にはノウハウが必要となる。このノウハウをまとめて安全な運用のできるパッケージの開発は、フリーソフトウェアの発展に大きく寄与するものと判断した。提案者 3 名は、これまで種々のフリーソフトウェアを発表し保守をしてきて、また CVS の運用経験も豊富であり、CVS に代るソフトウェアの開発にも関わっていることからプロジェクト遂行能力に問題はない。現実的なすぐに役に立つ提案として評価した。

3人の開発者の内、一人(田中 哲 氏)は、新部 PM と同一の組織の所属(産業技術総合研究所)であるが、PM とは異なる研究(一杉主任研究員のグループ)に属しており、PM と職務上/研究上の関係はない。従事する居室、フロアも異なり直接の関係はない。

9.プロジェクト概要

フリーソフトウェアの開放型開発を行なうプロジェクトのほぼすべてにおいて利用されている分散開発環境支援ソフトウェア CVS (Concurrent Versions System)について、運用の経験に基づくノウハウを集約し、以下の改善を提供するソフトウェアを開発する。

 ・分散開発環境支援ソフトウェアの導入を簡単に行なえる
 ・設定が誤りなく簡単にできる
 ・安全性を高めた運用ができる

10.開発目標

これまでの経験に加えて、さらにフリーソフトウェア開発プロジェクトのリポジトリ運用を行ない、そのノウハウを集約したソフトウェアとしてまとめる。

これまでの CVS の問題点を洗い出し、分散開発環境支援ソフトウェアの導入が、サイトの運用に深刻な安全性の問題を引き起こさず、ネットワークのセキュリティレベルを必要以上に下げることがない運用が可能となるソフトウェアとすることを目標とする。

ソフトウェアの実現にあたっては、利用するツールを厳選し、リスクを最小限とする。

11.進捗概要

リポジトリとして cvs.m17n.org を運用し、他の個別プロジェクトのCVS 利用を支援し、その中で運用ノウハウを集積することを行なった。また、全く別の実装である次世代分散開発環境支援ソフトウェア subversion の開発に参画し、この面でも必要なノウハウを集積する努力を行なった。

CVS の問題点を洗い出すことができ、2001 年 11月の中間報告会で発表した。

2001 年 12 月に公開 CVS (cvs-security.sf.net)に開発ソフトウェアを持っていき、2002 年 2 月までにすべての機能を実現するものとすることができた。CVS のツールを CVS によって公開する形となった。

その成果に関して、2002年 2月の成果報告会で発表した。

12.成果

ソフトウェアは、 http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/cvs-security/cvs-setup/ で公開された。

研究開発活動として、関連のソフトウェアのフィードバックがなされた(cvs, ruby)。

副産物として、subversion の開発が進められたことがあげられる。また、運用にあたって、他の個別プロジェクトの支援が実現された。

13.プロジェクト評価

すぐに利用できる有用性の高いソフトウェアが実現された。プログラミングに関してその実力を十分に発揮し、これまでのノウハウをソフトウェアという形で確実に実装できた。その実現も Object Caml, Ruby を用い構成するなど、抜きん出た技術力を発露した。目標通り、実装し公開できたことは評価できる。他のソフトウェア開発プロジェクトとも良い連係ができた。

このツールにより、分散環境支援ソフトウェアの管理者の悩みを大幅に軽減られ、これまで運用をあきらめていた管理者にも分散環境支援ソフトウェアの運用に目を向かせることができるだろう。

これまでフリーソフトウェアに関して輝かしい実績を持つ 3 人からすると、この成果はある意味、当然といえる。欲を言えば、3人が集まったチームとしての力が開発に反映されるともっと良かった。

提案申請時においては、素晴らしい着眼点であったが、Arch, BitKeeper,Subversion など関連の研究開発が進んだことから、このソフトウェアの有用性は、将来的には限定的なものとなると考えられる。

14.今後の課題

ソフトウェアの機能としては実現されたので、利用者に対するドキュメントを整備し、普及と啓発にあたることが今後の課題である。以下に個別の課題を列挙する。

 ・ FTP や Web で配布するものとして(cvs 以外の配布方法でも)配布する。
 ・ ホームページの設立、関連情報の情報発信の整備
 ・ 利用者の獲得と利用者を含めた保守開発体制の確立
 ・ 開発のオープン化と利用者メーリングリストの設立