If at some point I want to turn my application more commercial friendly by amending the license or changing it completely, and people tell me "No haha sorry you released as MIT at some point so it's now free forever mate" I would get pissed off and stray away from open source altogether. At least this is how the "you can't revoke a license" argument feels to me. But like I said, past versions that include a specific license should still be governed by that license.
A better way to do that would be to add some trivial access protection (like a password they didn't accidentially publish). No matter how weak, any attempt to circumvent it would violate anti-hacking laws in most jurisdictions.
> "No haha sorry you released as MIT at some point so it's now free forever mate"
For you existing code that's exactly how it works. Otherwise the concept of licensing something becomes close to meaningless. Imagine Google releases Kubernetes as open source, you build your business on it, and suddenly Google turns around and says "just kidding, everyone who wants to use Kubernetes after next monday has to pay us absurd licensing fees". Using anything open source would be an insane risk if that was possible.
Instead what people usually do is to say "everything I do from now on is closed source. You can maintain a fork of the old version, but good luck keeping up with my version". Or alternatively "everything I do from now on is under [GPL/AGPL/similar restrictive license], if you want to use it beyond that contact me for a more permissive license deal". You can give people more permissions on things you own, or attach fewer permission to new things than you did in the past, but you can't take permissions you already gave away.
Yes this is what I was describing as reasonable. "Everything after this is governed by X terms" is reasonable. But the whole thing can sound like even if you change terms, previous licenses would still apply, which would be wrong.
Though it should be added that I'm just expressing the common understanding, barely anything surrounding open source licenses was ever actually tested in court. There are also some obvious legal positions that would completely change this: does every change need to state the license, are open source licenses actually legally binding etc. However nobody would ever argue those positions because they are detrimental for everyone (ok, the latter one was once argued in a GPL trial, but the court decided not to decide on that)