今やソースコード管理システムの標準となっている「Git」(関連記事)。作者のLinus Torvalds氏から指名され、メンテナーとして責任を負っているのが現在米国のGoogle本社に勤務する濱野純氏だ。濱野氏に、メンテナーを引き継いだ経緯、Googleでの仕事などについて聞いた。
Gitコミュニティはどのように活動しているのですか。
本体の開発は、デザインからコードレビューまで、すべてGitメーリングリストで行っています。最近のリリースには、それぞれ60人から80人程による変更が入っていますが、常に活動している主要な開発コミュニティ参加者、と言えるのは10人程度です。
開発者でない人たちで#git IRCチャネルとか、stackoverflowなどでエンドユーザーのサポートをしてくれる人たちの数はもっと多いと思います。この人たちも、Gitコミュニティの重要な仲間です。
Gitコミュニティに参加されたきっかけ、Linusさんにメンテナに指名された経緯は。
もともと、Linus君がGitを始めた直後に、これからはボスであるLinus君にパッチを渡すのにはこれを使わないといけない、使い勝手の悪いツールを使わされるのではかなわないから使いにくいトコを直したい、という理由からLinuxカーネルの回りの人たちがよってたかってGitを改良する場、としてGitメーリングリストができました。
ボクはカーネル開発者とはまったく付き合いのない、単なるLinuxユーザーでしたが、ボクを計算機屋に育ててくれた師匠が、当時RCSやらdiffやらと言ったバージョン管理システムの基本技術であるパッケージのメンテナーをしていたこともあって、ボク自身がバージョン管理システムに興味があったこと。たまたま本業のプロジェクトが端境期でヒマだったので、参加する時間が十分に取れると思えたこと。カーネルのように既に何万行もコードがあって何百人ものエキスパートがいるシステムと異なり、まったく新しいシステムなので、多くの名のあるカーネル開発者と一緒に仕事をすることになってもバックグラウンド不足で不利になることなく、意味のある貢献をするのが可能だと思えたこと、というの三つの理由から、プロジェクトの当初からメーリングリストに参加しました。
他の多くの参加者がGitの使い勝手やうわべの改良をしていて、ボク以外にはGit本体のアーキテクチャにかかわる深い部分を見て改良をしている人はあまりいませんでした。当初からLinus君は、自分の本業はカーネルだから、自分が使えるシステムになったらGitプロジェクトは手放して誰か他のヤツにやらせたい、と公言していました。だから、しっかりまとまった仕事をすれば、単に「意味のある貢献をする」だけではなくてプロジェクトを引きつぐことになるのだろう、というのは、開発コミュニティに参加してパッチを送り始めてまだ数週間というかなり早い時期から予想していました。
去年Linus君が受けたインタビュー記事「An Interview With Linus Torvalds | TechCrunch」がありますが、引き継ぎを頼まれた時には、このインタビューの最後の段落で彼が言っているのとほぼ同じコトを言われました。「単にお前が一番たくさんパッチを送ったからではない、お前が他の開発者のパッチをレビューしたり、開発者間の意見の差を調停したりしているのを見ていて、開発者に必要な全体的なセンスが良いと思うから頼むんだ」と。