全体を正しく管理したいITと自分の仕事だけしたいデベロッパ…両者を同期させるGitベースのツールGitSwarmをPerforceが発表

gitswarm-graphic1

PerforceGitLabをベースとする新製品GitSwarmをローンチした。これは、デベロッパがもっぱら自分のコードだけに対して仕事をし、一方同時に、ITの管理部門はコードベースの全体を一望できる、というツール、すなわち、誰もが自分の職分に応じた仕事ができるプロジェクト管理環境製品だ。

Perforceのグローバルマーケティング担当VP Chris Hooverはこう説明する: “このプロダクトのメリットは、Perforceが従来から得意とする全体的(集中管理的)なワークフローと並行して、各デベロッパが自分のコーディング等を自分の流儀で進捗できることだ。すなわち全体的なプロジェクト管理と個々のデベロッパワークが、同期して進行できる”。

ふつう、やや大きな企業では、複数のデベロッパが大きなコードベースの、それぞれ自分用の一部を手がける。彼らはGitHubのようなツールを使って自分のコードとその必要な部品等をダウンロードするが、開発プロジェクトのサイズが大きいと、このばらばらなやり方ではうまくいかなくなる。GitHub本体は、大規模なグループ開発やプロジェクト全体にわたるコラボレーションをサポートしていない。FacebookやGoogleのようなスケールの企業になると、企業は単一コードベースの見やすさ・扱いやすさを求め、一方デベロッパたちは自分の好きな環境で仕事をしたがる。好きな環境とは、GitHubであることが多い。

この、大きな全体と、それを構成する複数の個、その並行管理がこれまでは難問だった。

いまどき信じられないかもしれないが、企業側は、FacebookもGoogleもゲーム企業も、単一の一枚岩的なリポジトリを維持したがるし、それにはもっともな理由がある。リポジトリを個別のプロジェクトに分割したら、共有すべき多くのコードがあちこちで果てしなく繰り返される(同じものが複数作られる/コピーされる)だろう。ストレージの無駄遣いだ。もっと重要なのは、コードがその大元でアップデートされたとき、そのアップデートがあちこちのミニリポジトリへ一斉同期しない。これは、悪夢にも似た大きな問題だ。

たとえばゲーム企業では、どのゲームも基本部位のエンジンやライブラリは最新のアップデートを使ってほしい。しかしリポジトリが各ゲームごとに複数あれば、ほぼ確実に、正しくアップデートされていないゲームも存在することになる。

GitLabのCEO Sytse Sijbrandijによると、そんなとき、これまでは新しいものと古いものを無理やりくっつける、間に合せのようなソリューションしかなかった。

今日のGitSwarmの発表では、すべての構成員がそれぞれ、自分が必要とすることをできるようになる。デベロッパは彼らが好む分散ワークフローをGitHub上で手がける。そして一方ITマネジメントは、Perforce上の単一のリポジトリでプロジェクトを管理する。デベロッパとIT、どちらもwin-win、どちらも幸せになれるソリューションだ。

この製品によりPerforceは、Gitをめぐって、GitLabやそのオープンソースプロジェクトとパートナーすることになる。PerforceのファウンダでCEOのChristopher Seiwaldによると、今回のプロダクトのGitまわりの部分をゼロから自作するよりも、すでに800名もの貢献デベロッパがいるオープンソースプロジェクトを利用させていただくのが、断然、賢明である。

“GitLabを説得して、積極的にパートナーになってもらった”、とSeiwaldは語る。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa