Is that actually allowed by the GPL? I thought it was more like the "Ship of Theseus" - that even if you eventually replace all the original GPL code, the entire work remains GPLed. https://softwareengineering.stackexchange.com/questions/2603...
Is that actually allowed by the GPL? I thought it was more like the "Ship of Theseus" - that even if you eventually replace all the original GPL code, the entire work remains GPLed. https://softwareengineering.stackexchange.com/questions/2603...
The two declining authors don't have copyright on the new replacement code, because they didn't write it. So their choice of license can't possibly have any bearing on the license of the rest of the project.
A similar thing happened when the busybox maintainer forked the project to toybox.
busybox is a GPLv2 project (not LPGL), and so all his contributions were licensed as such. But he forked his own code to a Apache 2 License. He is able to do that because he owns the copyright. But of course he can't relicense code to which he doesn't own the copyright.
toybox isn't a derivative work of busybox in that sense. It's just a bunch of code that someone wrote (and automatically gets copyright for), and chose to license in a certain way.
Basically you get the copyright first, then you decide to license it. If it's clearer to think about, the authors could have started a new project called "Zacket" that's not a derivative work of Racket, as long as they own all the copyrights. But the name doesn't matter here, and they can keep using "Racket".
That's my understanding anyway.
But they influenced the shape of the code.
Imagine if Google loses their upcoming case with Oracle. Any rock thrown into the river will forever taint a codebase unless you can rewind before it was committed or the code is 100% leafy and isolable.
The GPL for Version 1 (example) would be presented if you checked it out and if you check out Version 2 it's now an Apache 2 license. The license in each case applies to the files in the VCS, a the GPL contains no special case for access to previous or future versions of the same file under it's license under the GPL license, neither does the Apache license and I doubt such a clause would hold water.
replace the code? I'm not sure how it would not be legal to write substitute code under a new license. If there is no remaining GPL code in a project, the project doesn't have to abide by the GPL. The "Ship of Theseus" example makes no sense in the context of copyrights.
Start on a clean system. Put all of the correctly licensed source code there. Do not include any GPL/LGPL code
Now run make.
Nothing GPL or LGPL licensed touched your build or source code.
If you updated your Racket to the new version it would be under the new license.
but you can take the 98%, and also relicense it under anything the copyright holders (=authors) agree to, and include an extra 2% so that it is a new work.