> Go 2 must also bring along all the existing Go 1 source code. We must not split the Go ecosystem. Mixed programs, in which packages written in Go 2 import packages written in Go 1 and vice versa, must work effortlessly during a transition period of multiple years. We'll have to figure out exactly how to do that; automated tooling like go fix will certainly play a part.
Even if there's 99% compatibility, if upgrading requires anything more than updating the compiler, even if it's just adding a runtime flag and the upgrade effort should be minimal, you're going to see significant resistance from companies with large codebases.
This assumes that Go 2 does have significant breaking changes, which the Go team have explicitly said that they do not want to do. The current view seems to be that they will feed new features into Go 1 releases as opt-ins, in the same ways that modules is an opt-in feature that will become opt-out in some future Go 1 release.