The author of this article has been on this hobby horse for years. I thought maybe the article would be interesting based on its edgy title, but less than halfway through it became clear who was writing and what the rest of the article would be. Frankly, it’s boring.
The truth is that Nix environments are reproducible in ways that tools for which the weaker designation ‘repeatable’ is commonly used (e.g., Docker) are not. And in the same way, NixOS systems are reproducible in a way that conventional distros like Arch never have been; running a NixOS system as it existed 5 years ago is trivial and running an Arch system as it existed 5 years ago is virtually impossible. Running a friend’s NixOS system as a VM is a trivial reproduction-with-a-twist and running a friend’s Arch system as a VM is a cumbersome, manual clone-and-repair job at best. Changing the language here effaces more differences than it honors.
Unfortunately for the author, Nix’s form of reproducibility (‘functional reproducibility’, ‘behavioral reproducibility’, or ‘build environment reproducibility’) is just more exciting, interesting, and accessible to people than the narrowly focused ‘I can get the exact same bits if I run this build twice right now (even if I probably can’t do it next month because I may or may not have the resources to reproduce the build environment by then)’ notion of reproducibility that he’s interested in for supply chain security/integrity reasons. The kind of reproducibility that people are going to be excited about at Linux conferences and across the web is, predictably, the one that lets them do cool stuff.
The only distro that has really turned bit-for-bit reproducibility into a thing normal users can easily and conveniently do, afaik, is Guix, with guix challenge. Maybe if that changes, the kind of broad reproducibility Nix and NixOS offer will no longer overshadow the younger, narrower notion of reproducibility meant by the phrase ‘Reproducible Builds’ in the work of reproducible-builds dot org. That would be a cool Nix feature. The website could also probably use a section on kinds of reproducibility, how they work together and reinforce each other, what other projects are doing to advance them, how Nix is different from those projects, and how Nix benefits from other projects’ reproducible builds efforts. There are other potential ‘action items’ for the Nix community in measuring, tracking, and improving our bit-for-bit build reproducibility, too, as zimbatm points out in the Lobsters thread.
But ultimately I don’t think anyone should worry about the clickbait title, or that Foxboron’s feelings about enthusiastic conference-goers mistaking him for a fellow Nixer is the Nix community’s problem to solve.
Props to Foxboron for filing a PR against the NixOS website to get the changes he wanted, though, instead of just griping about it. He’s obviously quite right that reproducible builds is an ongoing project and not a solved problem. That’s a message worth repeating.