deterministic build
also: reproducible build
A build process that produces byte-for-byte identical output every time it runs from the same source code, ensuring reproducibility and enabling verification of software integrity.
A deterministic build eliminates all sources of non-determinism—such as timestamps, random data, or file system ordering—that would cause the compiled binaries to differ between builds. This means rebuilding the same source code with identical inputs will always generate identical output binaries.
This is crucial for reproducible builds, a security practice where developers and users can independently rebuild software and verify it matches official releases, detecting tampering or hidden backdoors. Without determinism, minor environmental differences could cause output to vary, making verification impossible.
Example: A build system might embed the current timestamp into a binary, causing each build to differ. A deterministic build would use a fixed build date (perhaps from the source commit) instead, ensuring sha256sum binary produces the same hash across all builds.
Major projects like Debian, Bitcoin, and Tor prioritize deterministic builds to improve transparency and allow users to confirm they're running genuine, unmodified software.