explaingit

dspinellis/unix-history-repo

7,191AssemblyAudience · researcherComplexity · 1/5Setup · easy

TLDR

A Git repository that reconstructs the complete history of Unix from 1970 to the present, letting you browse 850,000 commits of code evolution across every major Unix version including Bell Labs, BSD, and FreeBSD.

Mindmap

mindmap
  root((repo))
    What It Does
      Browse Unix history
      Trace code lineage
      Attribute commits
      Find code origins
    Coverage
      Bell Labs Unix
      UC Berkeley BSD
      386BSD
      FreeBSD
    Use Cases
      Software research
      Code archaeology
      Teaching history
    Audience
      Researchers
      Historians
      Educators
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Trace how a specific Unix command or system call evolved across 50 years of history using standard git log

USE CASE 2

Use git blame on a FreeBSD source file to find lines of code written by Dennis Ritchie in 1979 that are still present today

USE CASE 3

Check out the source code of a specific historical Unix release by branch name and browse its files

Tech stack

GitAssembly

Getting it running

Difficulty · easy Time to first run · 30min

Repository is approximately 2 GB, cloning the full history requires significant time and disk space.

In plain English

unix-history-repo is a Git repository that reconstructs the complete history of the Unix operating system as a single, browsable commit timeline spanning from 1970 to the present. Unix is the ancestor of nearly every major operating system in use today, including Linux, macOS, and Android. This repository makes it possible to trace that lineage through actual code. The repository was built by combining 22 historical snapshots of Unix source code: early research versions from Bell Labs (where Unix was created by Ken Thompson and Dennis Ritchie), later versions developed at the University of California Berkeley, an early open-source port called 386BSD, and the ongoing FreeBSD project. Custom software was used to stitch these snapshots into a coherent commit sequence with roughly 850,000 commits and more than 8,000 merges. About 2,700 individual contributors are attributed, including the original researchers identified through primary historical research. Because it uses Git, standard Git commands work across the entire history. You can run git log to see a timeline of changes going back to 1972, use git blame on a source file to see which version of Unix each line came from and who wrote it, or check out a specific historical release by branch name. The README demonstrates: tracing the evolution of the Unix pipe command across decades, or finding that code written by Dennis Ritchie in 1979 is still present unchanged in FreeBSD 15.0 in 2025. The repository is intended for research in software engineering and software history. It weighs about 2 GB. Contributions are not accepted here directly, a companion repository called unix-history-make contains the scripts and metadata used to build it, and that is where contributions are welcomed.

Copy-paste prompts

Prompt 1
Using the unix-history-repo, show me the git log commands to trace the evolution of the Unix pipe implementation from 1972 to today
Prompt 2
In unix-history-repo, how do I check out the Research Unix Version 6 branch and list all files attributed to Ken Thompson?
Prompt 3
Give me a git command to run in unix-history-repo that finds all lines in the FreeBSD 15.0 branch traceable to code written before 1980
Open on GitHub → Explain another repo

← dspinellis on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.