14 ms·
GitHub Copilot emits GPL code
- praveen9920 3y agoI believe there will be new "AI permissive licenses" that will pop up in near future. Or existing licenses to add a clause for training AI with their code.
- josefx 3y agoBut you need billions of lines to train an AI and most existing code can't just be re-licensed over night. So that would still kill all code related AI projects for the next decade if not longer.
- abigail95 3y agoAnyone talking about copyright in this thread without discussing a potential for how a court will apply fair use is talking nonsense and should be disregarded.
- lousken 3y agoIs this any different from a developer looking at some code and stylizing it in his own way?
- rattlesnakedave 3y agoNo
- attah_ 3y agoIn other news: water is wet. What did they expect it to do, if not exactly this?
- deleted 3y ago[deleted]
- Entinel 3y agoLegitimate question, Microsoft does not seem to care about Copilot violating licenses and GPL appears to be toothless as many companies use GPL code without following the terms of the license and nothing happens to them so what does removing GPL code accomplish other than making a weaker product. I have not used Codeium but my assumption is that GPL code is a very significant amount of open source code so removing that must have some ramifications?
- blibble 3y agoif the suit against copilot fails then the GPL is effectively dead (along with all other licenses that require attribution) as it will allow you to launder code automatically through an LLM to remove copyright however if the suit is successful: every company/individual that has used it is likely suddenly liable for millions of claims of copyright infrigement I look forward to sending out demands for settlement to everyone that's ever publicly admitted using copilot $150,000 per infringement with wilfulness, less without
- sebzim4500 3y agoSurely the users would only be liable if they (i) actually produced code which is verbatim the same as a block of GPL code (ii) got caught >I look forward to sending out demands for settlement to everyone that's ever publicly admitted using copilot Feel free, they'll tell you to leave them alone. Then what? Might as well ask every fortune 500 company for a pony instead.
- blibble 3y agopersonally I think they'll ruling will result in one of two possible outcomes 1. LLMs are learning like a human, so it's fair use -> GPL dead 2. anything LLMs output are a derivative work (in the copyright sense) of what went into it -> all Copilot output is infringing the GPL in the second case: anyone that's used it is now liable (even if they didn't intend to be)
- deleted 3y ago[deleted]
- brown 3y agoFor anyone who wants to slow the development of AI, copyright is the soft underbelly to go after.
- dvt 3y agoAre you seriously arguing that stealing code is okay in the name of "AI development"?
- lmarcos 3y agoIs not ok, but Microsoft couldn't care less (because they are not going to get fined).
- blibble 3y agoyes, because they don't indemnify their customers anyone sensible should stay the hell away from copilot until the fair use question is settled
- bastardoperator 3y agoLooks like they do. https://github.com/customer-terms/github-copilot-product-specific-terms https://github.com/customer-terms/github-copilot-product-spe... 4. Defense of Third Party Claims. If your Agreement provides for the defense of third party claims, that provision will apply to your use of GitHub Copilot. Notwithstanding any other language in your Agreement, any GitHub defense obligations related to your use of GitHub Copilot do not apply if (i) the claim is based on Code that differs from a Suggestion provided by GitHub Copilot, or (ii) you have not enabled all filtering features available in GitHub Copilot.
- blibble 3y agointeresting > If your Agreement provides for the defense of third party claims do any of them? it also states: > You retain all responsibility for Your Code, including Suggestions you include in Your Code or reference to develop Your Code. It is entirely your decision whether to use Suggestions generated by GitHub Copilot. If you use Suggestions, GitHub strongly recommends that you have reasonable policies and practices in place designed to prevent the use of a Suggestion in a way that may violate the rights of others. This includes, but is not limited to, using all filtering features available in GitHub Copilot. (contra proferentem would apply though)
- jamesmunns 3y agoThis is interesting, but many permissive licenses still require attribution at the project or file level. If Codeium doesn't produce these when producing "verbatim enough" snippets, how is this actually better, besides avoiding a GPL boogeyman? I get that there have been fewer (if any? I'm not aware of any) MIT/Apache2.0/MPL2.0 license violations that have gone to court than GPL violations, but this still feels like an "address the symptoms" and not "address the cause" difference.
- blibble 3y ago> If Codeium doesn't produce these when producing "verbatim enough" snippets, how is this actually better, besides avoiding a GPL boogeyman? it's not if they've trained on MIT/Apache 2.0/... then they're just as liable as people that have trained on GPL they would be limited to training on licenses that don't require attribution (BSD2, public domain, etc) which I suspect limits the size of the training set so much that the output would be useless Codium here is unintentionally making an argument that undermines legal confidence in their own product interesting choice!
- gus_massa 3y agoIANAL, but I expect people to use MIT/BSD to be less angry about partial reuse of the code than people that uses GPL.
- pornel 3y agoI'm not a lawyer either, but I don't think "less angry" is a legal term.
- JamesBarney 3y agoNot but it's big determinant in how you get sued. Several lawyers haven give the advice the best way to avoid a lawsuit is don't be an asshole. The second best way is to spend a bunch of money on an attorney.
- 3y ago
- samwillis 3y agoOf course if you include the "function header" from some code in the training data (below) it will prompt GPT to generate the rest of the function. That's kind of exactly the point of it, it autocomplete on steroids. // CSparse/Source/cs_gaxpy: sparse matrix times dense vector // CSparse, Copyright (c) 2006-2022, Timothy A. Davis. All Rights Reserved. // SPDX-License-Identifier: LGPL-2.1+ #include "cs.h" /* y = A*x+y */ csi cs_gaxpy (const cs *A, const double *x, double *y) It's like starting to sing "happy birthday to you" and being surprised that people in the room join in and finish the song. Sure they make a valid point about including GPL code in the training data, but it's a little disingenuous to go to that extent to get Copilot to output the GPL code verbatim. The sooner we have a test case go through the courts the better.
- kerakaali 3y ago> It's like starting to sing "happy birthday to you" and being surprised that people in the room join in and finish the song. A very apt analogy that's funny in that the happy birthday song has its own history of copyright battles.
- samwillis 3y agoExactly why I chose it!
- pms 3y agoAre you suggesting that GPL licenses should be invalidated and everyone should be able to use GPL code broadly, because it's free anyway? Is this some kind of modern reversed version of Robin Hood: steal from the poor and give to the rich? Is this what you're standing for?
- pms 3y agoFunny, except the comparison makes no sense. Is the happy birthday song licensed, does it have commercial competition?
- WithinReason 3y ago
- cattown 3y agoI believe that laundering licensed or copyrighted content for reuse that fails to recognize the original authors or usage restrictions is likely to be one of the biggest commercial applications of generative machine learning algorithms. I also believe this is where a lot of the hype about "rogue AIs" and singularity type bullshit comes from. The makers of these models and products will talk about those non-problems to cover for the fact that they're vacuuming up the work of individuals then monetizing it for the profit of big industry players.
- circuit10 3y ago"those non-problems" Why is that a non-problem? It's a really important concern that we need to take more seriously I pasted this from another comment I wrote but: The concerns about AI taking over the world are valid and important; even if they sound silly at first, there is some very solid reasoning behind it. See https://youtu.be/tcdVC4e6EV4 https://youtu.be/tcdVC4e6EV4 for a really interesting video on why a theoretical superintelligent AI would be dangerous, and when you factor in that these models could self-improve and approach that level of intelligence it gets worrying…
- JohnFen 3y agoI don't think the reasoning is solid at all. I mean yes, a theoretical superintelligent AI would be very dangerous, but I see exactly no reason to think that current models could get there.
- circuit10 3y agoWell hardware and parameter count are scaling exponentially, so it seems very feasible that it could happen very soon. Of course it's possible that we'll hit a wall somewhere but it seems that just scaling current models up could be enough to get to the point where they can self-improve or gain more compute for themselves
- blibble 3y ago
- alphabet9000 3y agoi recommend the Jollo LNT license for all your pointless theatrical "copyright" needs. it does not use swear words, unlike "WTFPL", and is even more ambiguous. ive tried submitting it to the FSF before for review, but they were confused by it http://jollo.org/LNT/doc/licensing http://jollo.org/LNT/doc/licensing
- smegsicle 3y agoone potentially major issue is that it seems to be written in some dialect of gibberish
- jwilk 3y agohttps://news.ycombinator.com/item?id=25807559 https://news.ycombinator.com/item?id=25807559
- microtherion 3y agoAnglo-American legal writing often relies on French terms of art, but I don't think this license is quite applying the idea properly.
- mhandley 3y agoGiven how cautious corporate lawyers usually are, I'm surprised any company allows the use of AI for code generation. The USPTO has been pretty clear that AI generated material is not copyrightable, as to qualify for copyright a work has to be the creative act of a human. So any company allowing AI to generate code runs the risk of not owning the copyright on it.
- gumballindie 3y agoAt some point we're going to have to test this - can we go work for a company and if their workers write code with the help of ai can we just use the code for ourselves as well? Since it's not copyright-able.
- hgsgm 3y agoNo, because PP completely mischaracterized what USPTO said.
- sebzim4500 3y agoIs there any practical difference between owning the copyright on a badly defined ~30% of a codebase and 100% of the codebase? In either case, no sane company is going to buy the code if one of your employees tries to leak it to them, which I assume is your concern.
- mhandley 3y agoScene, a courtroom, 2026: "So Mr Zim, you're accusing X of using your copyrighted code. But you've admitted you used AI to generate that codebase, so you don't own the copyright. Please prove exactly which lines of code you do own the copyright to?"
- sebzim4500 3y agoDepending on what logs exist I could probably find lines of code which definitely aren't AI generated. Of course, in practice I wouldn't bother and would sue using trade secret laws instead where no such issue exists.
- jrockway 3y agoAs long as the AI doesn't produce this function, you're fine: 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); } On a more serious note, I really wonder where the line is drawn for copyright. I see a lot of people claiming that AI is producing code they've written verbatim, but sometimes I wonder if everyone just writes certain things the same way. For the above rangeCheck function, there isn't much opportunity for the individual programmer to be creative. Perhaps there is a matter of taste on what exceptions you throw, or in what order. But the chosen ones are certainly what most people think of first, and the order to validate arguments, then check the low value, then check the high value, is pretty much what anyone would do. Perhaps you could format the error message differently. That's about it. So when someone "rips off" your code wholesale, it's could just be that everyone writing that function would have typed in the exact same bytes as you. You know your style guide is working when you look at code, think you wrote it, but actually you didn't!
- itslennysfault 3y agoI wouldn't worry about this code. It wouldn't compile anyways. lol Syntax Error on line 1. Missing closing ) in the method definition.
- m_0x 3y agoWhy? Why is that function special?
- csmattryder 3y agoOracle's lawyers said they owned the rights to it, Google disagreed. Google was right, legally. https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf
- jrm4 3y ago
- bakugo 3y agoHow many times are we going to go through this before we accept that nobody involved in generative AI cares about pesky things like licenses and copyright? One of the main reasons corporations love it so much is because it effectively lets them profit off of the work of others with no consequences.
- WillPostForFood 3y agoSeriously, let's get back good old honest model of paying outsourced indian programmers $2.50 an hour to retype GPL code or copy and paste it from Stack Overflow into our codebase.
- goodpoint 3y agoThe title is true, but the claim that coedium is not violating licenses is false. Many licenses still require attribution and Coedium is violating them.
- epylar 3y agoThe crux of this is at what point is the code being copied, and is that copying allowed under the license? For example, maybe -- * Training an AI with the code is allowed legally. * Storing model weights is allowed legally. * Querying the AI with those model weights is allowed legally. Or maybe not.
- challengedchip 3y agoIt seems like a stretch to argue that the model isn't "a work based on" GPL code when that GPL code is an input to a deterministic algorithm from which the model is produced. So, my bet is on point #1. The only ambiguity as far as I can tell is GPL covers "source code", "machine-readable Corresponding Source", and "object code form", and it's not explicit whether vector-fields count as any of those things. I doubt anyone would seriously argue that zipping and then un-zipping some GPL source code means you don't need to respect the original license. LLMs are different in that they're lossy compared to the zip format - does the nature of this lossiness invalidate the intent of the GPL's original language? I doubt it.
- goodpoint 3y agoAgain, this is not about GPL only. Even MIT requires attribution.
- abigail95 3y agoDid the accept the license terms or are they using it under fair use?
- noselasd 3y agoHow much if this is due to someone ripping off GPL code and stuffing it in a repo under a different license that got fed to copilot training?
- VWWHFSfQ 3y agoMaybe. But copilot also trains on the original gpl code with the gpl license intact so it doesn't matter.
- jonnycomputer 3y agoAs far as it goes, I got chatGPT3.5 to reproduce the second snippet in the post, i.e. I asked it to complete this function: // CSparse/Source/cs_gaxpy: sparse matrix times dense vector // CSparse, Copyright (c) 2006-2022, Timothy A. Davis. All Rights Reserved. // SPDX-License-Identifier: LGPL-2.1+ #include "cs.h" /* y = A*x+y */ csi cs_gaxpy (const cs *A, const double *x, double *y) { // Fill in here } The code was the same. Though it also explained how it worked to me.
- deleted 3y ago[deleted]
- abetusk 3y agoThis was inevitable. Copyright law has always used a "color of your bits" argument [0]. GPL and other libre/free/open licenses were a great hack to circumvent draconian copyright laws but the laws themselves are not designed for a rigorous treatment of similarity (maybe even by design?). Also, it's worth noting in the example of ChatGPT emitting LGPL code without attribution or license, the code is actually different [1]. Is the difference enough to circumvent a copyright violation claim? I don't know but a big part of determining whether it does is now muddled because of the way the system was designed. Even if we could get an entropy distribution on which training data was used to generate the text, it's not even clear the courts could use it in any meaningful way. [0] https://ansuz.sooke.bc.ca/entry/23 https://ansuz.sooke.bc.ca/entry/23 [1] https://twitter.com/DocSparse/status/1581461734665367554 https://twitter.com/DocSparse/status/1581461734665367554
- jacquesm 3y ago> GPL and other libre/free/open licenses were a great hack to circumvent draconian copyright laws The GPL relies on copyright law.
- abetusk 3y agoThat's an unkind reading. The implication is that GPL circumvents some relevant restrictions of copyright law in question by creating a legal framework to do so.
- jacquesm 3y agoNo it isn't. The GPL does not circumvent anything: it relies very heavily on the fact that the rights holders are able to license their creation as they see fit.
- abetusk 3y agoYou continue to argue in bad faith. Copyright law is often used to prevent people from copying work. The GPL and its ilk are legal mechanisms designed to allow people to share their work.
- tpmx 3y agoThe submitter trimmed/edited the title. The real one is: "GitHub Copilot Emits GPL. Codeium Does Not." Why?
- prosim 3y agoTo hide the fact that this whole post is a marketing campaign with flat out wrong facts and examples that are nothing more than goading.
- ognarb 3y agoAlso I wonder how this will hold with certain technology. For example apps written with Qt or GPL are very likely to be GPL licensed, unlike apps written in JavaScript which are often licensed under MIT. The likeness of copilot/chatgpt splitting gpl licensed code is the quite higher in Qt/GTK projects...
- hgsgm 3y agoLLMs still violate MIT license's attribution requirement
- abigail95 3y agoYou are allowed to read others code to learn from it, regardless of any license being accepted offered or rejected. You must do so witin fair use, which is for a court to decide, based on individual case factors. Saying an LLM violates an atrribution requirement is a bad legal argument.
- cheriot 3y agoCode snippiets are not poems. I don't see how society benefits from granting an exclusive right to a few lines of C.
- hsjqllzlfkf 3y agoSame way as society benefits from granting exclusive right to a few lines of poem...?
- cheriot 3y agoA poem is an entire work. A 5 line snippet is one brick in a wall.
- zaps 3y agoOf course it does
- naikrovek 3y agothe article cites that 6mo tweet that everyone else cites. I don't think it is known if the user had public code suggestions turned off at the time, either; he wouldn't/didn't answer the question at the time. Also if I am remembering correctly, and I make no guarantee that I am, this tweet is from a person with a strong dislike for Microsoft, and if I am right about that, I would not put it past this person, or anyone else with a strong dislike of Microsoft, to craft a situation to make Microsoft look bad solely to hurt Microsoft. I've tried to make Copilot give me GPL code snippets while I have "suggestions matching public code" set to "blocked" and I can't make it happen. so even if this was a problem 6 months ago, it would take some convincing to get me to believe that this happens today.
- 29athrowaway 3y agoWhen these articles were published, I was certain Microsoft had a plan to betray everyone's trust as they always do. Microsoft's business model is betrayal. Github is Microsoft. HNers got mad at people who pointed this out, and now here we are. You were warned, but you decided to believe again in the most vile people in the history of computing. https://www.bloomberg.com/news/articles/2018-06-06/github-is-microsoft-s-7-5-billion-undo-button#xj4y7vzkg https://www.bloomberg.com/news/articles/2018-06-06/github-is...
- throwaway290 3y agoOpenAI is also pretty much Microsoft, hard to believe 10 billions USD investment comes without enough strings attached to make them a puppet...
- blibble 3y agothe github thing acquisition isn't really a big deal in terms of LLMs as they could have crawled github regardless of whether or not they owned it
- 29athrowaway 3y agoIt is just the beginning.
- rvz 3y ago> When these articles were published, I was certain Microsoft had a plan to betray everyone's trust as they always do. They thrive on betrayal and will never change and are getting cleverer. > Microsoft's business model is betrayal. Github is Microsoft. O̶p̶e̶n̶AI.com is also Microsoft. They were warned straight from the beginning [0] [1] and the same HNers keep falling for the Microsoft freebies and giveaways. Perhaps the time they will learn the hardest: Is when it is too late. [0] https://news.ycombinator.com/item?id=27772446 https://news.ycombinator.com/item?id=27772446 [1] https://news.ycombinator.com/item?id=28324999 https://news.ycombinator.com/item?id=28324999
- ForHackernews 3y agoIs anyone even remotely surprised?
- avbanks 3y agoIs posting code to StackOverflow a copyright violation?
- wg0 3y agoWhat model this Codeium is based on?
- O5vYtytb 3y agoI don't understand the issue here. You input GPL code (the headers) and get GPL code out, what do you expect? The more insinuating issue would be if you started with a innocent seeming function that a typical software developer would write, and ended up with GPL code. Has anyone shown that to happen?
- pornel 3y agoIt's not meant to be a useful use-case, but a proof that the training data contains GPL code and the model is capable of reproducing copyrighted code. And yes, the implication is that a different less explicit prompt could still emit copyrighted code.
- bastardoperator 3y agoLooks like the code in question is hosted on Github: https://github.com/ibayer/CSparse/blob/master/Source/cs_gaxpy.c https://github.com/ibayer/CSparse/blob/master/Source/cs_gaxp... Isn't that covered by: "You grant us and our legal successors the right to store, archive, parse, and display Your Content... share it with other users..."
- masukomi 3y agoto any Codeium dev / management reading this: You have completely missed the point. We still need to know the applicable licenses of the code it is emitting even the ones that aren't GPL. Furthermore GPL people don't want they code to not be used. They want it to be used _within the terms of the license_. I distribute MIT and GPL code in my repos, BOTH should have their license terms honored. MIT licensed code still needs to be correctly attributed, just like GPL. I don't care what license the code is that's emitted, as long as the licenses are included. It'd be nice to be able to choose to only emit code trained on particular licenses but I get that that's not easy.
- gumballindie 3y agoThey all do. The Great Heist is ongoing and it would appear without an end in sight.
- yafbum 3y ago> non-permissive licenses such as GPL mean that you cannot [use the code] without consent. Huh? GPL does have strings attached, but if consent one of them? Seems like a thinly disguised ad
- deleted 3y ago[deleted]
- gavinhoward 3y agoDoes Codeium give attribution for code under other FOSS licenses? No? Still infringing. Nice try.
- yellowapple 3y agoStill waiting for someone to trick Copilot into ingesting the Windows source code and regurgitating snippets of it verbatim.
- elif 3y agoEasy solution: Just make it generate intentionally obfuscated versions of the same functions. Throw in some valid syntax that humans would never consider to use. Break up functions into smaller sub functions. If the LLM has intricate knowledge of the compiler used, it could even generate code which it knows will produce identical bytecode. Now the only loser is the humans that still have to maintain the ugly code, and RMS can have his weaponized copyright and eat toejam too.
- salawat 3y agoI'd prefer a world without copyright tbqh.
- marcodiego 3y agoNo problem. Just release your code under the GPL.
- armchairhacker 3y agoI want to see a solution where Github, OpenAI, Stability, etc. get to keep and keep scraping copyrighted works, but the models and training data must be provided free and open. That way, we get to keep the models since they are genuinely useful, but also there’s no issue with copyright and less of an issue with consent to distribute (which can be hopefully be managed by the “humans also learn from data” and “it’s not actually producing your content verbatim unless it follows a basic pattern that anyone could discover). And furthermore, no issue with AI privatized which IMO is my biggest concern with these new tools.
- ChatGTP 3y agoSo I see it in a similar way, like why the fuck does Microsoft and Open AI get to be the soul benefactor of basically the sum total of all human intellectual output ? It’s absolutely ridiculous on so many levels. These models may claim so many jobs and have a serious negative impact on so many peoples lives, yet basically one company owns the model? I actually find it funny albeit totally insane.
- reidrac 3y ago> Codeium doesn’t regurgitate non-permissive code What is that? The problem is when GH Copilot it emits the code without the licence, not the licence.
- Dwedit 3y agoEven if you sample stuff from programs that use a permissive license, you still legally need to attribute that code. No attribution = copyright infringement. Can the AI code generator supply attribution for the specific works sampled?
- deleted 3y ago[deleted]
- tehologist 3y agoCopyrighting code never made sense to me. We already have patents for intellectual property. If two people use the same RFC or Whitepaper for an algorithm in the same language, they will probably name the variables similarly and their code will look very similar. Just like if two people wrote out the same hamburger recipe or instructions for hooking up a stereo would also write something similar. The copyright on the implementation will outlive the patent and allow the implementor to legally take action on claims of copyright infringement. Even though a program is literally just a list of instructions to implement the expired patent.
- pornel 3y agoCopyright protects not the idea, but specific implementation of it. It's there to prevent unauthorized copying of software. Not every software has to be novel enough to be patentable, but may still take effort to write a millionth-first JS framework. If you take someone else's software without a license and rename variables, it will be a copyright violation, because you've copied (and then modified) it without permission. But if you write your own software from scratch, even if it happens to be almost identical to someone else's code, that's fine. You've done your own work and a copyright owner can't stop you from doing that. They control their own work only. As you can see, this is very much tied to human work and intent, since the concept has been invented long before ML existed. This is why ML "learning" and doing "work" is so controversial and appears to be a loophole in copyright.
- deleted 3y ago[deleted]
- umvi 3y agoHuman brains emit GPL code too (probably) if you've looked at enough of it. Heck, some humans intentionally study GPL code and then rewrite it with a slightly different implementation to get around the license.
- prepend 3y agoWhy do people pay for Codium or Copilot when chatgpt does this for free?
- MangezBien 3y agoI imagine because by paying for Copilot you offload some of your legal liability to github
- prepend 3y agoBy using chatgpt, I offload all my legal liability to openai.
- pyth0 3y agoCopilot currently has great plugin integrations for a number of editors and IDEs. I'm sure the same kind of tooling is in the works for ChatGPT but it's not as mature.
- deleted 3y ago[deleted]
- r3trohack3r 3y agoI personally hope that we bring a lawsuit against an LLM company for emitting GPL licensed code and lose. It sets great precedent for FOSS. Focusing on the GPL license is probably the wrong move. We want to set precedent that _any_ licensed code that is emitted from an LLM is fair game. If an LLM to emits non-FOSS copyrighted code and it's fair game, I can blindly use that implementation in my code, including FOSS code, and everyone wins. GPL was a clever hack to use copyright against itself with an infectious license. LLMs might be a better hack. Wanting to block this seems short sighted for giving user's agency over machines. I'd also like to see more patent defenses of GPL licensed code. If you can release a GPL licensed implementation and block non-FOSS rewrites through patents, that's a huge win for software freedom.
- woah 3y agoThis comment falls into the classic programmer fallacy of thinking you can hack the law with a technicality. If you are using an LLM designed to violate copyright with the intention of violating copyright, and you then violate copyright, a judge is going to find you in violation. I'm generally in support of LLMs though and I think that they will very quickly be trained to remove verbatim duplication of the kind that a human would consider copyright violation while still using verbatim duplication where it makes sense (for example, every function in python has the word "def" in front of it).
- r3trohack3r 3y agoI don’t think it does. I’m not looking to explicitly launder copyright. I’d like to be blind to it. I don’t want to explicitly use an LLM to remove copyright. I want to use an LLM to build software systems without having to cross reference its output with every line of code ever produced under a license to see if it’s already copyrighted. Agree with your take that motivation matters.
- judge2020 3y ago> Focusing on the GPL license is probably the wrong move. We want to set precedent that _any_ licensed code that is emitted from an LLM is fair game. If anything goes to court, that's what would happen. It's not "this is GPL code and they did not attribute", it's "they violated my copyright. As a side note, we license this code as GPL and they did not attribute in accordance with this license, so that's irrelevant". It would only be an actual license issue if they tried something like "license (C) at codium.com/all_licenses_dataset0423".
- mtkd 3y agoMakes you wonder how many public repos you would need to seed with a carefully crafted attack/weakness in a common feature/pattern to start effectively poisoning codebases that are leaning on copilot
- AlchemistCamp 3y agoI was recently working on something for a new feature on my Elixir-learning site and opened a new file called "fibonacci.ex" to write a tail-recursive fibonacci function. After typing in nothing more than, "defmodule Fibonacci do", Copilot emitted the entire module from the code on my site here: https://alchemist.camp/episodes/elixir-tdd-ex_unit https://alchemist.camp/episodes/elixir-tdd-ex_unit The function names and documentation strings were identical. Also, the site isn't under a GPL, just a standard copyright. That said, I'm curious to learn if others see the same behavior. It's possible I once opened that file locally with Copilot installed and that my own computer was its source.
- nicmo 3y agoPossible, if the doc was open at that time, or if the file you were editing is in the same or nearby directory
- Filligree 3y agoIt gave me this: defmodule Fibonnaci do def fibonnaci(0), do: 0 def fibonnaci(1), do: 1 def fibonnaci(n), do: fibonnaci(n - 1) + fibonnaci(n - 2) end Which seems fine I guess (I don't know the language), but doesn't even have comments. I prefer my files with comments. After forcing the point, I got this: defmodule Fibonnaci do @moduledoc """ Documentation for Fibonnaci. """ @doc """ Calculates the nth Fibonnaci number """ def fibonnaci(n) when n < 0, do: nil def fibonnaci(0), do: 0 def fibonnaci(1), do: 1 def fibonnaci(n), do: fibonnaci(n - 1) + fibonnaci(n - 2) end In which I prompted the AI with everything up to (and including) @doc. So I figure it was picking it up from your computer, somehow. EDIT: I then noticed the typo, tried it with fibonacci.ex, and got the same result.
- zelphirkalt 3y agoInteresting though, that it is bad code, considering, that it is not written to be tail recursive. Maybe good to show the idea of fibonnaci numbers or a theoretically valid implementation. But hopefully people do not accept this kind of code, thinking, that because it gets the result in some simple cases and it was suggested by copilot, it must be the way to properly do things.
- alecnotthompson 3y agoThe only reason this is a bad thing is because we live under capitalism.
- phendrenad2 3y agoIt's probably a good time to plug the Unlicense: https://unlicense.org/ https://unlicense.org/ A truly attribution-free license that checks several other important boxes (disclaiming liability and warranty etc.) If you want your code to be usable by things like github copilot, consider using it (can't imagine most of the HN crowd wants their code used by copilot, but maybe some lurkers here do!)
- codexb 3y agoThis is the real effect of AI. Non-permissive open source licenses have been on a slow death march for over a decade. They're effectively pointless now. Either you decide to give your code for free to everyone or you don't. Adding a bunch of restrictions defeats the purpose of OSS.
- GaggiX 3y ago>researchers say LLMs rarely spit out training data verbatim unless interacted with adversarially, but theoretically, they could. Theoretically they can generate any arbitrary snippet of code (if it correctly fits the distribution), regardless of whether or not the code was in the training dataset.
- CrankyBear 3y agoSince this advertising a service to fix this problem, I'm suspicious of the research and its conclusions.
- xwdv 3y agoLet’s write some regulations that say every code review must require a lawyer to comb through the code and look for possible copyright violations or compliance issues. The lawyer can then tell the author to change the lines of code and submit for review again. Or perhaps every company can just invent its own programming language and translate copyrighted code into the new language and thus avoid copyright issues altogether, though they may still run afoul of software patents.
- chairmanwow1 3y agoThese guys are trying so hard to smear Copilot. Similar blog post posted a few weeks ago with wild claims.
- user- 3y agoIs Codeium just using openAI's api ? It seems to be just gpt3
- visarga 3y agoYeah, when you start with dozens of words replicating exactly a source file it is much easier to get a regurgitation. You can't prefix so deeply and then complain.
- fatherzine 3y agoOnce AI can write decent code from scratch, it is likely it can also circumvent potential copyright violations. A. Check AI generated code against a comprehensive library of open-source copyrighted code and identify potential violations. B. Ask AI to generate a paraphrase of the potential violations, by employing any number of semantic preserving transforms -- e.g. variable name change, operator replacement, structured block rewrite, functional rebalance, etc. Lazy example: 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); } private static void rangeCheck(int len, int start, int end) { if (!(0 <= start)) { throw new ArrayIndexOutOfBoundsException(`Failed: 0 <= ${start}`); } else if (!(start <= end)) { throw new IllegalArgumentException(`Failed: ${start} <= ${end}`); } else if (!(end <= len)) { throw new ArrayIndexOutOfBoundsException(`Failed: ${end} <= ${len}`); } }
- chrsjxn 3y agoThis feels like it would make the situation much worse from a legal perspective. If you know your AI produces code that is "tainted" by license violations, adding code to hide it after the fact suggests that you're intentionally violating the license terms.
- efitz 3y agoYeah, I totally GPL’d print(f’Hello, world’) And it auto completes all the time!
- quicklime 3y agoIt's great that they've removed "non-permissive" (GPL) code from their training data, but it looks like they still train on code with "permissive" licenses (they use MIT, BSD, Apache as examples). But don't these permissive licenses still require the copyright notice to be reproduced? From the MIT license: > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. From the BSD licenses: > Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms... From the Apache 2.0 license: > You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works
- gplthrowaway88 3y agoI submit that this arms race will not slow down and in the long run no one will end up caring about the licenses this was generated from (i.e software licensing is from a by-gone age already). I too would prefer that these sorts of things cite sources and the licenses correctly. Will it get mired in legal battles? You bet. Will it get regulated? I assume they'll try! Will it slow down progress of code generating / auto-completing agents? My argument is nope, cut off heads of the hydra if you'd like but it's not going away at all. Spend your day worrying about something else. This train has left the station.
- w10-1 3y agoNo court has said AI ingesting open-source code is "fair use". Almost all open-source licenses say it can be copied for use in development (i.e., not for re-publication or regurgitation), and even completely open licenses are speaking to people as readers. The only reason this is happening is coordination costs: a few extremely motivated people with tons of resources are copying from many, many people who would be difficult to organize and have little at stake. Unfortunately, the law typically ends up reflecting exactly these imbalances.
- jcq3 3y agoI don't mind about anti violation licence value proposal, I want to know if it works better than gh copilot? As it is free so I could switch to it.
- felipelalli 3y agoCompletely unnecessary! These licenses tend to stifle AI! They are immoral. I recommend reading "Against Intellectual Property" by Stephan Kinsella.
- benkarst 3y agoTime to sue MSFT
- vulcan01 3y agoButterick filed a class-action lawsuit 5 months ago: https://githubcopilotlitigation.com/ https://githubcopilotlitigation.com/
- ugh123 3y agoMaybe slightly off topic, but i'd be willing to bet most people who choose GPL for their software license on open source projects don't even understand it with all its ambiguities and gotchas. Many are probably just choosing it because its the default, or because its the one they hear about the most (but still don't understand). Can't believe we still spend time debating this license and nobody, not even lawyers at software companies, seem to get it.
- seadan83 3y agoHow to get a new AI powered software tool high up in hacker news? Mention GitHub Copilot, the equivalent of the abortion debate but for software engineers (everyone is certain to disagree and debate endlessly without swaying any opinions). This post seems like an advertisement for codeium. It wouldn't need to mention anything about Copilot at all and would be just as complete. My 2 cents, click bait & flame war trolling.
- thordenmark 3y agoIt is interesting to see coders starting to express the same complaints artists had a year ago when AI image making became really, really good, by training on copyrighted art.
- firstlink 3y ago> GPL code There is no such thing as "GPL code" or any other "$license code". This is a fundamental misunderstanding of what a license is. The code in question was licensed to GitHub under a different license - possibly fraudulently.
- hgs3 3y agoThis is Hacker News so the conversation is obviously slanted towards code, but I wonder what the perspective would look like for other structured works, like books? If an author is using a "copilot for writers" and the AI emits text verbatim to another work, then I would think it would be plagiarism. If the text emitted is similar, but not the same, then I would think it would be considered paraphrasing which still requires attribution.