5 ms·
Crucial: do they train on GPL code? If I am to use this tool, I must abide by the license terms of the training data. Even if it is found that the GPL does not
by RadiozRadioz 3y ago
Crucial: do they train on GPL code? If I am to use this tool, I must abide by the license terms of the training data. Even if it is found that the GPL does not cover LLM responses as derivative works, I would prefer to be on the safe side and refuse to use models trained on software with non-permissive licenses unless I am building Free Software.
- JoshTriplett 3y agoGitLab seems to be a lot more responsive to feedback. It'd be worth asking them if they can publicly document their training set and provide a list of licenses and copyright notices.
- dnsmichi 3y agoGitLab team member here. The training data is documented in https://docs.gitlab.com/ee/user/project/repository/code_suggestions.html#training-data https://docs.gitlab.com/ee/user/project/repository/code_sugg... AI Transparency is important, all available AI features provide documentation for training data, and are built with privacy first. The GitLab Duo announcement adds more feature details and plans. https://about.gitlab.com/blog/2023/06/22/meet-gitlab-duo-the-suite-of-ai-capabilities/ https://about.gitlab.com/blog/2023/06/22/meet-gitlab-duo-the... The AI/ML blog series provides insights on experiments, and features being built. https://about.gitlab.com/blog/2023/04/24/ai-ml-in-devsecops-series/ https://about.gitlab.com/blog/2023/04/24/ai-ml-in-devsecops-...
- JoshTriplett 3y ago"Codey was fine-tuned on a large dataset of high quality, permissively licensed code from external sources" is not sufficient information to be able to provide attribution and licensing information. Would it be possible to get a complete list of sources and licenses?
- snickerbockers 3y agoWithin this context, what is the definition of "permissively licensed"? More to the point, are the terms of licenses of the code in the training set being honored? There's not actually anything in GPL or any other major FOSS license that prohibits using it to train an AI. The controversy stems from Microsoft refusing to follow the terms of those licenses. If they could just fulfill their obligation to propagate copyright statements and license text there would be no controversy over copilot. Thus stating that it was trained only on "permissive" licenses doesn't actually answer the question without defining what a permissive license is.
- colordrops 3y agoUnless the LLM is cutting and pasting GPL code, I don't see how this differs from an engineer learning to code by referencing open source projects then creating their own project with its own licensing. I'd imagine these models could be tuned or at least a check could be added that no licensed code is being returned.
- GordonS 3y agoHuh, I hadn't thought of it that way, interesting.
- wizzwizz4 3y agoIf someone learns to program by memorising and then re-using blocks of code, they're absolutely doing it wrong – but, also, they should be able to attribute their code. Most of the techniques I used, I've invented myself (or learnt from the standard documentation). When I use a technique that I haven't invented myself, I look up where it came from. Half the time, my version is actually radically different (and my attribution is mistaken); the other half, I've remembered an inferior version, so I steal the better version and then attribute it appropriately. That's one way it's different. There are others. Really, though, we should be asking the question “in what way is this the same as humans learning?”, expecting answers that would convince an education specialist.
- olddustytrail 3y agoLLMs don't memorize and reuse. They don't really have a memory of any kind. I think the problem is they're more different from human learning than you think.
- mitthrowaway2 3y agoThe LLM's trained parameters are a lossy memory of their training data.
- olddustytrail 3y ago
- nonameiguess 3y agoI guess we'll see what the legal system says, but it's nearly impossible for me to imagine how anyone could ever justify saying a system trained on potentially millions of separate open-source projects can then be said to universally produce derivative works of any specific project it trained on. On the other hand, if a developer using this tool then goes and tells it "please write me a C library in the style of GNU libc," then yeah, that is skirting a fine line. But just don't do that.
- johndough 3y agoGitHub Copilot copying Quake's fast inverse square root function is a famous example where Copilot copied GPL-licensed code only given the comment // fast inverse square root https://news.ycombinator.com/item?id=27710287 https://news.ycombinator.com/item?id=27710287
- Spivak 3y agoI mean if you ask the tool to produce a specific algorithm by it's very famous name then that's on you. If you ask DALL-E to draw Pikachu you can't be suprised Pikachu when it's a copyright violation.
- lgas 3y agoI don't know, it seems like a bit more of a gray area here than with Pikachu. For example, if I said "write me an implementation of fast inverse square root in rust"... and it did... that's certainly not a copyright violation. And if I said "ok, now port this rust code to C..." and it did, then that's certainly not a violation. But then why should I be penalized because the language I want it in happens to be the original language it was written in?
- ipaddr 3y agoA character for character copy including comments? That should be penalized under current law. Why not songs, software, entire books and tv shows?
- frankgrecojr 3y agohttps://docs.gitlab.com/ee/user/project/repository/code_suggestions.html#training-data https://docs.gitlab.com/ee/user/project/repository/code_sugg... > Google Vertex AI Codey APIs are not trained on private non-public GitLab customer or user data.
- jraph 3y agoEven with permissive license, you'd need to respect attribution.
- hospitalJail 3y agoI'm so torn on GPL... It prevents bad actors like Apple from ripping off people's philanthropic labor, but it also prevents me from ripping off people's labor. It also focuses effort onto the FOSS project. I like PyQts solution of having GPL or buy a commercial license. I suppose I still like MIT/Apache style the best. Even if someone rips them off, we didn't lose progress.
- mattl 3y agoWhy do you want to rip off people's labor? What's stopping you from incorporating it into your own work?
- hospitalJail 3y agoI mean: Compile already working code, slap my logo on it, spend millions of dollars marketing it with young good looking adults subliminally letting you know that you aren't cool unless you give me money.
- ENGNR 3y agoAt least you’re honest!
- justinclift 3y agoDid you miss that they're being sarcastic? ;)
- hospitalJail 3y agoI wasnt.... But I also don't have the ethics to do this. You'd need a real psycho to do this...
- GuB-42 3y agoYou can do that with GPL code. Make your logo a trademark so that others can't use it. It doesn't violate GPL because trademarks are not copyright, and make sure your marketing campaign drives home the point that you are the real deal and all others are ripoffs (including the original). I mean, people manage to sell bottled water to people who have perfectly good and 1000 times cheaper tap water.
- andrewl-hn 3y agoMost non-GPL licenses require attribution. So, there are two real choices: either we consider that AÍ generated code doesn’t infringe copyright and we are free to use any code: proprietary, GPL, AGPL, or we have to attribute the generated code to all sources, and thus in practical terms your program has to carry a few thousand copies of MIT, BSD, Apache, etc licenses with different copyright headers.
- jedbrown 3y agoEven MIT licensed code requires you to preserve the copyright and permission notice. If a human did what these language models are doing (output derivative works with the copyright and license stripped), it would be a license violation. When humans want to create a new implementation with clean IP, they have one team study the IP-encumbered code and write a spec, then a different team writes a new implementation according to the spec. LM developers could have similar practices, with separately-trained components that create an auditable intermediate representation and independently create new code based on that representation. The tech isn't up to that task and the LM authors think they're going to get away with laundering what would be plagiarism if a human did it.
- cj 3y agoHas anyone been able to create a prompt that GPT4 replies to with copyrighted content (or content extremely similar to the original content)? I'm curious how easy or difficult it is to get GPT to spit out content (code or text) that could be considered obvious infringement. Tempted to give it half of some closed-source or restrictive licensed code to see if it auto-completes the other half in a manner that is obviously recreating the original work.
- littlestymaar 3y agoI don't know about GPT-4 but you could get ChatGPT to spit Carmac's Fast Inverse square root with the comments and all (I can't find the tweet though…) Edit: it wasn't ChatGPT but Copilot see https://twitter.com/mitsuhiko/status/1410886329924194309 https://twitter.com/mitsuhiko/status/1410886329924194309
- jameshart 3y agoI can reproduce when prompted all the lyrics to Bohemian Rhapsody, but my doing so isn’t automatically copyright infringement. It would depend on where, when, how, in front of what audience, and to what purpose I was reciting them as to whether it was irrelevant to copyright law, protected under some copyright use case, civilly infringing, or criminally infringing copyright abuse. The same applies to GPT. It could reproduce Bohemian Rhapsody lyrics in the course of answering questions and there’s no automatic breach of copyright that’s taking place. It’s okay for GPT to know how a well known song goes. If copilot ‘knows how some code goes’ and is able to complete it, how is that any different?
- whoisthemachine 3y agoAn impressive iteration on this would be a model that would say "here's my solution, and here's what it's inspired by, you may need to update your software's license and/or distribution if you use this solution."