@amszmidt dude but if I give you the wrong source code you can't exercise the freedom because you can't study the program.
You can study *other* program.
Giving the binary is not a precondition, I agree with that, but once you are giving the binary, you need to get its source, not others.
You may not get how the binary was built, because that's NOT part of that binary, but of the tooling. Buy you need to get the source of that binary.