【git】
forkとpull requestが作ったGitHubの
参加モデル

  • GitHubが広まった本質的な理由は、gitの技術力よりもforkとPRが参加の構造を変えたことにあります。
  • 書き込み権限がなくても自分のコピーで作業して後から提案できるため、参加の入口が大きく広がりました。
  • ただし「民主化」とは意思決定の分散ではなく、貢献を試みる機会が増えたという意味です。

関連記事

1. forkとPRが変えた参加モデル

GitHubが普及した要因は、gitの柔軟性だけでは説明しきれません。
ポイントは、forkとPRというワークフロー。
ここで起きたのは機能追加よりも、参加構造の再設計です。

GitHubが変えた参加の構造 Before プロジェクト (権限が先) 変化 After origin fork PR merge 参加の順序が逆転——権限なしでも提案から始められる

以前は、プロジェクトに人が属して参加する形が中心でした。
しかし、forkとPR機能があると、人々は自分の作業空間を持ち、そこへ上流プロジェクトがつながる形に変わりました。

forkとPRのワークフロー ① fork コピーを取得 ② 作業 自分の空間で編集 ③ PR送信 提案として送る ④ merge 採否 バザールモデルをUIとして実装 書き込み権限がなくても参加できる入口 ※ マージ権はメンテナが保持——意思決定の分散ではない

この仕組みでは、最初から書き込み権限を持っていなくても、後から提案の形で参加できます。
これにより参加の入口が広がり、バザールモデルをワークフローとして回せる状態になりました。
理念としてはEric Raymondが1990年代に言語化していたことですが、誰でも使えるUIとして具現化したのがGitHubでした。

これがGitHubが革命的と受け止められた理由です。
ただ、ここでの「ソフトウェア開発の民主化」とは、「民主的に意思決定する」という意味ではありません。
貢献機会が広がったことを指します。

ただし、PR文化はレビュー負荷やメンテナ依存を増やす面もあります。

それでもGitHubの価値は技術機能だけでなく、ワークフローと社会的規範を結びつけた点にあります。
開発プラットフォームを評価するときは、機能比較だけでなく参加構造の設計を見る必要があります。