The secret history of the 21st century is written in code “commits” — which is what coders call changes like bug fixes and feature updates. I like to read commits like a newspaper, especially for software I use. I do this partly because I want to know what I can do today that I couldn’t yesterday. Little things add up; perhaps there’s a new way to use the cursor keys to add minutes back to my days, or a search function that could help me better organize my email.
In every commit, you can see how the code is growing, changing and reacting to the world: “Make image scaling work without ImageMagick support in eww” (from the Emacs text editor). “Disables autofill/autocomplete/spellcheck in the hex input field” (from a pixel editor that runs in the browser, called Make8BitArt.com). “Fix the bell sound when Alt+key is pressed. (#1006)” (from Microsoft’s command-line terminal app).
I wouldn’t expect a nonprogrammer to understand the above, but you can intuit some of what’s going on: that we don’t need ImageMagick to scale images anymore, because the text editor can scale images on its own; that it’s bad form to spell-check hex values, which specify colors; that the bell is doing something peculiar if someone holds down the alt key; and so forth.
But there’s also something larger, more gladdening, about reading bug fixes.
My text editor, Emacs, is a free software project with a history going back more than 40 years; the codebase itself starts in the 1980s, and as I write this there are 136,586 different commits that get you from then to now. More than 600 contributors have worked on it. I find those numbers magical: A huge, complex system that edits all kinds of files started from nothing and then, with nearly 140,000 documented human actions, arrived at its current state. It has leaders but no owner, and it will move along the path in which people take it. It’s the ship of Theseus in code form. I’ve probably used Emacs every day for more than two decades. It has changed me, too. It will outlive me.
Open source is a movement, and even the charitably inclined would call it an extreme brofest. So there’s drama. People fight it out in comments, over everything from semicolons to codes of conduct. But in the end, the software works or it doesn’t. Politics, our personal health, our careers or lives in general — these do not provide a narrative of unalloyed progress. But software, dammit, can and does. It’s a pleasure to watch the code change and improve, and it’s also fascinating to see big companies, paid programmers and volunteers learning to work together (the Defense Department is way into open source) to make those changes and improvements. I read the change logs, and I think: Humans can do things.