OSS Gravity Map

コードの宇宙に物理法則は存在するか

29リポジトリ・55,343人のエンジニア・5つの言語ファミリーを横断分析

29 Repos 55,343 Engineers 5 Categories 4.8x Gravity Gap
Contents
1. EISとは何か 2. 言語横断分析 — 物理法則は一様ではない 重力集中度 3つの構造権威モード 3. Rails vs Laravel — 同じカテゴリ、逆の物理 4. esbuild — 一人の宇宙 5. React — 10年の世代交代 6. EISの妥当性 — 感覚とデータは一致するか 7. 結論

1. EISとは何か

EIS (Engineering Impact Signal) は、git loggit blame のデータだけから、エンジニアがコードベースに残した「構造的影響力」を定量化するCLIツールです。

GRAVITY 構造的影響力シグナル Indispensability × 0.40 そのコードを書いた人が 他にいない度合い Breadth × 0.30 コードベース全体に どれだけ広くタッチしたか Design × 0.30 設計上の基盤となるファイルに どれだけ深く関わったか データソース: git log + git blame のみ

本分析では、Gravity Concentration(上位10名が全体Gravityの何%を占めるか)を言語ファミリー間の比較指標として使用します。

2. 言語横断分析 — 物理法則は一様ではない

異なる言語は異なる「物理法則」を生む。型システムの表現力、フレームワーク文化、そしてアーキテクチャの集中度。
29のOSSリポジトリを5つのカテゴリに分類し、構造権威の分布を比較しました。

29
リポジトリ
55,343
エンジニア
4.8x
重力集中度の差
5
カテゴリ
カテゴリ特徴言語リポ数
Expressive豊かな型システム、ADT、パターンマッチ、トレイトRust, Scala5
Go (Self-structured)静的型付け、反フレームワーク文化、明示的インターフェースGo7
Framework-driven構造をフレームワークに委譲、CoCRuby, PHP, Java, Python, TS, Elixir6
Systems (C/C++)手動メモリ管理、テンプレートC, C++5
Dynamic / Structural動的型付け、自己構造化JavaScript, TypeScript, Python6

重力集中度(Gravity Concentration)

上位10名が全体Gravityの何%を占めるか。高いほど「少数の建築家に構造が集中」している。

Go (Self-structured)
16.4%
Dynamic / Structural
10.4%
Expressive
6.7%
Framework-driven
5.1%
Systems (C/C++)
3.4%
Goは重力を集中させ、表現力のある型システムは分散させる。
Goの反フレームワーク文化は、誰かが構造を一から作らなければならないことを意味する。そしてその構造的権威は少数のアーキテクトに集中する。
一方、RustやScalaでは型システム自体が設計決定をエンコードできるため、構造権威がより広く分散する。型システムが分散アーキテクトとして機能する。

3つの構造権威モード

Architect-centric(Go)

構造は「人」が作る。少数のアーキテクトが圧倒的な設計権威を持つ。集中度: 高い。

Type-distributed(Rust/Scala)

構造は「型」に埋め込まれる。設計権威は型シグネチャを書く全員に分散。集中度: 低い。

Framework-absorbed(Rails/Laravel)

構造はフレームワークに吸収される。ただし内部のガバナンスは分散〜集中のスペクトラム。

Framework

3. Rails vs Laravel — 同じカテゴリ、逆の物理

どちらも「Framework-driven」カテゴリ。伝説的な作者を持つ人気フレームワーク。
しかしGravityの物理法則は完全に逆です。

Rails
マルチアーキテクト文明
Engineers6,512
Top10 Design51.2
Top10 Survival7.3
Gravity Conc.0.9%
Design > 35の人数6人
Laravel
創造者の王国
Engineers4,449
Top10 Design17.2
Top10 Survival15.3
Gravity Conc.1.5%
Design > 35の人数1人

Design権威の分布

Rails — 6人のアーキテクト
DHH
100.0
Jeremy Kemper
89.0
Rafael Franca
68.4
Aaron Patterson
54.0
Xavier Noria
45.8
Jose Valim
39.4
── Design 35 閾値 ──
Laravel — Taylor Otwellの独占
Taylor Otwell
100.0
Graham Campbell
63.1
── 他の全Top10コントリビュータ: Design < 4 ──
Lucas Michot
3.5
Tim MacDonald
2.6
同じFramework-drivenカテゴリ。完全に逆のガバナンス物理。

Railsは20年以上の歳月をかけてアーキテクト継承を達成した。DHHが作った構造を6人のアーキテクトが分散して維持している。Top10 Design 51.2はほとんどのGoプロジェクトより高い。

Laravelは創造者中心の王国。Taylor Otwellの一貫したビジョンがチャーンを最小化する(Survival 15.3 > Rails 7.3)。効率的だが、構造権威のバスファクターは1。

どちらが優れているかではなく、同じパターンからなぜ逆の物理が生まれるのかが問いです。

4. esbuild — 一人の宇宙(重力特異点)

125人のコントリビュータが存在するが、一人が全構造重力の92.5%を保持している。

92.5%
重力集中度
100
全軸Impact
4,208
Evan Wallace commits
0
#2のDesign
Evan Wallace Gravity 100 | Design 100 | Indisp 100 | Survival 100 124人の他コントリビュータ 全員 Design: 0, Indisp: 0 金色の領域 = 全プロジェクト重力の92.5%

92.5%がどれだけ異常か

esbuild
92.5%
express
23.9%
swc
15.7%
vite
9.3%
react
3.4%
rails
0.9%
kubernetes
0.8%
rust
0.6%
特異点は強力だが、継承計画は不可能。
esbuildは一人の天才アーキテクトが宇宙全体を構築できることを証明している。JS bundlingが10-100x速くできることのデモンストレーション。
Kubernetesの115倍、Railsの103倍の集中度。これはスケールの問題ではなく、プロジェクトの性質が根本的に異なる

5. React — 10年の世代交代

2,010人のエンジニアが関わったReactは、10年間で5世代のアーキテクト交代を経験した。
EISのtimeline機能で3ヶ月スパンのGravityを追跡すると、世代交代の瞬間が可視化される。

2,010
エンジニア
3.4%
重力集中度
5
世代交代
10年
追跡期間

Anchor(構造的支柱)の世代交代タイムライン

2013-2015 — 創成期
Paul O'Shannessy が仮想DOMの初期実装を主導。しかしその後ほとんど活動停止。
仮想DOMのアイデアを形にした人物が、プロジェクトの成長とともに去っていく。
2016-2017 — 第1世代交代
Dan Abramov(Redux作者)と Andrew Clark が台頭。
Dan: Gravity 64.0, Design 54.0 → Reactの哲学とAPIの刷新をリード。
Fiber Architectureへの転換期。外部からの参入者が内部アーキテクチャを変革。
2018-2020 — 安定期
Brian Vaughn がDevToolsとプロファイリング基盤を構築。Design 36.6。
開発者体験の基盤を作った人物。Hooks導入期のインフラを支える。
2021-2023 — 第2世代交代
Sebastian Markbågelauren が中心に。
Server Components、Suspense、新しいレンダリングパイプライン。
Dan Abramovが退職(2024)。Reactの設計権威が静かに次世代へ移行。
2025 — 最新世代
Jorge Cabiedes — Design 100、たった82コミットで。
コミット数ではなく、「どこに」コードを書いたかが構造的影響力を決める。
EISが量ではなく質(構造的インパクト)を正しく捕捉している証拠。
Reactの世代交代は、健全なOSSプロジェクトのモデルケース。

仮想DOMの初期実装者 → Hooks/Fiberのリーダー → DevToolsの構築者 → Server Componentsのアーキテクト → 現在の構造設計者。
一人が去っても次の世代がシームレスに構造権威を引き継ぐ。Gravity Concentration 3.4%は、この分散ガバナンスの結果です。

そして Jorge Cabiedes: 82コミットでDesign 100。コミット数が少なくても、設計の核心に触れるコードを書けば、EISはそれを正確に測定する。

6. EISの妥当性 — 感覚とデータは一致するか

EISは git loggit blame だけで計算される。RFCやデザインドキュメントは見えない。
それでも、コミュニティの直感と驚くほど一致する結果が出ています。

検証項目EISの結果コミュニティの直感一致
Railsの設計分散度Top10 Design 51.2、6人のアーキテクト「Railsはコアチームが厚い」一致
Laravelの設計集中度Taylor Otwell = Design 100、他全員 < 4「LaravelはTaylorの作品」一致
esbuildの単独性92.5%集中、Evan Wallace全軸100「esbuildはEvanが一人で作った」一致
Kubernetesの分散性Gravity Conc. 0.8%「K8sは巨大コミュニティ」一致
Reactの世代交代10年で5世代のAnchor遷移「Reactは常に進化し続ける」一致
Jorge Cabiedes82コミットでDesign 100「量より質」の体現一致
Go vs Rust 集中度Go 16.4% vs Rust/Scala 6.7%「Goは少数のアーキテクトが設計」一致
「感覚的にいい線いっている」を超えて。

EISは完璧ではない。RFCでの議論、Slackでの設計ディスカッション、コードレビューでの指導 — これらの「ダークマター」は観測できない。
しかし、git blame という限られたレンズからでも、プロジェクトの構造的な真実を驚くほど正確に映し出す。

29リポジトリ、55,343人のエンジニアを横断した結果は、言語ファミリーごとに構造権威の物理法則が系統的に異なることを示している。これは経験と直感だけでは定量化できなかったインサイトです。

7. 結論

コードの宇宙には、物理法則が存在する

重力集中度は言語ファミリー間で4.8倍の差がある。Go (16.4%) から Systems C/C++ (3.4%) まで。

3つの構造権威モード — Architect-centric(Go)、Type-distributed(Rust/Scala)、Framework-absorbed(Rails/Laravel) — は、コードの見た目は似ていても、構造権威の物理が根本的に異なる

同じFramework-drivenカテゴリ内でも、RailsとLaravelは逆のガバナンス物理を示す。esbuildは物理法則が崩壊する特異点。Reactは10年かけて健全な世代交代を実現した。

あなたの宇宙がどの物理法則で動いているかを知ることは、より良い構造的意思決定への第一歩です。

全29リポジトリ一覧

Repositoryカテゴリ言語EngineersTop10 DesignTop10 SurvivalGrav Conc
esbuildGoGo12510.010.092.5%
expressDynamicJS39113.53.223.9%
swcExpressiveRust35716.414.015.7%
prettierDynamicJS79942.910.013.4%
fastapiFrameworkPython89711.711.29.4%
viteDynamicTS1,24732.616.09.3%
eslintDynamicJS1,18018.612.88.1%
lokiGoGo1,31934.019.37.8%
spring-bootFrameworkJava1,50430.234.17.3%
polarsExpressiveRust69417.429.87.0%
nestFrameworkTS68413.310.27.0%
scalaExpressiveScala79432.35.96.8%
prometheusGoGo1,28144.511.95.4%
supersetDynamicPython/TS1,47723.629.54.5%
duckdbSystemsC++69020.74.94.5%
phoenixFrameworkElixir1,42418.914.44.5%
redisSystemsC90514.38.94.0%
argo-cdGoGo1,88941.420.54.0%
arrowSystemsC++1,46628.312.43.8%
envoySystemsC++1,44446.415.73.5%
reactDynamicJS2,01017.531.13.4%
scala3ExpressiveScala 399512.612.93.3%
terraformGoGo2,22330.332.72.4%
grafanaGoGo/TS2,89316.324.61.9%
laravelFrameworkPHP4,44917.215.31.5%
ClickHouseSystemsC++2,56317.330.01.4%
railsFrameworkRuby6,51251.27.30.9%
kubernetesGoGo5,21742.519.90.8%
rustExpressiveRust7,91453.05.70.6%

詳細ページ

Rails Gravity Map
マルチアーキテクト文明の全貌
rails-gravity.html →
Laravel Gravity Map
創造者の王国
laravel-gravity.html →
esbuild Gravity Map
一人の宇宙
esbuild-gravity.html →
React Evolution
10年の世代交代
react-evolution.html →