Git誕生10周年を記念した開発者のリーナス・トーバルズ氏のインタビュー


プログラム開発の現場などで、ソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムとして用いられているGitは、2015年4月で誕生から10年を迎えました。この節目を記念し、Gitの生みの親であり、オープンソースOSの代表格であるLinuxの開発者でもあるリーナス・トーバルズ氏のインタビューが実施されています。

10 Years of Git: An Interview with Git Creator Linus Torvalds | Linux.com
http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds

◆Git開発に至った経緯
Gitに関わる人の間ではよく知られたエピソードですが、トーバルズ氏がGitの開発をスタートしたきっかけは、当時のLinux開発の現場で用いていたソースコードバージョン管理システム(SCM)「BitKeeper」の無償提供が終了するという事態を受けてのことでした。当初からLinux開発チームの中でもBitKeeperを用いることへ反対の意見があり、ある意味では起こるべくして起こったともいえる「事件」だったわけですが、トーバルズ氏はこの事態を受けて開発を始めることになります。


BitKeeperはSCMを代表するシステムですが、トーバルズ氏はBitKeeperが世の中に登場するまではSCMの開発に全く乗り気ではなく、むしろ「毛嫌いしていた」ほどだと語っています。しかしそんなトーバルズ氏がBitKeeperを目にした時には「SCMを見る目が変わった」とのこと。その理由についてトーバルズ氏は「BitKeeperは問題をうまく解決しており、リポジトリをローカルに保存し、マージする仕組みは大きな意味がありました。分散型バージョン管理の大きなメリットは、全員のローカル環境にリポジトリを置くことで、『誰に変更を許可するのか』という政治的対立が生じていたSCMの問題が解消できることです」と語っています。

しかしある時、アンドリュー・トリジェル氏がBitKeeperの通信プロトコルの一部をリバースエンジニアリングしようとしたことを理由に、BitKeeperの開発元であるBitMover社がライセンスの無償提供の終了を通告しました。トーバルズ氏とトリジェル氏はこれに対し、「BitKeeperそのものに対するリバースエンジニアリングではない」ことと、そもそもトリジェル氏はBitKeeperを所有していないためにライセンス契約そのものが存在しない旨を主張しましたが、交渉は決裂します。

BitKeeper使用以前の状態に戻ることを避けたかったトーバルズ氏ですが、他社システムでトーバルズ氏の要求を満たすものは見つからず、最終的には自前のSCMである「Git」を開発するに至りました。

突貫工事にも近い状況で作られた初期のGitですが、次第に改良が加えられて2005年12月には運用が開始されます。Gitの仕上がり具合や満足度について尋ねられたトーバルズ氏は「非常に満足しています。非常によく機能しており、私の要求に応えてくれています。興味深いのは、外部のプロジェクトの多くにも用いられるようになったことです。いまでも従来からのCVS(Concurrent Versions System)やRCS(Revision Control System)が使われ続けている例を見ることはありますが、いずれGitがその役目に取って代わることでしょう」と語っています。

「今後、Gitを超えるような新しいシステムは登場するか」という質問に対しては、「自分で新しいものを作るつもりはありませんが、何かしらの新しいものは登場するでしょう。しかし、それらはおそらく『Gitっぽいもの』になると思います。GitがそれまでのSCMの問題を解決したようなことにはならないでしょう」と自信のほどをうかがわせる答えを語っています。

◆GitとLinux
「Gitは私たちLinuxの開発チームのワークフローにあわせて設計されました。そのため、Linuxの一部といえるものです」とトーバルズ氏はGitとLinuxの関係について語ります。GitはLinux開発のような大きなプロジェクトに向けて作られているので、他のシステムだと何時間もかかるようなマージの処理をわずか数秒~数分で完了させることができるようになったとしています。

その一方で、「Gitはとてつもなく頭のいいヤツにしか使えないシステムだ」という声があるのも事実で、Linux開発に携わったアンドリュー・モートン氏ですら「Gitは間違いなく、人々に『自分が思っていたほど自分は賢くない』と思わせるために設計されている」と語っているほど。これについて意見を求められたトーバルズ氏は「かつてはそのような時期もありましたが、現在は違います。みんながそのように感じた理由はいくつかあるでしょうが、いまでも唯一残っている理由は『一つのことを行う際にでも多くの方法を採ることができる』ということです」と回答。さらに「Gitでは非常に多くのことが可能であり、定められたルールの多くは技術的な制限のためではなく、複数のメンバーで作業することによるものとなっています。Gitはパワフルなツールの集合体です。最初にまず圧倒されるだけでなく、同じ目的を実現するのにいくつもの道筋をたどることができるようになっており、しかもいずれの方法もきちんと作用するようになっているのです。Gitを学ぶよい方法は、最初はあまり多くに手を出さずに基本的なことだけを使い、自信が持てるようになった時に別のことを行うことでしょう」と語っています。

By Adriano Gasparri

また、「GitなしにLinuxは現在の開発ペースを実現できたか」という質問に対しては「もちろん可能だったでしょう。しかしそれには、Gitと同じぐらい効率的なSCMを誰かが作らなければなりません。『Gitっぽいもの』は必ず必要です」と語っているのですが、これは「事実上Gitなしではムリだった」と宣言しているようにも聞こえます。

◆GitHubについて
Gitの仕組みを用いたウェブサービスであるGitHubについて意見を求められたトーバルズ氏は「素晴らしいサービスであり、なにも問題にすべきことはありません。……時にはうまく働かない事もありますけれど」と語っています。

By Irish Typepad

最後に「GitやGitHubの仕組みの使い方で面白かったもの」について尋ねられたトーバルズ氏は「私にとっては、新しいプロジェクトを簡単に始められるようになったことだけで十分です。プロジェクトをホストすることは多くの場合大変でしたが、GitやGitHubを使えば小さなプロジェクトを進めることなど取るに足らないものになりました。重要なのは『プロジェクトが何か』ではなく『自分でプロジェクトを行える』ということです」と語っていました。

・関連記事
GitHubで使用されているアイコンフォント「Octicons」が一般公開を開始 - GIGAZINE

ついに2万円台でSIMフリーの世界初UbuntuベースLinuxスマホ近日販売開始へ - GIGAZINE

デルのLinux用ノートPC「M3800」4Kモデルの実物はこんな感じ - GIGAZINE

Windows 10搭載PCにはLinuxなどをインストールできなくなる可能性あり - GIGAZINE

Linux搭載で1.6km先の動く目標でも撃てるスマートライフル「Mile Maker」 - GIGAZINE

GitHubを退社した女性エンジニアが社内でのハラスメントを明らかにして改善を訴える - GIGAZINE

78

in ソフトウェア,   メモ, Posted by logx_tm