6 ms·
Two people declined to re-license their contributions to Racket. We therefore removed their contributions and, where appropriate, replaced them with new code an
by dumbmatter 7y ago
Two people declined to re-license their contributions to Racket. We therefore removed their contributions and, where appropriate, replaced them with new code and/or documentation.
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/260347/ship-of-theseus-applied-to-gpl-can-i-relicense-my-program-if-i-replace-all-of https://softwareengineering.stackexchange.com/questions/2603...
- protomyth 7y agoremove code? certainly legal 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.
- _ph_ 7y agoIf the new code is a clean reimplementation of the function of the old code, that is, not based in its source or principle of working on the old code (e.g. copy large parts of the logic from the original code), it should be quite fine. Porting an existing code to a new language isn't a clean reimplementation.
- fourthark 7y agoWhich is why, although it's a cool metaphor, it wasn't relevant to the linked SE question. A translation is not original work.
- xiaq 7y agoIANAL, but I think of the relicensing effort as conceptually equivalent to starting from scratch and asking everyone to re-contribute their code towards the new codebase, because these contributors never relinquished their copyright in the first place. For people who said no, you just leave out their contributions.
- chubot 7y agoThe GPL relies on copyright as far as I understand. 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.
- echelon 7y ago> 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. 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.
- rurban 7y agoshapes, ideas or thoughts are not protected by Copyright, only work.
- kd5bjo 7y agoDoes Racket use a DVCS? A git checkout involves making a copy of every historical version in addition to the current one, so their code is still being distributed. If a lawyer wanted to make trouble, they could argue that the repository as a whole is a single work and thus must remain on the GPL.
- appleflaxen 7y agothe entire work at that point in time does. 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.
- DannyB2 7y ago> I thought it was more like the "Ship of Theseus" 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.
- yarg 7y agoThey can re-license - they cannot revoke the GPL.