News for hackers. Stuff that matters.
Re:GitHub Copi­lot inves­ti­ga­tion by williamcotton on Tuesday October 18, 2022 @06:52AM (#33245415)
> If an AI is ingesting and perfectly reproducing someone else's copyrighted works, it is in violation of copyright law in the same way a human would be if they reproduce someone else's copyrighted works.

"In computer programs, concerns for efficiency may limit the possible ways to achieve a particular function, making a particular expression necessary to achieving the idea. In this case, the expression is not protected by copyright."

https://en.wikipedia.org/wiki/Abstraction-Filtration-Compari...

Consider the impact on innovation if Microsoft or Oracle were allowed to claim a copyright over utilitarian aspects of their works such as the Java or Windows API!

BTW, Copilot seems to be reproducing copyrightable material when the tool reproduces comments verbatim!

Re:GitHub Copi­lot inves­ti­ga­tion by paphillips on Tuesday October 18, 2022 @09:51AM (#33247121)
In my opinion this is a key comment in this thread and everyone subject to United States law should read the Abstraction Filtration Comparison (AFC) legal test when refining their opinion. Also, I have no legal background, but as far as I know patent law != copyright law.

Specifically within AFC, note the "idea/expression dichotomy" [1] which clearly states:

"copyright law protects an author's expression, but not the idea behind that expression"

Thus, if this tools spits out someone else's code verbatim it is a definite copyright infringement. If it outputs code that is similar but not verbatim then it "could" be an infringement, at your own risk, and to be determined by the courts. Simply expressing the same idea in a different way is not a definite infringement.

Program code is naturally copyright-risky because the keyword/grammar space is constrained. It is far more difficult to accidentally duplicate verbatim the expression of one's ideas in a full language, such as English, than in C. And what of two separate programs (or constituent sub-parts such as functions) that by chance emit the same compiled binary?

Personally, for now I won't use this tool due to the risk of accidental plagiarism, and because it is a black box: I can't examine any lineage or attribution metadata to understand the source(s) of what I would then be incorporating into my own body of work. Of course I doubt I could get that type of traceability information for any other trained ML model I might use, so perhaps I need to re-examine my policies heading into the future.

[1] https://en.wikipedia.org/wiki/Idea%E2%80%93expression_distin...

Re:GitHub Copi­lot inves­ti­ga­tion by williamcotton on Tuesday October 18, 2022 @10:48AM (#33248065)
> Thus, if this tools spits out someone else's code verbatim it is a definite copyright infringement.

That is not true. It can be verbatim and not a copyright violation if it can be shown that the expression in question is strictly utilitarian! I literally provided a quote from that AFC article that says this!

There's even precedent that prior art nullifies a copyright claim, as seen in Johannsongs-Publishing, Ltd. v. Rolf Lovland:

"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."

And this was about music, not software, which has always sat uncomfortably between utility and expression, if only because it is some kind of writing. No one is claiming copyrights over Photoshop filter settings or other inputs manipulated by sliders or buttons!

Re:GitHub Copi­lot inves­ti­ga­tion by williamcotton on Tuesday October 18, 2022 @12:15PM (#33249695)
As for why we should allow verbatim copies of utilitarian features...

First, let's preface this with the substantial similarity of the structure, sequence and organization as established in Whelan v. Jaslow which amongst other things says that you cannot merely change the variable names if the expressive structure of the code remains the same.

Now let's imagine 10,000 software developers who all implement Dijkstra's algorithm in C and then run it through clang-format. Aside from variable names, isn't it safe to assume that many of the implementations are going to be exactly the same?

Re:GitHub Copi­lot inves­ti­ga­tion by autoexec on Tuesday October 18, 2022 @07:42PM (#33255587)
> It can be verbatim and not a copyright violation if it can be shown that the expression in question is strictly utilitarian!

So if it's identical it might or might not be a copyright violation and even if is totally different it still might or might not be a copyright violation... and only after spending insane amounts of time and money in the court system can you ever be sure if what you (or your AI) created has made you a criminal. This is increasingly sounding like a very very broken system.

Re:GitHub Copi­lot inves­ti­ga­tion by paphillips on Tuesday October 18, 2022 @09:56PM (#33256499)
Good point - the wording I chose should have qualified the scope in that first statement: how about something like "as the scope that is reproduced verbatim increases, the likelihood of infringement approaches 100%?" (excluding prior art, public domain, etc). Obviously no one could reasonably claim copyright on a variable declaration - the scope is too small, and in some languages there is only one way to express it.

However, the statement was only for cases of verbatim copies produced by Copilot. The AFC Wikipedia article states that "Proving copyright infringement requires proving both ownership of the copyright and that copying took place." The 3 detailed tests developed in that case appear to be "expand" the determination of infringement to close potential loopholes where, while there is not a verbatim copy, infringement is still deemed to have occurred because of "substantial similarity". e.g. someone copies a program but changes the variable names.

So where is the line between infringement and not, in cases where there is an exact copy of a code fragment? Can we still use the utilitarian defense or is that only used by the court to exclude portions of the code in the tests for "substantial similarity"?

Re:GitHub Copi­lot inves­ti­ga­tion by williamcotton on Thursday October 20, 2022 @07:55AM (#33273302)
Personally I use common sense to determine if something is utilitarian in nature. The real issue is with the “overall shape”, like, class structure, specific data types, etc, which is somewhat arbitrary in nature.

At this point Copilot is awful at this higher-order level of abstraction but I can see a time where this is not the case!

Microsoft will have to put more work into filtering out responses that are indeed copyright violations if they want people to use their tools.

I doubt that MS will ever be held liable for the violations themselves as there is precedent in themselves and their legal department has plenty of cash to burn.