I for one welcome our new CEO (Copilot Engine Optimization) overlords.
Jokes aside that will likely cause GitHub to be filled with lots of low quality repos (even AI generated, oh the irony!), to trick Copilot into using their code.
Hasn't this already been the case since GitHub became a CV boost.
I think the bigger problem is that it will almost certainly lead to a proliferation of giant snippet spam repositories.
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
And imagine if Microsoft had been able to copyright the fast inverse square function before Carmack sat down to write Quake!
And copyright doesn't prevent someone else from implementing the same algorithm, only from copying the code. If Microsoft had been able to copyright the fast inverse square root function, Carmack could still have written his own version and even copyrighted that version himself.
Here’s an example: https://scholar.google.com/scholar_case?case=728470765881077...
It seems particularly apt to consider prior art for use in software IP if only for the similarities with the patentable invention of mechanical parts.
——
Considering de novo the evidence before the district court, we hold that the district court did not err in granting summary judgment. Johannsongs failed to offer admissible evidence to rebut Ferrara's analysis, so there is no genuine dispute of material fact as to his conclusions that Söknuður and You Raise Me Up are not substantially similar and most of their similarities are attributable to prior art. Based on these conclusions, Johannsongs has failed to satisfy the extrinsic test and Defendants are entitled to judgment as a matter of law.
Or something else ?
Or they should do opt in.
<ducks>
IMO, the only way to use Copilot's output in an ethically sound way is to only use the output it produces in AGPL licensed projects (assuming that Copilot has not been trained on any non-free software codebases which in itself is a strong assumption).
Even then, that is missing attribution which should really be the default for all code reuse and derivation even when you legally are allowed to omit it.
Also without attribution. The more permissive licenses allow corporations to profit from shared code, but most of them still require attribution.
And it's really not much to ask: when someone gives you free code, give them credit for their work.
I don’t buy that producing/synthesizing code snippets based off public repos is a problem.
There’s nothing proprietary or original about eg. the syntax of a for-loop, or the boilerplate of setting up some JS framework MVC.
Besides, it’s basically just a (semantic and contextual) search engine inlined within the IDE. Copyright infringement hasn’t taken place until the user activated the autocompletion and actually placed the code within their own and released their code containing the infringing code.
Of course there is something proprietary or original about that. Why else would they need such an enormous AI to suggest it. Auto completing simple boilerplate was already solved in a much simpler way.
> Copyright infringement hasn’t taken place until the user activated the autocompletion and actually placed the code within their own and released their code containing the infringing code.
Copyright infringement takes place as soon as some company publishes/sells material without explicit license or permission. So not the moment the users hits accept, but the moment just before that: when the tool shows it to the user.
After all, if showing a search result in the IDE is “publishing” (let alone “selling” (?)) why hasn’t Google been sued out of existence for showing search results (oops, “publishing” copies of original work, billions of times over), as well as selling related advertising?
https://en.wikipedia.org/wiki/Fair_use
> Examples of fair use in United States copyright law include commentary, search engines, criticism, parody, news reporting, research, and scholarship.
In some jurisdictions, it is. And in other jurisdictions, it is only allowed as long as it shows a link to the source page, which Copilot also doesn't do.
The argument may make sense if they limited themselves to public-domain (CC0) works, but that is not what happened here. If CoPilot attributed something to an AGPL project, does it mean the "virality" applies to all projects that use code from CoPilot?
If that works, then I can't wait for that to be a boon for Wine and ReactOS: "Microsoft itself provided this code and allowed us to use it, so therefore it's totally legal. Neener neener."
A repo setting that instructs Github not to use your code for Copilot, it could be a similar option as turning Discussions on / off.
If they really want to win developers over they would even have Copilot scanning disabled by default but that'll never happen.
"Now in Preview – Amazon CodeWhisperer"
https://aws.amazon.com/blogs/aws/now-in-preview-amazon-codew...
They may be morally in the wrong, but I'm unsure they are legally in the wrong here. To boot, denying them the right to create this tool in your license is technically a violation of OSS principles and problematic
[1]: https://docs.github.com/en/site-policy/github-terms/github-t...
Wouldn't this be a violation?
Being a top CoPilot contributor should at least have value to signal on your resume.
I don't think there is a way to opt out if it is a public repo regardless of license, and Microsoft's copyright theory suggests that they wouldn't feel obligate to enxclude any code they got their hands on except under a specific NDA preventing such use; the use of public GitHub repos isn't based on legal constraints but practical convenience.
If you read free code yourself it’s fine, but if a machine does it for you it’s not? We overvalue humans.
No, it's not fine. Apparently, you missed SCO & Oracle vs. Google cases. Both of these cases argued that somebody looked to the code, and copied it. In SCO case it was not true, but the argument stretched the timeline rather successfully. In Oracle vs. Google, copying function signatures opened a big can of worms.
So, just by copying the function signature without filling it the very same code with the original, even for interoperability, you're getting into a huge gray area in a legal sense.
Similarly, no sane Wine developer will read leaked Microsoft source code, yet alone copy it. Again, no sane emulator developer will read leaked Nintendo code.
Reading the code "colors" your creativity, and if you're tried at court and enough similarity is found in your code with the leaked code, it's game over.
So, reading code and copying is not guaranteed to be legal, depending on its license. When this is done by a robot, it's still illegal (you're breaching licenses during the code generation process), and immoral and unethical on top of it.
So, we don't overvalue humans, but overvalue AI, which is just informed search, BTW.
On the other hand, this is irrelevant to the issue at hand.
GitHub copilot is not a tool for education. It's tool for auto-completing code, which can be put to production, where licenses and other stuff come into play.
The issue is not code sharing per se. It's more of a legal problem, and an important one at that. In the software copyright sense, even reading code you can't import to a project (let it be leaked, not compatibly licensed or for any reason), puts you at risk of legal troubles. This is why we have methodologies like "clean room development".
In Copilot's case, you're possibly deriving a code from a source which contains many licenses, and some of them are not compatible with that you're doing. As a result, you're in direct breach of the license which is not compatible with your code.
On a more higher level, you're also breaching the ethics code and morality by using a code or its derivation with an incompatible license to your code, and disregarding other peoples desires codified as a case-tested and valid license.
As a result, if you think that using a derivative of a GPL licensed code in your closed source application is OK on every front, then the vice versa is true. I can disassemble and reverse every part of your code and re-implement it as GPL bug for bug and open it.
Because if you can breach my license, and expect no consequences, I can breach your license without consequences, as well. It's a two way street.
It feels morally wrong to me that I can spend thousands of hours working on projects on my own free will but then a company can sell the code I wrote to others in the form of snippet completion as a service. In fact they end up selling your code back to yourself if you plan to use the service.
If the answer is no, that moves the needle pretty far in the direction where I'd at least consider the idea of moving all of my repos to Gitlab. I don't care much about stars or popularity. I open source things that are interesting and useful to me and if other folks want to use it they can but I don't gain motivation from others using the projects I release. I like Github and its UI and it's no doubt "the spot" for open source but selling code written by others rubs me the wrong way a lot. It stinks because it also means no longer contributing to other code bases too. It's moving us in the opposite direction of what open source is about.