Summary

A detailed history of Git’s origins from the “Software Archaeologist” blog. The story: Linus Torvalds had become a scaling bottleneck for Linux kernel development (“Linus doesn’t scale”), which led to adopting BitKeeper — then a controversial crisis (Andrew Tridgell reverse-engineered the protocol, triggering BitKeeper’s withdrawal) forced Linus to write Git in two weeks.

「軟體考古學家」部落格對 Git 起源的詳細歷史。故事是:Linus Torvalds 已成為 Linux 核心開發的規模化瓶頸(「Linus 無法擴展」),這導致採用了 BitKeeper——然後一場爭議危機(Andrew Tridgell 逆向工程了協議,觸發 BitKeeper 撤銷授權)迫使 Linus 在兩週內寫出了 Git。

Key Points

  • 1998: Linus was the sole gatekeeper for Linux changes — everyone emailed him patches; he became the bottleneck
  • Larry McVoy: Sun engineer who built NSElite (Perl) → saw it replaced by TeamWare → developed BitKeeper (first modern distributed VCS)
  • BitKeeper was free for open-source use, which allowed Linux kernel to adopt it
  • The crisis: Andrew Tridgell (rsync, Samba) tried to reverse-engineer the BitKeeper protocol → Larry McVoy withdrew the free license in anger
  • Linus wrote Git in ~2 weeks (April 2005) to replace BitKeeper, informed by what he’d learned using it
  • BitKeeper/TeamWare lineage: distributed VCS concepts (local commits, clone/pull/push) originated at Sun in the early 1990s

Insights

The most striking detail: the distributed VCS concept (local commits, pull/push) originated at Sun in the early 1990s via TeamWare — over a decade before Git. The Tridgell incident is a perfect example of how technical communities’ values (open protocols, reverse engineering as legitimate practice) can clash catastrophically with commercial license models, and how that tension ultimately produced Git — the most important open-source tool of the era.

Connections

Raw Excerpt

問題癥結在於 Linus 擴展不了(“Linus doesn’t scale”)。我們不能期待 Linus 一個人能跟上 Kernel 變化的速度,我們也不想看到 Linus 失去對 Kernel 的掌控。