人気のオープンソースライブラリSDLは、gitの「悲惨な設計選択」にもかかわらず、GitHubに開発を移行しています。

Table of Contents

人気のオープンソースライブラリSDLは、gitの「悲惨な設計選択」にもかかわらず、GitHubに開発を移行しています。

Simple DirectMedia Library (SDL) プロジェクトは、コア開発者が Git の「悲惨な設計上の選択」と呼ぶものにもかかわらず、親しみやすさと幅広いツール サポートのために、今日から GitHub に開発を移行します。

SDLは、主にC言語で記述されたクロスプラットフォームかつオープンソースのマルチメディアライブラリで、ゲーム開発で広く利用されています。コア開発者のライアン・ゴードン氏によると、以前はソースコードのバージョン管理にMercurial、バグ追跡にはMozillaのBugzillaを使用しており、Digital Oceanに併設された自社Linuxサーバーでホストされていました。

このプロジェクトは 2010 年 4 月に Subversion から Mercurial に切り替えましたが、それ以前は Subversion は CVS (Concurrent Versions System) を使用していました。つまり、より優れたシステムが登場したときに人気のシステムが衰退するという、ある意味では典型的な道をたどったと言えます。

しかし、git と GitHub のほうが優れているのでしょうか? SDL の作成者である Sam Lantinga (現在は Valve のシニア ソフトウェア エンジニア) が数日前にこの移行について投稿し、SDL コミュニティに驚きを与えました。というのも、チームはこれまでずっと Mercurial の方が git より優れていると主張していたからです。

ゴードン氏は昨日、長文の投稿でこの移行について説明した。「私はgitのファンではありません。今でもMercurialの方が優れたソフトウェアだと考えていますし、gitにはいくつか致命的な設計上の選択があったと考えています。…しかし、個人的なニーズのために、私たちはMercurialを現在使っているのとほぼ同じようにgitのサブセットを使うことができます。一方で、他の人はgitを個人的に好きなように使ってもらうことができます」と彼は述べた。

ギットハブ

パスワードはもう不要:GitHubは来年、Git操作の認証にパスワードを禁止する

続きを読む

移行の理由は、GitとGitHubが勝利したからだ。「すべてがGitに移行し、特にGitHubが主流になりました」とゴードン氏は述べた。「多くのツールやワークフローはGitの使用を前提としており(Visual StudioやXcodeにはGitサポートが組み込まれているなど)、Mercurialは多くの人にとって馴染みのない存在になりつつあります。」

MercurialとBugzillaは追いついていないとゴードン氏は述べた。「Bugzillaは20年前と見た目はあまり変わっていません(そして、私たちが発見したように、Bugzillaの開発者は、新しいMySQLリリースでコードが壊れてもコードを更新しませんでした)。問題はBugzillaだけではありません。Wiki、メーリングリスト、そして古風なMercurialの小さなウェブインターフェースです。私たちが頼りにしている小さなオープンソースのツールですが、誰も開発に取り組んでおらず、おそらくセキュリティホールを抱えています。どれも不安定で、開発者間の摩擦を引き起こしています。」

「GitHubに移行することで、多くの点でより良くなっていることに気づきました。なぜなら、大勢の有給エンジニアが毎日作業してくれているからです。私はフリーソフトウェア財団の全盛期に育ったので、これが罠であることは分かっています。でも、本当はOpenGLのコードを書くべきなのに、スコッチテープと祈りで繋ぎ止められているもののサーバー管理者を務めるには疲れていて、エネルギーが残っていません。」

ゴードン氏は「自分たちが管理していないサーバーへの移行」には多少の不安を抱いているものの、Microsoftがすぐに倒産する可能性は低いと指摘した。Gitは分散システムなので、必要に応じてクローンリポジトリを他の場所に移行するのは容易だ。一方、課題追跡、プロジェクト、あるいはテスト、ビルド、デプロイメントを自動化する手段であるGitHub Actionsを介した継続的インテグレーションといった、GitHubの他の機能からの移行はより困難だ。GitHubへの移行についても同様で、コード自体は比較的容易だが、オープンソースのMoinMoinプロジェクトをベースにした既存のSDL wikiの移行は「しばらくは混乱するだろう」とゴードン氏は指摘した。

GitHubはこの市場を独占しているわけではありません。GitLabも大きな存在感を示していますが、こちらもGitベースです。GitLabは独立系であるため、ビジネスモデルを適切なものにする必要があります。これが、最近スタータープランを廃止した理由かもしれません。一方、MicrosoftにとってGitHubは、自社のクラウドプラットフォームと連携する戦略的資産です。もう一つの選択肢は、やはりGitベースのAtlassian Bitbucketです。

SDLの動きは、オープンソース開発においてMicrosoftが過度に優位に立っているという懸念(GitHubは広く利用されているJavaScriptリポジトリであるnpmも所有している)に合致するが、もう一つ注目すべき点がある。CVS、Subversion、Mercurial、git…歴史を振り返ると、10年ほど後には、同等の重要性を持つ新たな移行が起こるだろう。®

Discover More