40万を超えるGitHubのプロジェクトを地図化してプロジェクト同士の関係を分かりやすく示した「Map of GitHub」

世界最大のソフトウェア開発プラットフォームであるGitHub上には、記事作成時点で40万を超えるプロジェクトが存在しているとされています。そんなGitHub上のプロジェクトをマッピングした「Map of GitHub」が開発者のAndrei Kashcha氏によって公開されています。
Map of GitHub
https://anvaka.github.io/map-of-github/

そのうちの1つである「Cloudderra」を拡大すると、「AWS」「Serverlessland」「NginxLand」などの地名が表示されました。

さらに拡大すると、GitHub上に存在する無数のプロジェクトを示す点が現れます。Kashcha氏によると、これらの点は近ければ近いほど似通ったプロジェクトで、点の大きさはそのプロジェクトが獲得した「Star(スター)」の多さで変化するそうです。

プロジェクトの1つをクリックすると、そのプロジェクトの説明が表示されると共に、関連性のある別のプロジェクトがひもで結ばれます。

また、画面左上のボックスに特定のプロジェクト名を入力すると、マップ上にあるそのプロジェクトの位置にジャンプすることが可能です。今回はコマンドラインツールの「yt-dlp」を検索してみました。

Map of GitHubを用いることで、「obs-studioはyt-dlpと近しい関係にある」「Jellyfinとyt-dlpは関連している」などの情報が一目で判断できるようになります。

Kashcha氏によると、Map of GitHubの構築の際にはGitHubの公開データセットを利用して、2020年1月から2023年3月までの期間中のスター約3億5000万個の内訳を分析したとのこと。また、各プロジェクト間のジャッカード類似度を計算したほか、クラスター分析によるプロジェクトの分割も行われました。
さらに、MapLibreを用いたマップのレンダリングを行うために、データをGeoJSONフォーマットに変換したり、tippecanoeでタイルを生成したりしたとのこと。
Kashcha氏は「私は平面的なマップよりも、Map of GitHubのような視覚的に理解しやすいマップの方が好みです。Map of GitHubのデザインについて意見がある方は是非そのご意見をシェアしてください」と述べています。
なお、Map of GitHubのソースコードは以下のリンク先で公開されています。
anvaka/map-of-github: Inspirational Mapping
https://github.com/anvaka/map-of-github
