I've been thinking about version numbers lately. Specifically, why we default to semantic versioning for everything when a lot of software would be better served by a build number, a commit hash, and release notes that someone actually bothered to write.
I worked through this with a friend, then pressure-tested the conclusions. The picture is more nuanced than I initially thought — but the core thesis survived, with some honest caveats.
Let me walk through it.