4 ms·
It's not possible to get copilot to output a transformed version of the input?
by tedunangst 5y ago
It's not possible to get copilot to output a transformed version of the input?
- shakna 5y agoTransformed output _may_ fall under fair use. However - Copilot directly recites code. That is _very unlikely_ to fall under fair use. Redistributing the exact same code, in the same form, for the same purpose, probably means that Copilot, and thus the people responsible for it, are infringing.
- nonfamous 5y ago> However - Copilot directly recites code. You make that statement as an absolute, but in the interests of clarity, all evidence so far shows that it directly recites code very rarely indeed. Even the Quake example had to be prompted by the specific variable names used in the original code. In practice, the output code is heavily influenced by your own context — the comments you include, the variable names you use, even the name of the file you are editing — and with use it’s obvious that the code is almost certainly not a direct recitation of any existing code.
- shakna 5y ago> all evidence so far shows that it directly recites code very rarely indeed. _Once_ is enough for it to be infringing. The law is not very forgiving when you try and handwave it away.
- mthoms 5y agoYou sound quite sure that the outlying instances of direct copying wouldn't be covered by the Fair Use copyright exemption. Any particular reason for that? I tend to think it would be covered (provided it there were relatively small snippets and not entire functions).
- jkaplowitz 5y agoI'm not the person you're replying to, but one strong reason is that the global reach and standardization of copyright law is far broader than the global reach and standardization of the fair use exception. A single non-US country in which GitHub Copilot is used in a way that would be infringing without the US fair use exception, and outside the scope of any such exception in that law, would be enough to cause GitHub/MS a legal hassle. There could well be more than one such country.
- mthoms 5y agoOh, absolutely. I'm not American, but like others around here — I was just restricting the discussion to American law for simplicity's sake.
- jkaplowitz 5y agoFair, but GitHub/MS (same company now) can't afford to ignore other countries' law in their internal evaluations of whether globally* available products like Copilot are legal. * Minus a few countries/regions targeted by US sanctions, I assume, though they've gradually broadened their services in sanctioned countries with the necessary licenses from OFAC.
- shakna 5y agoPrecedent. Google v. Oracle found 9 lines, of an "obvious" implementation to be infringing.
- mthoms 5y agoRight, but would 3-4 lines in the middle of a 50 line function also be infringing? What about 2 lines? I don't know the answer. I was only surprised that the commenter seemed dead sure that any and all copying (no matter how small) would be infringing. That just doesn't correlate with my understanding of how Fair Use works: The "amount" of the infringement is one (of several) factors in determining if something falls under Fair Use: >The third factor assesses the amount and substantiality of the copyrighted work that has been used. In general, the less that is used in relation to the whole, the more likely the use will be considered fair. From https://en.wikipedia.org/wiki/Fair_use https://en.wikipedia.org/wiki/Fair_use
- svaha1728 5y agoSo if a foreign company pilfers the source code to Windows, can they add it to a training set and then 'prompt' the machine learning algorithm to spit out a new 'copyright free' Windows, just by transforming the variable names?
- rkeene2 5y agoI think that's my question regarding this whole thing: If it's so fair use, why not train it on all Microsoft code, regardless of license (in addition to GitHub.com) ? Would Microsoft employees be fine with Copilot re-creating "from memory" portions of Windows to use in WINE ?
- nonfamous 5y agoWell no, because only GitHub has access to the training set. But more importantly this misunderstands how Copilot even works -- even if Windows was in the training set, you couldn't get Copilot to reproduce it. It only generates a few lines of code at a time, and even then it's almost certainly entirely novel code. Now, if you knew the code you wanted Copilot to generate you could certainly type it character by character and you might save yourself a few keystrokes with the TAB key, but it's going to be much MUCH easier to simply copy the whole codebase as files, and now you're right back where you started.
- svaha1728 5y agoGPT-3 is still Microsoft licensed, but a similar model can be put together with the freely available GPT-2 and source code -- especially if your intent is copyright transfer. As Francois Chollet points out in this talk, ultimately deep neural network models are locally sensitive hash tables, so the examples of people pulling out source code is an inherent shortcoming of deep learning models in general. Give the right 'key' and you can 'recall' the value you are looking for. https://www.youtube.com/watch?v=J0p_thJJnoo https://www.youtube.com/watch?v=J0p_thJJnoo
- ThrowawayR2 5y ago> "However - Copilot directly recites code." Sounds like that wouldn't be difficult to fix? Transform the code to an intermediate representation (https://en.wikipedia.org/wiki/Intermediate_representation https://en.wikipedia.org/wiki/Intermediate_representation) as a pre-processing stage, which ditches any non-essential structure of the code and eliminates comments, variable names, etc., before running the learning algorithms on it. Et voila, much like a human learning something and reimplementing it, only essential code is generated without any possibility of accidentally regurgitating verbatim snippets of the source data.
- salawat 5y agoAt that point, can we all just agree IP is the stupidest concept to ever be layered on top of math (which programming is) and move on with non-copyrightable code?
- jcheng 5y agoOnly if you agree that copyleft licenses are also stupid; without copyright, there's no way to prevent companies from making closed-source forks of code you wrote and intended to stay open.
- oefnak 5y agoYes, sure. Without copyright there's no need for copyleft left, right?
- jcheng 5y agoNo...? Not unless that closed-source project's source code is leaked?
- BlueTemplar 5y agoYou don't care about attribution and other moral rights ? (I guess these are going to depend a LOT on the jurisdiction that you're in ?)