You could ask your package manager (or a distro build tool) to point you to the source code and scripts which were used to compile the package, install build dependencies, tweak the build, and rebuild. The hard work starts when you need to maintain your tweak on top of existing package in a long run.
I would rather say that as long as you are using build which is done by 3rd party (such as your GNU/Linux distro and not the author of the original project), rebuilding from source should be possible, since both original project and the builder needs to follow certain protocols and expectations for that to work (using common way to share code, using standardized build systems in a clean way ...). What hurts the open source approach is a case when the project doesn't follow usual conventions as it doesn't expect people to rebuild it and provides static binary builds as a main way to use it instead.