Dating techniques#
SLOP8374 · Week 2
The log is a primary source#
git log records what happened, when, and by whom.
It does not record why, what was argued about, or what was deleted before anyone committed it.
Read it for what it is: an incomplete register kept by people who were not writing it for you.
Three phases#
- Construction: high frequency, few authors, large diffs
- Maintenance: lower frequency, more authors, more merges
- Decay: sporadic, small, increasingly automated
Most projects pass through all three. The interesting part is the boundary.
Author diversity over time#
Bus factor: how many people would have to walk away before the project could not continue.
| Pattern | What it means |
|---|---|
| One author, 95% of commits | Bus factor of 1. Fragile. |
| Three to five, balanced | Knowledge is shared. |
| Twenty authors, most with one commit | Drive-by contributions. Thin engagement. |
| Authors disappearing over time | Attrition. Each departure is a finding. |
In an abandoned project, the author holding the bus factor is almost always the one who left last.
Boundary events#
A week that does not look like the weeks around it.
- A spike: a release, a rewrite, a deadline
- A drop: a departure, a fork, a funding decision
- A gap that never closes
The boundary is where the story is. The phases are just the setting.
Case study: OpenSSL before Heartbleed#
In 2014 a bug in OpenSSL exposed memory on roughly half the internet’s secure servers.
The commit history had been telling the story for years: a codebase critical to everything, maintained by a very small number of people, funded by almost nobody.
Bus factor is visible in the log, if you read it.
The limits of dating#
Commit timestamps lie:
- Clock skew on the author’s machine
git rebaserewrites author dates- Squash merges collapse weeks into one commit
- Bulk imports date an entire codebase to one afternoon
Date the project, then look for reasons to distrust your own dating.
Required reading#
Harris, E.C. (1989) Principles of Archaeological Stratigraphy, 2nd edn. Academic Press. Chapters 3–5 on the laws of stratigraphy and the Harris matrix.
Tornhill, A. (2015) Your Code as a Crime Scene. Pragmatic Bookshelf. Part I.
Before next week#
Produce a commit-frequency graph for your dig site.
Name the phases. Name the boundary.
Bring a reading you are prepared to defend.