7.2 2008 年 GitHub 誕生:Fork + Pull Request 社交編程模式如何徹底改寫軟體協作方式?#
三個年輕人的公司:負責思考「開源為什麼不夠容易」#
2007–2008 年,三位結識於 programming 網路社群的年輕人——Tom Preston-Werner、Chris Wanstrath、PJ Hyett——辭去工作成立GitHub(2008 年 4 月正式上線,名為 Logical Awesome LLC)。
他們的靈感來自對 Git 的極度迷戀和大世界的一句話判斷:「Git 是分散式的,那為什麼帶來的協作還需要『官方許可』?」
传统開源的協作瓶頸就在這裡:
- 要貢獻,必須註冊到專案的核心(CVS/SVN 責可),然後與 committer 溝通、要求合入;
- 對一個不知名的貢獻者,「你能寫 code」與「你有資格寫 code」是兩件事——提出了 patch 也常在郵件流中失踪。
Fork + Pull Request:社交編程的三個革命#
GitHub 出貨的核心模型,可用一組規則概括:### 1. 任何 Git 倉庫都可直接、一鍵 Fork
- Fork = 把整個倉庫複製到你自己帳號下;
- 因為 Git 是分散式的,母倉庫對 fork 的數量、位置不需要「許可」;
- Fork 還是一個社交動作——你 fork 這件事本身,就有榮譽、興趣、影響力的意義。
2. Pull Request = 以「會話」的方式談判碼#
- 你 fork、修完、按一下「Pull Request」;
- 原作者可以用一般的 Web 介面(不看你的成績、無需你寄來 patch)逐行評論、指出 問題、直接 merge——審核與討論網路化;
- Pull Request 把「我能回饋」的門檻拉到幾分鐘之內(Linux 核心至今主要仍以郵件列表運作,足見兩種文化的並存);
3. 開發者的社交認同:Follow + Star + 貢獻圖#
- Star 按鈕讓「這個專案有多有人喜歡」有了量化儀表;
- Contributions Graph 讓「你今年貢獻過什麼」,成為可參考的職業證據;
- 求職、交友、公司招聘——「GitHub 帳號」成為工程師的履歷,而平台的社交崇拜直接反哺了整個軟體產業的人才市場。
GitHub 由此造就一場社會工程的改變:「產品不再是 release,而是一條活的 track record」。
GitHub 的商業奇蹟#
| 年份 | 里程碑 |
|---|---|
| 2008 | 上線;貢獻者不到 200 人(進行初期邀請) |
| 2011–2013 | 擴張期:2012 年獲 Andreessen Horowitz 1 億美元 A 輪,估值約 7.5 億美元;GitHub Enterprise 產品線成形 |
| 2015–2017 | 2015 年 B 輪 2.5 億美元、估值約 20 億美元;用戶幾何增長 |
| 2018 年 6 月 4 日 | 微軟宣布以 75 億美元收購 |
| 2019–2021 | 免費私有 repo 開放、Copilot(AI 副駕駛,2021)登場;CVE 整合、CodeQL、安全內建 |
| 2022– | 全球超過 1 億開發者帳號、數億倉庫 |
「微軟收購 GitHub」的世紀驚奇#
2018 年的公告在 Twitter 上以輓歌與社羣恐慌為主——微軟不是那個「Linux 是癌症」的敵人,反而成為最大的注入資本。細究這一轉型的社會條件:
- Nadella 的「適應」思維:他在著作《Hit Refresh》表明,微軟要重點補足開發者——開發者雲端棲息地就在 GitHub;
- 市場邏輯:GitHub 是開發者的最高聚集地,是 Azure 的必需入口;
- 歷史和解的意象:Git 的誕生本身源於 BitKeeper 這類商業授權的封閉僵局;十餘年後,微軟以巨資買下 GitHub——歷史以出人意料的方式完成了和解。此案被視為「開源世界成為主流資產」的終極確認。
開源品種與生態學的改變#
由 GitHub 催化的社會/經濟/文化變化:
- 出版與專案品牌化:README 編寫藝術、README badges、GitHub Pages 博客、app workflow(Issues→PR→Releases);
- 「範本倉庫」(Awesome lists, create-react-app, cookiecutter)出現——開源專案組裝的生命週期化;
- 企業內部(Inner Source):大公司用 Git/PR 流程管理内部專案——開源的協作方法擴散回企業;
- 融資結構:GitHub Sponsors(2019)開啟「訂閱撐起維護者」的實驗;
- 硬體開源的出版條件:RISC-V、KiCad 設計、Maker 生态——GitHub 帶動開源走出純軟體。
市場的缺點與體系的外部性#
而 GitHub 迅速勃勃壯大也帶來問題:
- 協作被平台鎖定:Git 雖分散,但集體記憶與關係圖譜集中在 GitHub——平台政策變動(帳號封禁、服務條款)即可影響生態(詳見第 10 章);
- Star 數變成全球指標,造成「投機 README」「騋赞」等生態噪音;
- 平台集中化:Git 是分散的,但托管 Internet 的「Reality」集中在 GitHub,分散式架構的初衷與現實有張力。
小結#
GitHub 用「Fork + PR + Star」三件套,把開源從「郵件列表上的匠藝」改造成「Web 2.0 的社交圖景」。開源的入口門檻,從「讀懂如何註冊 mailing list」降到「註冊帳號、按一個按鈕」——這是一座感染力不可量的社會工程。但億萬開發者驟然同台,也暴露了網路的脆弱與病毒的鋪路(下一節)。