Lucio F. Albenga had already used RCS, CVS, SVN, Mercurial, Bazaar and Git when he went looking for a replacement for his personal projects. He landed on Fossil — the version control system from the SQLite author, shipped as a single C binary. His argument is not that Git fails at scale. It is that most projects never needed Git’s scale and pay for it in ceremony.
What he was actually after:
- A repository file (
repository.fossil) kept separate from the checkout folder — no “the repo is the working directory” assumption - No staging area:
fossil commitversions everything pending, Subversion-style - An embedded web server, timeline, wiki and ticket tracker — one binary, where Git needs GitLab, Gitea or Forgejo bolted on
- Commits authored by username rather than email, so a public repo does not leak an inbox to scrapers
- Two-way Git synchronization — the mechanism Fossil and SQLite use for their own GitHub mirrors
Migration is two commands per repository: git fast-export --all out, then fossil import --git --rename-master trunk --attribute "you@mail.com your_username" repository.fossil export. The flags rename the branch to trunk and rewrite commit emails to usernames. Serving it is fossil server --port 8043 --cert ... --repolist /path/to/fossils/, and fossil ui gives the same interface locally with no server at all. autosync is on by default, so fossil commit also pushes and fossil update also pulls. The habit that needs unlearning is configuration: ignores live in .fossil-settings/ignore-glob as glob patterns, not a .gitignore.
The trade is real, and the essay is honest about it. Branching and tagging follow a different model, and diffs are not colorized out of the box. What you get back is fewer moving parts — one binary that is the client, the server and the forge — which is why the closing argument lands on indie programmers and small groups who self-host rather than on large teams.
One caveat: the piece opens with a rant about the Rust community that has nothing to do with version control. Skip to “Installing Fossil” — the technical case stands on its own.