You might be overestimating the type of change required to break source compatibility. A benign example is adding a keyword. Let's say you want to add a new language feature and the community unarguably wants the feature and the right or only way to add it is with a new keyword. If you're not allowed to break source, then you can never add the feature.
I understand your argument for big things like changing the semantics of the language. But a backwards-incompatible change can also be rather benign.