Yep, and if a package fails to build from source that's a problem so it makes
sure you have complete and working source code.
It also lets Trisquel make modifications to it in such cases where
modifications are needed to fix bugs or freedom problems.
How do you know that the source code you're seeing is actually what went into
that binary and not something different, like with malware or spyware or
other problems? You don't. So this helps to make sure that the binary matches
the source code.
I'm not aware of any self-respecting distro that doesn't insist on getting
source code and compile their packages from that. Otherwise it amounts to a
"just take these binaries, put them into the repository, and trust them" type
of situation.
Looking at other distros, Debian even compiles their packages *twice in a
row*. Compile once, go back, compile again. That was one of the changes with
the Lenny version to make sure that the code properly cleans itself up again
after compiling.
http://release.debian.org/lenny/goals.txt
# double compilation support
Advocate: Martin Zobel-Helas and Luk Claes
Description: All packages should be able to be built twice in a
row.