Introducing: Semantically reproducible builds

David A. Wheeler dwheeler at dwheeler.com
Fri Jun 2 14:46:16 UTC 2023



> On May 31, 2023, at 10:36 AM, Ed Warnicke <hagbard at gmail.com> wrote:
> 
> I tend to think about reproducible builds in this generalizable way:
> 
> A build is reproducible if equivalent inputs (source, build tools, build tool invocation, etc) to the build result in equivalent outputs.

Fair enough. The immediate issue is to reduce confusion.

The OSSGadget developers have decided to switch to the term "semantic equivalency"
and "semantically equivalent":
> A project build is `semantically equivalent` if its build results can be either recreated exactly (a bit for bit [reproducible build](https://en.wikipedia.org/wiki/Reproducible_builds)), or if the differences between the release package and a rebuilt package are not expected to produce functional differences in normal cases.

Links:
https://github.com/microsoft/OSSGadget/issues/426
https://github.com/microsoft/OSSGadget/pull/429

Their oss-reproducible tool, part of OSSGadget, uses a variety of steps to determine if a build is semantically equivalent.

--- David A. Wheeler



More information about the rb-general mailing list