There are many, many reasons why a build process may not produce reproducible output. Timestamps and unordered maps are two of the more trivial examples.