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

Map of GitHub

https://anvaka.github.io/map-of-github/

「Map of GitHub」にアクセスすると、以下のような画面が表示されます。Kashcha氏によると、「PlusPlus Nation」「Pythonia」「PowerShell Land」などのマップ上の国名は「プログラミング言語」「テクノロジー」「ドメイン」など、プロジェクト同士の共通のテーマを元にChatGPTが生成した架空の国名とのこと。



そのうちの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