オープンソースソフトウェア開発におけるWeb版版数管理ソフトの効用

XenLinuxなど、さまざまなオープンソースソフトウェア(OSS)がある。これらの開発を見るときに欠かせないWeb版数管理ソフトとの連携について簡単に説明してみたい。なお、ここで説明するのは、Web版での機能でありコマンドラインではない。このような方法を使うと、まとめて複数プロジェクトのソースコード監視を行うのが容易になる。

  • 版数の更新をどうやって知るか?

git/mercurial(hg)/subversionなどは、RSSを生成する機能がついている。これを使って、RSSリーダで読む。この手段は、複数のOSS開発に携わる場合に重宝する。更新の一覧を見て、自分に関係のありそうなところがあるか一目瞭然にわかる。また、メールではないので、メイラーがいっぱいにならないのもうれしい限り。る

  • ある開発者の貢献を調べる(検索)

エバンジェリストは、普及活動が主の人なので、オープンソースに対する貢献を計るのは難しい。しかし、開発者の場合、投稿したパッチである程度調べることが出来る。さて、git/mercurialとも、Web画面で検索インターフェースが提供されている。これを使うと簡単に見つけることが出来る。たとえば、Xenの開発に対する日本からの貢献だと、fujitsu, valinux, nec, begi.netぐらい。日本のXenハッカーというページはないが、Linuxに比べるとコミュニティが小さすぎるので、ほとんどが知り合いだと思われる。
Xen Project Source Repositories
Linuxだと、ここで探す。
kernel/git/torvalds/linux.git - Linux kernel source tree
ちなみに開発者のリストはここにある。ただし、趣味というか勉強がてらパッチを出したら通った人もいるので、ある程度の数のパッチを出しているかも見ておきたい。
Japanese Linux hacker - 詳解ファイルシステム

Mercurialの場合、ソースコードを表示して、annotateボタンを押すと、どの行がいつ変更されたかがわかる。一方、gitの場合、historyボタンしかないので、がんばって調べるしかない。たぶん、コマンドラインで調べたほうが簡単だと思う。この機能は、デバッグしていて特定の行が問題を起こしているとき誰が問題を発生させたかを見る場合に重要である。

  • レグレッションを起こしたかを知る。

良い例として、libvirtというツールがある。これは、毎日レグレッションを行っており、書外が起きた場合、RSSを生成している。
http://builder.virt-manager.org/
Default
Linuxだと自動化テストツールでAutotestというものがあるが、Webで監視できるかは知らない。

  • Web版ソースコード管理ツールへの要望
    • Mercurialは、検索画面で10以上の変更が見れるようにしてほしい。(改ページ機能)
    • gitでは、git annotateも見れるようにしてほしい。
    • Web版の版数管理ツールは、自動テストツールと連携してもらえると便利かも。