6 ms·
It's a tricky question surely, akin to the Ship of Theseus? At what point is the code sufficiently different? Is there legal precedent for this?
by tebbers 4y ago
It's a tricky question surely, akin to the Ship of Theseus? At what point is the code sufficiently different? Is there legal precedent for this?
- arrosenberg 4y agoGoogle v Oracle
- escapecharacter 4y agoI actually would have loved if there was a real greek legal case for this, like we could just say "Lycurgus vs. Theseus" and it actually meant something.
- simiones 4y agoThat's not what Google v Oracle was about. That case was about whether the API of a piece of code (in this case, the API of most of the Java standard library) is copyrightable as a whole, without the implementation; and subsequently, even if they are copyrightable, whether a new implementation of that API would be fair use. In the end the conclusion from the SC was that Google's use was fair use regardless of the question of copyrightability, which they didn't decide on (the previous court, at Oracle's appeal, had found that APIs are in fact copyrightable and that Google's use did not fall under fair use of that copyrighted API as they weren't 100% compatible with other JVMs).
- beardyw 4y agoIIRC Google were scrupulous about ensuring there was no possiblity that the implementation might be derived from the original.
- arrosenberg 4y agoIs there a more relevant case you can cite? I’m fully aware of the differences, but its still relevant case law on how the US legal system would approach a case on this issue.
- naillo 4y agoI agree it's tricky. I think it should be put to the same standards as we would if e.g. some game source code was leaked onto github and some guy decided to just rename all the variables changed the whitespace. If that guy did it most people and the courts would probably agree that he can't just sell that modified piece of code as 'halo leaked edition'. But currently if copilot performs the same action it seems the authors are arguing he should.
- alexcosan 4y agoI believe that's a bit of a strawman comparison. Not taking any sides, but in your example, the resulting system would be the same - artwork aside - you would end up with the same set of algorithms put together to create the exact same game. Copilot, as far as I know, tend to be used to generate snippets and small algorithms that, by themselves, are not a full system/product/game. There still may be some merit to your argument, but I believe the opposite side should be a bit steelman'ed beforehand.
- xbfjvusb6 4y agoMy license isn't "you can take a bit but not the whole bit".
- alexcosan 4y agoI did not argue against that, I was talking about the argument. I don't think it's a straight comparison or even one that holds water. I don't think the parent comment mentioned licenses at all. I clearly mentioned that you can make an argument claiming that it's not ok to copy a snippet - I just don't think the argument to absurdity I replied to, in this case, is the best or most appropriate one.
- xbfjvusb6 4y agoYou're right. It's a few orders of magnitude worse than that. It's not just one snippet, it's thousands of them, every day being slurped up and copied across code bases everywhere license free. If the pirate bay can get jail time for facilitating mass copyright infringement, maybe Microsoft needs a little jail time too. It's been said in this thread already: Either licenses matter or they don't. Pick one.
- gw99 4y agoThat depends only on who has the most expensive lawyers. One thing in life is never to get into a position where you need to defend yourself against this scenario which is why I would never even consider using the tool.
- old_man3 4y ago
- mkr-hn 4y agoI wonder what the discussions with the lawyers are like at companies who want to use it. Are they all advising to avoid it and let someone else be the test case?
- gw99 4y agoWell actually on that we asked. They advised us not to use it now or in the future regardless of any outcome because at any point of litigation it muddies the water on what is clean-room innovation and what is not. While a change might be defined by copilot, it is not possible or practical to record any causal data or attribution with the change. It's arguably better to have any plagiarism issues directly attributed to a corporeal engineer where the audit trail can be made and scope identified. The outcome is that introducing the tool actually tangibly increases business risk in a changing climate.
- saghm 4y agoThe legality doesn't have to be based solely on the end result; the process used to create the code can make a difference. If you literally copied the code and then changed things, that's potentially going to affect whether it's allowed even if none of the original code is left over. (Of course, proving that the code was copied is another matter, and IANAL and all that)
- mdasen 4y agoThis feels like the right answer to me. One of the things that is done is clean-room design (https://en.wikipedia.org/wiki/Clean_room_design https://en.wikipedia.org/wiki/Clean_room_design). You don't want to take code and then just start renaming variables. For example, when Google reimplemented Java for Android, they didn't copy the OpenJDK code. They just wrote their own code that fulfilled what the methods did. If they'd taken the OpenJDK code and just renamed a variable or two in each method, I think Oracle would have had a very strong case. With Copilot, if it's generating code that is a near-identical copy, that's kinda just copy-paste with extra steps. Let's say that I create a dumb copilot. This will just look at a method signature and fill out the body if it finds an exact match in its database - there's no AI/ML involved. I "train" it on the OpenJDK source - meaning I create a hash of method signature -> method body. I then start writing Java method signatures and it fills in the bodies with the body it "learned" would be good for that method signature. I think one of the things to always think about is "if the AI were dumber, would it just be copy-pasting?" If the stable diffusion were just taking a copyrighted photo and applying an instagram filter to it, that would be copyright infringement. If I ask for "Robert Downey Jr in a suit" and it gives me back a Getty Images photo run through a filter, that doesn't seem ok to use. If it is truly generating something new and unique from its training dataset, that does seem ok (to me, IANAL). The problem is that Github Copilot seems to be generating things that are almost identical. In some ways, it seems like they should modify Copilot to catch things that are substantially the same as their training dataset, but that might be difficult. But I think the process used to create it makes a difference. Copyright doesn't protect against independent creation. If two people independently write the same code, that's ok. However, Copilot isn't independently creating code if it's recreating code that's in its training set.