The version3 branches are considered production code. Releases as tagged across the repos periodically to provide a consistent historical build with a knowable feature set. It is possible we might merge a patch into a release branch that could cause a break (though we are pretty careful about that). Building from a tag set would prevent that. This is only important when actually in production deployment.