[swift-evolution] Reproducible builds (same code -> always same binary)

Adrian Kashivskyy adrian.kashivskyy at me.com
Mon Jun 12 08:27:56 CDT 2017


Hi,

> Have you considered adding reproducible builds to Swift? If you compile the same code under the same conditions, you always get the same binary.

I don’t honestly know if „reproducible builds” are part of ABI stability, but if you are interested in that, you can find more information in Swift ABI Stability Dashboard.

> This would be huge for open source source, because people could *prove* that an app binary came from the code it's supposed to be coming from.

Considering the nature of open-source projects and that most of them are compiled by users (either manually or by a package manager) on their own machines, the environment and configuration may vary so you won’t prove what you want to, based on your description.

If you want to distribute pre-built binaries and are afraid of malicious modifications of them, you should use code signing. It is designed to prove that binaries have not been tampered with and came from a trusted, original source.

——
adrian kashivskyy

On 12 Jun 2017, 11:38 +0200, Tuur Anton via swift-evolution <swift-evolution at swift.org>, wrote:
> Have you considered adding reproducible builds to Swift? If you compile the same code under the same conditions, you always get the same binary.
>
>
> This would be huge for open source source, because people could *prove* that an app binary came from the code it's supposed to be coming from.
>
>
> This should be possible to do. To get the same conditions, a VM (or just the same cleanly installed Mac) could be used. If the compiler adds a timestamp, an option to remove the timestamp could be added. Etc.
>
>
> Bitcoin Core does this using Gitian: https://gitian.org
>
> Debian Linux is making progress: https://wiki.debian.org/ReproducibleBuilds
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170612/768691e2/attachment.html>


More information about the swift-evolution mailing list