This is considered best-practice for binary applications and makes packaging for some environments (that enforce reproducible builds) easier. Also it helps with debugging build issues, as builds with different lockfiles might suddently start failing