Reproducible Builds

Reproducible builds are a set of software development practices that create an independently-verifiable path from source to binary code. (Find out more)

To learn how to deliver software that your users and contributors can run, rebuild and improve with confidence, refer to the getting started guide.

Why Reproducible Builds Matter

In short: Reproducible Builds provide certainty that software is genuine and has not been tampered with.

🔒

Security & Trust

Reproducible Builds let third parties make sure that software hasn’t been altered, increasing safety and reliability.

🔬

Transparency in Development

Reproducible Builds make sure that developers’ code always works the same way, which makes the software more consistent and trustworthy.

🏰

Protection of Build Infrastructure

Attacks on build systems and supply chains can affect many users. Reproducible builds detect unauthorized changes to the build process early.

📜

Regulatory Compliance & Licensing

Reproducible Builds ensure software complies with licenses and industry standards by proving that binaries match their source code.

🛡️

Increased Resilience Against Attacks

Reproducible Builds protect developers from targeted attacks by allowing third-party verification of their software, preventing your projects from being compromised.

How does it work?

First, the build system needs to be made entirely deterministic: transforming a given source must always create the same result. For example, the current date and time must not be recorded and output always has to be written in the same order.

Second, the set of tools used to perform the build and more generally the build environment should either be recorded or pre-defined.

Third, users should be given a way to recreate a close enough build environment, perform the build process, and validate that the output matches the original build.

Learn more about how to make your software build reproducibly…

Sponsors

We are proud to be sponsored by: