That's what I meant when I said that you can't revoke the GPL. Of course with new versions you have more freedom, but what was relased under the GPL remains available under the GPL.
Not necessarily. The copyright holder only has to provide source to those who got it from them under a GPL license. Others may not be able to get a copy, as those who can ask you for it aren’t obliged to give it to them on request (https://www.gnu.org/licenses/gpl-faq.html#CanIDemandACopy)
There also is the issue as to what happens when a license holder dies or is dissolved. I think that’s a gray area. Let’s say company Foo releases a product with a GPL license and later goes bankrupt. If Bar buys the source code from the bankrupt company, I don’t see how they would have to release it under the GPL, or should legally be obliged have to give the source code to those who got a license from Foo, and Foo can’t provide it anymore, as it doesn’t exist.
Similarly, if you only give (or sell) your GPL-licensed software to an individual who later dies, does their estate inherit the right to ask you for the source code?
console.log("hello world")
And then I as the only contributor to the project releases the code and new changes under a new license:
console.log("hello world") console.log("and space")
Then that code is under the new license. Yes, you can still use the first version under GPL license. But nothing stops me from granting a new license in addition to GPL. Remember GPL is only a license. It doesnt take away the underlying ownership to the IP. It becomes more problematic of course if the first version isnt 100% written by me. Then I would need any contributors permissions too.