2010年から続いていた GitHub の Subversion サポートが2024年1月8日に終了
あまり知られていませんが,GitHub はバージョン管理システムのバックエンドとして,Git の他に Subversion (SVN)もサポートしていました.2010年から現在まで,地味ながらも長らく存在したサービスですが,とうとう,お別れの時が来たようです.
GitHub Blog によると,GitHub は,2024年1月8日に Subversion のサポートを完全に終了することを決定したそうです.企業向けのサーバソリューションである GitHub Enterprise Server からも,2024年初頭のリリース以降,Subversion に関する機能が削除されます.
Subversion は,Git と同じバージョン管理システム(VCS; Version Control System)と呼ばれるシステムです.ソフトウェア開発に当たって,ソースコードの保存の他,変更や版(バージョン)を管理することができます.
バージョン管理システムの歴史は古く,UN*X が生まれた当時から,RCS や CVS など,多くのシステムが使われてきました.それらと比べると,Git は比較的新しいシステムだと言えます.
Subversion は,Git が普及する前から広く利用されていたバージョン管理システムです.Git がリポジトリを分散管理するのに対して,Subversion はひとつのリポジトリを開発者間で共有するのが特徴です.このため,Subversion (やそれ以前のバージョン管理システム)を中央集権型バージョン管理システム(CVCS; Centralized Versionn Control System)と呼ぶことがあります.シンプルな操作でソースを管理することができるので,現在も利用しているソフトベンダはあるかもしれません.
一方,Git のようにリポジトリを分散管理するバージョン管理システムは,分散型バージョン管理システム(DVCS; Distributed Version Control System)と呼ばれます.
記事によると,GitHub の黎明期だった10年前は,Git よりも Subversion の利用がずっと多く,そもそも「分散リポジトリ」という概念が受け入れられるのか,不透明だったといいます.そこで,Git のバックエンド上で Subversion をネイティブサポートすることで,ゆるやかに Git に移行するようにうながす方法を選んだそうです.
現在,2022年におけるStack Overflow の調査によると,94%の開発者がバージョン管理システムに Git を採用しています.また実際,GitHub におけるトラフィックを見ても,Subversion を利用するものは,全体の0.02%に留まり, リポジトリ数も5000程度にまで減っているそうです.そこで GitHub は,ソフトウェア開発者が Git への移行をほぼ終えたと判断し,システムを維持するコストを Git の維持管理に振り向けることを選択したとのことです.
ベテランのソフトウェア開発者の中には,Subversion に思い入れの強い方もいらっしゃるかもしれません.コミット(commit)する前に更新(update)し忘れて,同僚の更新分を上書きしてしまったとき,リポジトリを更新する際「コミットしまーす」「お願いしまーす」と声を掛けあったとき,いつもキミ(Subversion)はそばにいました.Subversion,ボクはキミを忘れません(※システムがなくなるわけではありません).