12 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.
- 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.
- EdSchouten 5y agoDoes Copilot in its current form auto-inject copyright notices for all BSD licensed code from which output is derived? As far as I know, it does not. This means that authors of BSD licensed code have their rights violated to the same degree as those of GPL licensed code.
- _ph_ 5y agoYes, technically they do. But if the problem is discovered, it is very easy to comply with the BSD terms by adding proper attribution. With GPLed code it is much more difficult.
- kelnos 5y ago> But if the problem is discovered... The default shouldn't be "you can violate people's licenses until you notice or get caught". Sure, in practice it probably won't cause anyone legal trouble: it would be really hard for, say, the author of some BSD-licensed code to prove that a user of Copilot actually caused them monetary damages by not providing attribution. But this isn't really a world I want to live in; we shouldn't treat other people's work with such entitlement. Copilot should be able to trace the provenance of a suggestion it makes, and notify the author of their licensing obligations. If that's not possible, then Copilot should not exist.
- Houshalter 5y agoAll of these issues have existed since GPT-2, maybe earlier. I remember the AI dungeon guys narrowly avoided a lawsuit from training on copyrighted novels. I find it amusing that the tech community was very pro GPT, but anti-copilot. Now that it affects them personally. Especially ironic because this place is usually very skeptical of copyright matters. All AIs are trained on copyrighted data scraped from the internet. What you guys want effectively amounts to making most AI illegal. At least outside of big tech companies with large private datasets. Is that the world you prefer to live in?
- 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.
- 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.