Scribble at 2026-06-22 08:55:36 Last modified: unmodified
Epic Games が開発・管理しているヴァージョン(ソース)管理システムの Lore が Hacker News で話題となっていた。少し調べると、僕のように単独の開発者としてバックアップ用途に Git (GitHub) を使っている人間には気にならないことでも、扱うリソースの種類やファイルごとの権限などを分別する必要がある環境では、Git は適していないというわけである。まぁ、なんだかんだ言ってもウェブの制作会社で単独でコードを書いているような人やフリーランサーなどは、Git であろうと TortoiseCVS だろうと Mercurial だろうと Perforce だろうと、ソース管理ツールなんて使ってない人も多いわけだが、少なくとも複数人で作業するには考慮するべきことだ。
さて、この Lore が開発された事情だが、もともと Git はテキスト・ファイルの管理には強いが大容量バイナリや排他編集が必要な資産管理には不向きだという評価がある。たとえば音楽や動画のようなバイナリ・ファイルのコンテンツを大量に扱うプロジェクトでは、マージ不能な資産が膨大に遭って、ソースを提供したアーティストが排他ロックを必要とするケースが多いと言われる。こういう場合に、これまでは Perforce の方が好まれてきたという。Git は権限管理が雑なので(リポジトリ単位の all-or-nothing)、NDA が絡むような部分的なアクセス制御というのが難しい。これに対して Perforce はディレクトリ単位のアクセス制御が可能で、NDA のような契約上の事情があってアクセス制御を分割する必要がある領域を限定公開できる。また、金融系や Apple Pay のような厳しい秘密保持が必要なプロジェクトでは、Git のそういう雑な権限管理が問題になるという実例もあるようだ。
ただ、これまで使われてきた Perforce は、管理が難しくて専任のエンジニアが必要なほどだった。そして、ソフトウェアとしての設計の古さという理由もあって、そもそも "Perforce" という名前すら知らない若手の技術者が多い。それでも、上のような理由で巨大プロジェクトやアーティスト中心のワークフローでは依然として需要があるという。そこで代替としての Lore が出てきたというわけである。もちろん利点の一つはオープン・ソースだということで、一社が開発していてチームで利用するにはライセンスを購入する必要がある Perforce に比べて気軽に導入できる。そして、Git の柔軟性と Perforce の大規模資産管理能力を両立できる可能性があるということも利点として挙げられている。
それから、これに関連して Hacker News では Git についての問題点が幾つか出ている。それは、巨大なリポジトリや長大なコミット履歴の管理に弱いこと、サブ・モジュールが扱いにくいこと、LFS が不完全で運用が難しいこと、バイナリ資産のロックやマージに対応できないこと、したがって企業の厳密な権限管理に向かないことだ。そもそもはリーナス・トーバルスが開発したツールなのだから、企業ユースや NDA なんて知ったことかというノリで出てきたツールなのだし、しょうがないと言えばしょうがない。