4 ms·
My understanding is that when Copilot automatically inserts some GPL licensed code fragment into your project, your project automatically has to become GPL lice
by horstmeyer 5y ago
My understanding is that when Copilot automatically inserts some GPL licensed code fragment into your project, your project automatically has to become GPL licensed, whether you want and realize or not.
- simion314 5y ago>your project, your project automatically has to become GPL licensed, whether you want and realize or not. This is not exactly true, GPL is not magic that automatically re-licenses your code behind your back. What actually happens is your are in violation of the GPL , one way to solve the violation is that you re-license your code (so you have to do it, it is not happening behind your back automatically). I am not aware of any case where someone did not want to GPL the software and a judge forced him to do it. This kind of problems are also happening with proprietary license, some developer copy-pastes some properietary code and in the end you have to make ti right remove the code and make a deal with the party you damaged.
- drran 5y agoNeXT (now Apple) has this experience: > The C compiler in use at the time was GCC, which was released under the GPL. To avoid the restrictions of this code, NeXT provided its front end as a library that end users would link against GCC, thereby avoiding the GPL (which only applies to distribution of the software, not how you use it). This little legal maneuver didn't work, however, so NeXT was forced to release the code.
- simion314 5y agoCan you provide a link on the "forced" part ? Maybe they realized that is fucking OK to respect the license , they would not like it if someone fucks with their proprietary code either.
- drran 5y agoFew cases are listed here: https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases https://wiki.fsfe.org/Migrated/GPL%20Enforcement%20Cases .
- simion314 5y agoBut from a quick check those are the reverse of the OP implication, in this cases someone takes a big GPL project and inserts a small proprietary thing on top , I would like to see an example where someone had a bit proprietary project, a dev inserted 5 lines GPL code and a judge forced them to GPL everything.
- drran 5y agoIf you are looking for the smallest case, then look at Oracle vs Google multibillion debate about this function: private static void rangeCheck(int arrayLen, int fromIndex, int toIndex) { if (fromIndex > toIndex) throw new IllegalArgumentException("fromIndex(" + fromIndex + ") > toIndex(" + toIndex+")"); if (fromIndex < 0) throw new ArrayIndexOutOfBoundsException(fromIndex); if (toIndex > arrayLen) throw new ArrayIndexOutOfBoundsException(toIndex); } https://www.copperpodip.com/post/oracle-v-google-shows-why-freely-available-source-code-isn-t-actually-free https://www.copperpodip.com/post/oracle-v-google-shows-why-f...
- simion314 5y agoThat big case was about APIs but I found that of course copy pasting code is a lcense violation, but the judge/jury did not force any re-licensing "Alsup did agree with the jury that the rangeCheck function and eight security files were a copyright infringement, but the only relief available was statutory damages up to a maximum of US$150,000" So your argument is exactly my point, the license is not infecting your product, you have to pay damages or in case of GPL you have the OPTION to comply with the license and release the code. Again, copy -pasting some GPL code is not magicaly transforming your other code into GPL. Or the reverse copy pasting some Oracle/Microsoft or Google code in yoru project does not make your project Oracle or MS property.
- EdSchouten 5y agoBut the same can happen with BSD licensed code, right? That license also has certain requirements that need to remain fulfilled. I don’t see how the GPL is special in the discussion around Copilot.
- kbenson 5y agoThe GPL license is license-viral, the BSD license is just attribution-viral, as I understand it. For BSD licensed code, you must reproduce the license and attribution for that code, but the rest of the code can be licensed as you want. For GPL code there are additional requirements.
- EdSchouten 5y agoBut does Copilot reproduce the license and attribution for the code? As far as I know, it does not.
- kbenson 5y agoI don't think so, which makes the resulting amalgamation in violation of the original source in that respect for both of them. Beyond that, even if you add the license and attribution manually, the GPL is still not satisfied, and may require the entire source it was used in be released depending on whether you've shipped that product to customers or used it in specific ways. That's an entirely different class of problem than just needing to go back and add some comments to your code to note where some of it came from.
- jonas21 5y agoYou could presumably satisfy this requirement by linking to a giant file containing the license blocks for all BSD code that it was trained on.
- happymellon 5y agoThis is the fundamental difference between BSD and GPL. GPL is is Open Source but for you to benefit, you have to make derivative works GPL. BSD is Open Source and you can close derivatives so that you benefit and you don't have to share back. I'm not sure how you don't see how an auto-suggest tool that inserts GPL code into yours is different to BSD.
- ocdtrekkie 5y agoIt's worse than this: Even permissive licenses like MIT require you credit the original author. Copilot regurgitates code without recognizing the original author at all, violating pretty much any and all licenses.