> When the tool is working as intended the output will bear a resemblance to many different inputs within the same problem domain and will not be identifiable as a copy of any particular source.
You would have a great argument, and I would actually not be so mad at GitHub, if they had only trained Copilot on such boilerplate/non-copyrightable code. However, they trained it on all of the code in all of the public repositories. That's why we see:
> ...there have been certain notable exceptions where the training was over-fitted and a particularly unique prompt resulted in the ML system regurgitating an identifiable input text mostly unchanged...
The fact that this happens is a sign that GitHub did not train it only on boilerplate; they trained it on truly creative stuff. And they expect people to believe that the output is not under copyright. The gall blows my mind.
But even if it were to take the most repeated pieces of code and only synthesize stuff from that. Would that solve the problem?
Not really because some of the best (i.e., most creative) code is forked the most, meaning that Copilot saw some of the best code over and over.
Here's an experiment you can do (if you have access to Copilot): Start a new C source file, and in a comment at the top, say something like:
// A Robin Hood open addressed map.
map_item(
And see what it gives you. I would bet that it will suggest something close to [1], which is my code. (Ignore the license header; the code is actually under the Yzena Network License [2].) Notice that there is no "ymap_item()" function in my code, so this would not be triggering Copilot's overfitting.
The reason I think so is that Copilot doesn't just suggest one line at a time, which if it did, an argument could be made for boilerplate. Instead, it suggests whole sections of code. A good percentage of the time, even maybe a majority of the time, that is not boilerplate.
[1]: https://git.yzena.com/Yzena/Yc/src/branch/master/src/map/map...
[2]: https://yzena.com/yzena-network-license/