9 ms·
People keep on talking about the GPL in these cases, but there’s absolutely nothing whatsoever special about the GPL: any code that is not public domain (or und
by chrismorgan 4y ago
People keep on talking about the GPL in these cases, but there’s absolutely nothing whatsoever special about the GPL: any code that is not public domain (or under a public-domain-equivalent license) is equally affected. Any mention of the GPL is a red herring.
Copilot is completely depending on the legal theory of being effectively exempt from copyright, under fair use doctrine; if that legal theory falls apart, the entire space (and a lot of other machine learning stuff) is utterly doomed.
Will it, won’t it, should it, shouldn’t it? Dunno.
(And when people say that it should just say what license the code it generates is under and what attribution or similar is required: Copilot can’t tell whether it’s reproducing copyrightable chunks of code, or indeed where what it produces came from, by the very nature of machine learning techniques. The whole verbatim reproduction issue demonstrates this—they’re trying to avoid such reproductions, which a cynic might say is because it weakens their fair use claim, but it’s not easy to do.)
- chii 4y agoi'm not buying the argument that copilot is infringing copyright. If someone learnt how to program via reading open source projects, you don't get to claim that their future work is derivative.
- nucleardog 4y agoExcept, y'know, when it regurgitates copyrighted code verbatim[0] which is not even derivative but just straight up copyright infringement. [0] https://twitter.com/mitsuhiko/status/1410886329924194309 https://twitter.com/mitsuhiko/status/1410886329924194309
- LeSaucy 4y agoEven down to whitespace?
- dzhiurgis 4y agoAs a society IMO we should be fine with this
- ThrowawayR2 4y ago"I believe that all generally useful information should be free. By "free" I am not referring to price, but rather to the freedom to copy the information and to adapt it to one's own uses ... When information is generally useful, redistributing it makes humanity wealthier no matter who is distributing and no matter who is receiving" --Richard M. Stallman Ironic that those who generally purport to champion FOSS fail to understand that Free Software was all about defeating copyright. The GPL was meant to turn copyright against itself.
- teddyh 4y agoThe GPL is a tool for defeating copyright, or at least mitigate the worst of copyright’s effects on software development. If the GPL is weakened, it will be less helpful.
- markdeloura 4y agoCoPilot didn't "learn how to program", it is reproducing blocks of code from other projects, some of which explicitly state that using their code requires attribution or other forms of acknowledgement. It is facilitating infringement of their licenses.
- w4ffl35 4y agoThis is only partially correct. Since I have two free complimentary months I decided to sign up even though I'm not super thrilled with it (see previous comments). I was given two options: 1. allow code from public repositories 2. allow copilot to learn from my code I disabled both of these options. Presumably I am now using an AI model which learns and suggests based on the context of my project.
- Engineering-MD 4y agoIt would be interesting to start verbatim copying some open source GitHub projects with these setting disabled and see if it magically knows what comes next (ie it does have prior knowledge of published code even with this turned off)
- w4ffl35 4y agoI'm not sure why my comment is getting downvoted. I just gave it a test run. I have a function with this code: if (!card.IsFaceUp && !card.IsBlocked) { FlipTableauCard(card); card.SetIsBlocked(false); break; } I then added this comment afterwards: // if the card is face up, flip it And this is what copilot produced: if (card.IsFaceUp) { FlipTableauCard(card); card.SetIsBlocked(false); } I'm pretty positive that is code generated based on my comment and the surrounding code.
- Volundr 4y ago> Presumably I am now using an AI model which learns and suggests based on the context of my project. The "allow code from public repositories" doesn't do what you think it does. All it does is add an extra filtering step to avoid producing code found in it's training set verbatim. The model you are using was still trained on those repositories, it's not limited to your project.
- jakelazaroff 4y agoOkay, but Copilot isn't a human. It's a computer program. If I wrote an algorithm that spat out copyrighted code with the variables renamed, it would be absurd to say that constitutes an original work. Copilot is much closer to that than to a human programmer.
- blagie 4y agoI do consider copilot to be infringing on my AGPL code. That's not a fundamental statement about all machine learning systems. GPT-2 did a lot more direct regurgitation than GPT-3. GPT-3 tends to be much more transformative, but does still sometimes spit out code / text verbatim. Copilot and codex spit out close enough to my own code that it's clearly creating a derivative work, at least by my read. This is untrodden legal ground, but I think that a lot of this comes down to issues of reasonableness. The reason I used the AGPL license was to create a commons. If copilot played within some reasonably friendly way around that commons, I might not feel bad about it. However: 1) Copilot wants me to pay to use something derived from my own code, where I stuck a license there designed precisely NOT to be in that position. 2) Copilot provides a competitive advantage to proprietary projects who are more likely to be able to afford it, over open-source / community ones. The reason I used an AGPL license was because I thought we needed this type of code to be open and transparent. I work in a domain where transparency is essential (I don't disclose domain, but you can think of transparency in government, education, voting, medical, police, etc.) 3) I have no way to have a conversation with anyone at github / Microsoft. They took my stuff, and they won't talk to me about how they use it. It's automated systems all the way down. 4) The whole Open AI nonprofit -> for-profit transformation is just sleazeball. Given all the talk about ethical use of AI, something like this really leaves a sour taste in my mouth. I don't mind DeepMind, FAIR, etc., since they're honest about their goals. Open AI feels like a Silicon Valley get-rich-quick scheme with a lot of nice marketing copy and legally-questionable tactics. Jury, judges, and developers are swayed by common sense. People like me can be swayed to testify one way or another based on whether we feel cheated. What Microsoft / github / Open AI did here wasn't very reasonable, friendly, or sensible. TL;DR: I support the concept of co-pilot in essence. The specifics here feel illegal and sleazy.
- jazzyjackson 4y ago> They took my stuff I was about to admonish you for phrasing it this way when we all uploaded code willingly to github, giving up certain rights according to the ToS, but then I remembered microsoft straight up bought all of github, so "took my stuff" is pretty accurate. I would be interested to see a diff of the ToS since the purchase.
- 2Gkashmiri 4y agowhy isnt copilot being trained on microsoft source code?
- moralestapia 4y agoBecause the 'snippets' would then be several pages long. /joke
- Engineering-MD 4y agoThis would make a great argument in court if this ever is legally challenged. The only real argument would be because it could lead to lost income for Microsoft. In the UK, derived works which can be shown to harm the original work’s economic viability are much more likely to be seen as an infringement.
- BeefWellington 4y agoHow do we know it hasn't? Has anyone tried taking source from leaked copies of old MS code and tried to get copilot to reproduce it?
- moralestapia 4y agoThat's a strawman. If you learn to write novels by reading other authors, is that a crime? No. If you reproduce their work, sometimes word by word, yes.
- adra 4y agoTake your example, but make it more to the point. I hire an anonymous ghost writer to produce for me a novel based on some story premise that I made up. This ghost writer decided to use a bunch of copyright protected sections in their draft because reasons. I think the ghost writer isn't committing copyright violations, but when I publish the book, I almost certainly am. I'm less worried about MS getting sued for this and approaching 100% expecting that users are opening themselves up to legal exposure. I can't see any legal department saying go ahead with using copilot code, but by all means ask.
- chii 4y ago> a bunch of copyright protected sections in their draft it depends on what this "bunch" means. It's not clear cut at what granular level does the copyrighted parts become so small, and sources so many, that the new works is considered transformative.
- indymike 4y ago> i'm not buying the argument that copilot is infringing copyright I wrote some code. Released it under the GPL, and my only expectation is that if you use my code in your product you make source available to users (and GPL does require you tell the user how to get that source code). That on small requirement, the one thing that I'm asking you to do if you want to use my code, is not being respected by Copilot. It recommends my code, and obfuscates it, and does not tell the user where it was synthesized from, nor provides a way to get to the original source. From a certain point of view, Codepilot could be seen as a willful infringement machine. It will be interesting to see how this gets sorted out.
- dkersten 4y agoIt has been shown to have reproduced code verbatim, including comments. If that code falls under a license that has requirements or restrictions, you are infringing. The problem is, how do you know when this is occurring or when copilot spliced many things together to create something sufficiently new?
- BeefWellington 4y ago> If that code falls under a license that has requirements or restrictions, you are infringing. I think the interesting legal question here will be, are *you* (the user of the service) infringing, or is *copilot*? I suspect Copilot's legal team has already worked license terms such that they're passing the buck onto you.
- dkersten 4y agoThat’s a good question.
- chii 4y ago> I suspect Copilot's legal team has already worked license terms such that they're passing the buck onto you. it would seem reasonable that copilot should not be liable for anything that a user instructs it to do.
- zvr 4y agoYou are correct. Copilot is a tool, much like the "copy" command. If you choose to use what it's suggesting, then the fault is completely yours.
- jazzyjackson 4y agothe part that I haven't seen decided yet is, how much do I have to copy before it's infringement? maybe my co-pilot reproduces code verbatim from your GPL'd project because you and a dozen other developers all copied the same solution from stack overflow.
- dkersten 4y ago
- CameronNemo 4y agoIf I spent hours looking at the Linux kernel source, then wrote a kernel that had a lot of the same ideas and idioms, that would indeed be considered infringement. Some open source developers are not allowed by their employers to read source code with a different license for fear of infringement.
- legalcorrection 4y agoIndependent recreation of the allegedly infringing work is an absolute defense. If you were to write all those ideas and idioms down and pass them to someone who had not seen the Linux source code, who then used it to reimplement similar functionality, neither of you would probably be guilty of copyright infringement. (there are still patents of course). https://en.m.wikipedia.org/wiki/Clean_room_design https://en.m.wikipedia.org/wiki/Clean_room_design Copyright doesn’t protect programming idioms and concepts. It protects against verbatim copying, more or less. It all comes down to how you characterize what Copilot does. We will just have to wait for new caselaw or even legislation that accounts for autonomous systems in defining legal wrongdoing.
- BeefWellington 4y ago> If you were to write all those ideas and idioms down and pass them to someone who had not seen the Linux source code, who then used it to reimplement similar functionality, neither of you would probably be guilty of copyright infringement. (there are still patents of course). https://en.m.wikipedia.org/wiki/Clean_room_design https://en.m.wikipedia.org/wiki/Clean_room_design This response doesn't relate to the example provided by CameronNemo, as it's a different scenario. At any rate, there is no clean room because copilot has "seen" the literal source. It is not comparable to clean room implementation in any fashion.
- jazzyjackson 4y agoa training program reads source code and produces a model the software running the model does not have access to source code as the parent said, it depends how you characterize it, which is why this will be decided by whoever can afford the best lawyers.
- tremon 4y agoI'm not buying the argument that copilot is "learning to program". It's doing nothing more than rote memorization and recall.
- GoblinSlayer 4y agoSome cultures unironically use this approach to educate humans.
- msbarnett 4y ago"Some cultures use rote memorization to educate humans" != "anything educated via rote memorization necessarily has developed a human-equivalent understanding of the material"
- StewardMcOy 4y agoIANAL, but my understanding is that this is not clear-cut. Clean room implementations aren't strictly required by law, but the legal standard is how similar the new work is to the copyrighted work. If an employee reads open source code and then writes substantially similar code, as copilot sometimes does, that could be found to be infringement by a court. For this reason, I've worked at places that forbid employees even reading open-source code. If we were having difficulty with an open-soruce component to the point where we needed to look at the code, we'd hire a contractor, explain the problem, and then they'd explain a solution, and all the communications would go through a company lawyer.
- dcdc123 4y agoDid you know that the first of the two configuration options for Copilot is an option to allow or disallow it to suggest samples that match public code? https://imgur.com/D2DDuY8 https://imgur.com/D2DDuY8
- wzdd 4y agoIt looks like that filter does an exact comparison ignoring whitespace. To be more effective it would need to ignore things like variable renames and trivial transformations (for(;;) becoming while(true) or whatever). In other words we're getting into cheat-detection software territory, which sounds difficult to get right in general.
- deleted 4y ago[deleted]
- chrismorgan 4y agoI did not. That is a curious option to place, given how it would seem to weaken the fair use argument (since they’re providing a way of consciously allowing probable copyright infringement, rather than just treating the issue as inherent in the nature of learning, or a temporary bug that they’re steadily fixing). But still, to defend my earlier parenthetical claim that Copilot can’t tell whether it’s reproducing copyrightable chunks of code: this option is consistent with what I intended to convey in the paragraph as a whole, since they are developing extra bits around the edges to mitigate the issue, but it’s not possible for them to do it completely—it’s more like a game of whack-a-mole, fixing this class of undesirable reproduction here, that instance there, without causing too much damage to the perceived-legitimate output.
- deleted 4y ago[deleted]
- FireBeyond 4y ago> since they’re providing a way of consciously allowing probable copyright infringement I think the claim that it's "probable copyright infringement" is nowhere near proven. GitHub likely gave that option to satisfy user's lawyers who might have a higher threshold for "clean room" implementations or "no open source". Not as any kind of implication of copyright infringement. Fair use works as an argument to the usability of Copilot. Derivative works, per US Copyright law, are not infringement, either.
- toteno 4y ago> Copilot is completely depending on the legal theory of being effectively exempt from copyright, under fair use doctrine; if that legal theory falls apart, the entire space (and a lot of other machine learning stuff) is utterly doomed. That's really depends on the country. For example Japan has a law[0] that's allows usage of any copyrighted materials for machine learning and other data analysis. You can also do it for commercial purposes. There are some limitations (you can't share the dataset itself, but you can share the model), but overall it sounds good. [0] https://storialaw.jp/en/service/bigdata/bigdata-12 https://storialaw.jp/en/service/bigdata/bigdata-12
- gls2ro 4y agoIANAL but as far as I see it the case of copilot could be described as an ML that will output sometimes parts of the training dataset itself.
- janetacarr 4y agoThe GPL license prohibits building a competitive solution from the licensed software, and 'derivative works' also require the GPL license. So I think it is relevant here because there's a gray area around whether or not training a model is like linking to a GPL licensed software(not derivative with caveats) or deriving from one. By the way, Free and Open-source software licenses are not public domain (or 'public-domain-equivalent'), The copyright holder of the software licenses it to whomever, but the holder still retains their copyright.
- jakear 4y ago> ‘derivative works’ require the GPL license This keeps coming up, but if you look at the text of the GPL the word ‘derivative’ literally never appears. GPL in fact explicitly exempts code that is accessed over a web service from needing to be shared, as is the case with copilot.
- blihp 4y agoDerivative works don't need to be referenced in the GPL as it's a concept from copyright law. See https://en.wikipedia.org/wiki/Derivative_work https://en.wikipedia.org/wiki/Derivative_work
- jakear 4y agoThat just further supports the claim that copilot is in the clear - it is clearly a separate work with many underlying works. Of course the code copilot generates may violate GPL, but that’s up to the tool’s wielder to determine. Just as it is when searching for code on the internet, consulting books, recalling past knowledge, etc. I don’t even use copilot (I had early access and discovered programming languages are better for unambiguous encoding logic than English, go figure). I’m just sick of all these supposed craftsmen blaming their tools rather than holding themselves accountable for what they commit.
- blihp 4y agoCopyright law doesn't work that way. I'd bet this is going to be litigated to a final decision before anyone can say with certainty if/when a NN is violating copyright (i.e. via the training data) or not.
- belorn 4y agoGitHub want to treat GPL as special in this case. They choose to not use proprietary code for training copilot, for the obvious reasons of getting sued by companies that uses github, and instead put a bet that using GPL and other FLOSS licenses won't cost them more than what they earn by developing copilot. Copilot is thus completely depending on this economical bet. It for those reasons why we could not write a "Cosinger" or Comusician" that is trained on music found on youtube. It would be sued into oblivion the first time any 2-3 notes could be linked to a specific copyrighted song. If copilot survive long term we might see a similar project trained on creative common music, including CC-NC no-derivs, but music labels might own a few of those and their guns would be quite large.