リーナス・トーバルズ氏の新プロジェクト「git」は、Linuxカーネル開発を管理するためのソフト。プロプライエタリなコード管理ソフト「BitKeeper」を捨てざるを得なくなったことから始まった。(IDG)
有名なLinux開発者と、Linuxカーネル開発の管理に使われるソフトの開発元の対立から、Linux作者のリーナス・トーバルズ氏はLinuxカーネルに加え、新しいソフトプロジェクトに着手せざるを得なくなった。ライセンス問題のため、2002年からカーネル開発の管理に使ってきたプロプライエタリなBitKeeperソフトを捨てさせられた同氏は、先週この新プロジェクト「git」を開始した。
この論争は、Linuxの共同作業によるオープンなアプローチを優れたソフト開発の手法と考えているオープンソース開発者たちと、ソースコードの閲覧・改変が可能な点を根本的な自由ととらえているフリーソフト提唱者の違いに関連している。
この論争の結果、トーバルズ氏はほかのLinux開発者たちとともに、Linuxカーネルを構成する1万7000のファイルに迅速に変更を加えられるソフトの開発に取り組んでいるところだ。「gitはある程度『日常的に行う作業に1秒もかかってはいけない』という原則を基に設計されている」と同氏はメールによる取材に応えて語った。
Linux開発者はBitKeeperの代わりにgitを使うことになる。BitKeeperはカリフォルニア州サンフランシスコのBitMoverが開発したソフト。
BitMoverは、Linux開発者が自社ソフトの無料版をカーネル開発に利用することを認めていたが、オープンソース開発者のアンドリュー・トリジェル氏がBitKeeperクライアントのオープンソース版に取り組んだことに不満を持った。トリジェル氏は2月に、BitKeeperに格納されたソースコードと連係するツールを作成。数カ月にわたる交渉の後に、BitMoverは、Linux開発者が現行のBitKeeperソフトを無料で利用できる権利を取り消すことにした。
フリーソフト提唱者は、トリジェル氏のコードは、BitKeeperのプロプライエタリなライセンスを受け入れずにLinuxカーネルに貢献する方法を与えるだけだと主張している。トリジェル氏のクライアントはBitKeeperのデータにアクセスするためだけに利用でき、BitKeeperのシステム全体に取って代わるものではないため、現在新しいソースコード管理システムを探しているところだとトーバルズ氏は話している。
最も有名なフリーソフト提唱者であるリチャード・ストールマン氏は、以前からカーネル開発者にBitKeeperを捨てるよう呼びかけ、このソフトを使っていることが、カーネル開発者に『非フリー』ソフトの利用を受け入れられる慣行だと思わせる要因になっていると主張してきた。
この呼びかけの目的は実質的に達成された。トリジェル氏とBitMoverの不和のおかげだ。
トーバルズ氏は明らかに、BitMoverとの決別を余儀なくされたことに不満を持っている。同氏はトリジェル氏のクライアントを「ひどいプロジェクト」と呼び、Linux開発者、BitMover、そしてトリジェル氏自身にとっても何の恩恵もないと語った。
「結局(トリジェル氏に)同意しない人たちを傷つけただけだった」とトーバルズ氏はこのソフトについて述べた。「実際、これは誰の助けにもならない。BitKeeperをもう使えなくしてしまうことで、その的はずれぶりを示しただけだ」
トーバルズ氏は先週、トリジェル氏のプロジェクトを公に糾弾したことで非難にさらされた。批判派は、トリジェル氏によるBitKeeperのリバースエンジニアリングは、トーバルズ氏がLinuxでやったことと似ていると主張している。
電子メールによる取材の中で、トーバルズ氏はいつもの功利主義を持ち出して自身の見解を説明した。
同氏によると、単にトリジェル氏のソフトは結局何の目的の役にも立たないため「ろくでもない」という。「私にとって、プログラムにはその機能と同じだけの価値しかない。今回の場合は問題を起こしただけだ」
トリジェル氏はこの件に関するコメントを控えたが、BitKeeperと相互運用性のあるツールを作ったことは認め、「完全に倫理的で合法なやり方でこのツールを開発した」と主張した。
トーバルズ氏と、Sambaプロジェクト創設者であるトリジェル氏は、Linuxの採用を促進する非営利団体Open Source Development Labs(OSDL)で働いている。OSDLの広報担当者によると、同団体の経営陣はこの件に「かなり関与している」が、仲介役として妥協案に導くことはできなかったようだ。
人気のCVS(Concurrent Version System)など、既に多数のオープンソースコード管理製品が出回っているが、Linuxカーネル級の規模のプロジェクトではパフォーマンスが遅くなる傾向にあるとトーバルズ氏は述べている。「ソース基盤が大きなためにパッチを当てるのに数十秒かかる。これは受け入れられない」
Linuxカーネルは多数の「サブシステムメンテナー」によって管理されている。これらメンテナーはそれぞれ、Linuxカーネルの各部分を担当し、バグフィックスや新しいコードの提出を受け付け、その変更を次世代版カーネルを管理するトーバルズ氏か、安定版カーネルを管理するアンドリュー・モートン氏に送る。すべてのカーネル開発者がBitKeeperを使っていたわけではないが、批判派は、トーバルズ氏がこのソフトを使っていることが、ほかの開発者にとってはこのソフトの利用を迫る圧力になっていると主張していた。
新しいソースコード管理システムがカーネル開発者の間にどれだけの混乱を引き起こすのか、トーバルズ氏には確信がない。同氏は既に、gitに取り組むために自身のカーネル開発作業を1週間停止しているが、真の損失はカーネルに貢献している多数のメンテナーの作業がこのソフトによってどの程度減速するかで測られるという。
同氏によると、gitはまだ「使えない」段階だという。このソフトはBitKeeperよりも使いにくく、機能もかなり少なくなる見込みだ。「どのくらい作業が減速するのか、様子を見るつもりだ。ありがたいのは、ここで話題に上っている開発者たちが賢明なことだ」
gitはトーバルズ氏にとって初めてのサイドプロジェクトではない。同氏はコードのエラーをチェックするソフト「sparse」を開発したことがある。「私は時々(カーネル以外の)プログラミングを楽しんでいる。カーネルを扱うときのようにひどく慎重にならなくてもいいから、とても気が楽だ」
トーバルズ氏はBitKeeperを捨てるという自身の決定が、物議を醸すことになると認識していたようだ。新しいソフトに「git」――英国のスラングで「まぬけ」という意味――という名を付けた理由を聞いたところ、「私は自己中心的な人間だ。だから自分にちなんだ名前を全部のプロジェクトに付けている。最初はLinuxで、今度はgitだ」
Copyright(C) IDG Japan, Inc. All Rights Reserved.