Reason: during development, it makes sense to change protocols. This means the entire system would need to be upgraded. In that case it is best that at boot, code is downloaded from a central repository. Having version diverge between nodes is very annoying. What is more annoying is to have firmware upgrade break because of protocol changes.