<div dir="ltr">I tend to think about reproducible builds in this generalizable way:<div><br></div><div>A build is reproducible if equivalent inputs (source, build tools, build tool invocation, etc) to the build result in equivalent outputs.</div><div><br></div><div>The question then becomes: how are input equivalence and output equivalence defined?</div><div><br></div><div>Output equivalence has traditionally been defined as the output being byte for byte identical.  This definition has many wonderful characteristics, including but not limited to:</div><div><br></div><div>1. Everyone agrees on what byte for byte identical means</div><div>2. It's simple to verify</div><div>3. Its results in identical hashes/signatures for all equivalent artifacts - ie: equivalent outputs result in equivalent (identical) hashes.</div><div><br></div><div>#3 above turns out to be very significant and often overlooked.</div><div><br></div><div>You can, of course, have alternate definitions of output equivalence.  But it might be worth understanding what characteristics we want in output equivalence, and looking at alternate proposals through that lens.</div><div><br></div><div>Ed</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 28, 2023 at 2:27 PM James Addison via rb-general <<a href="mailto:rb-general@lists.reproducible-builds.org">rb-general@lists.reproducible-builds.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi David,<br>
<br>
Thanks for sharing this.<br>
<br>
I think that the problem with this idea and name are:<br>
<br>
- That it does not allow two or more people to share and confirm that<br>
they have the same build of some software.<br>
- That it does not allow tests to fail-early, catching and preventing<br>
reproducibility  regressions (semantic or otherwise).<br>
- That the naming terminology conflates with true reproducible builds,<br>
therefore creating the potential for misunderstanding to consumers.<br>
<br>
Cheers,<br>
James<br>
</blockquote></div>