“given the same source code, build environment and build instructions, any party can recreate bit-by-bit identical copies of all specified artifacts”
NixOS does not guarantee bit-by-bit identical results. NixOS hashes the inputs and provides a reproducible build environment but this does not necessarily mean the artifacts are identical.
E.g. if a build somehow includes a timestamp, each build will have a different checksum.
A build is reproducible if given the same source code, build environment and build instructions, and metadata from the build artifacts, any party can recreate copies of the artifacts that are identical except for the signatures and parts of metadata.
The reason Fedora is pursuing a different definition of reproducible build is that it cannot achieve ““bit-by-bit”” reproducibility by the original definition.
Isn’t that like NixOS?
NixOS does not guarantee bit-by-bit identical results. NixOS hashes the inputs and provides a reproducible build environment but this does not necessarily mean the artifacts are identical.
E.g. if a build somehow includes a timestamp, each build will have a different checksum.
Neither does fedora
That’s how Fedora defines it. I’m not sure of Nix OS meets this but I think Nix and Fedora have two very different use cases.