How Is 'Non-Literally Copying' Code Still Copyright Infringement?
from the form and function dept
Back in 2014, when ZeniMax first claimed that Oculus and its CTO John Carmack had copied the company’s VR technology, we pointed out the obvious: since ZeniMax hadn’t made a peep until the announcement that Facebook was buying Oculus for a cool $2-billion, it was a pretty blatant cash-grab. Now ZeniMax has scored a partial win in its lawsuit against Oculus and its executives, with the jury rejecting claims of trade secret misappropriation but awarding $500 million for copyright and trademark infringement and violation of non-disclosure agreements.
The trade secrets were the most important claim, but Oculus has already vowed to appeal the rest — so the case isn’t over. But the most interesting thing to come out of this verdict is a statement from John Carmack about the expert testimony on “non-literal copying” that was central to some of the copyright claims:
For the most part, the process went as I expected.
The exception was the plaintiff’s expert that said Oculus’s implementations of the techniques at issue were “non-literally copied” from the source code I wrote while at Id Software.
This is just not true. The authors at Oculus never had access to the Id C++ VR code, only a tiny bit of plaintext shader code from the demo. I was genuinely interested in hearing how the paid expert would spin a web of code DNA between completely unrelated codebases.
Early on in his testimony, I wanted to stand up say “Sir! As a man of (computer) science, I challenge you to defend the efficacy of your methodology with data, including false positive and negative rates.” After he had said he was “Absolutely certain there was non-literal copying” in several cases, I just wanted to shout “You lie!”. By the end, after seven cases of “absolutely certain”, I was wondering if gangsters had kidnapped his grandchildren and were holding them for ransom.
If he had said “this supports a determination of”, or dozens of other possible phrases, then it would have fit in with everything else, but I am offended that a distinguished academic would say that his ad-hoc textual analysis makes him “absolutely certain” of anything. That isn’t the language of scientific inquiry.
Now, ZeniMax was quick to hit back with its own statement pointing out that some of the code at issue was literally copied (though the jury seems to have found that little or none of that code was actually used), but this question of “non-literal copying” is far more important. This whole notion of experts doing textual analysis to find recurring patterns is a worrying one: for all the real science behind such methods, it’s not at all hard to see how easily they could be manipulated to support a chosen result, or how difficult it would be to ensure a jury properly understands the arguments and affords them the appropriate weight. Indeed, Carmack goes on to explain how the expert’s presentation was… lacking:
There are objective measures of code similarity that can be quoted, like the edit distance between abstract syntax trees, but here the expert hand identified the abstract steps that the code fragments were performing, made slides that nobody in the courtroom could actually read, filled with colored boxes outlining the purportedly analogous code in each case. In some cases, the abstractions he came up with were longer than the actual code they were supposed to be abstracting.
It was ridiculous. Even without being able to read the code on the slides, you could tell the steps varied widely in operation count, were often split up and in different order, and just looked different.
The following week, our side’s code expert basically just took the same slides their expert produced (the judge had to order them to be turned over) and blew each of them up across several slides so you could actually read them. I had hoped that would have demolished the credibility of the testimony, but I guess I overestimated the impact.
The notion of “non-literal copying” as applied to code is a weird one, and casts a light on how weird code copyright is to begin with. If copyright isn’t supposed to cover functional choices, how can it be infringing to create new code that accomplishes the same function in a slightly different way? Are juries supposed to determine which “non-literally copied” aspects of the code were aesthetic, and which were purely functional? This sort of idea-expression divide question is muddy in the worlds of art and literature, but it should be simple in the world of code: what a program does is not covered by copyright, nor are any purely functional elements of how it achieves that.
But instead, we’ve got experts applying what more or less amounts to literary analysis to computer code, and even using that analogy (to which Carmack has an excellent response):
The notion of non-literal copying is probably delicious to many lawyers, since a sufficient application of abstraction and filtering can show that just about everything is related. There are certainly some cases where it is true, such as when you translate a book into another language, but copyright explicitly does not apply to concepts or algorithms, so you can’t abstract very far from literal copying before comparing. As with many legal questions, there isn’t a bright clear line where you need to stop.
The analogy that the expert gave to the jury was that if someone wrote a book that was basically Harry Potter with the names changed, it would still be copyright infringement. I agree; that is the literary equivalent of changing the variable names when you copy source code. However, if you abstract Harry Potter up a notch or two, you get Campbell’s Hero’s Journey, which also maps well onto Star Wars and hundreds of other stories. These are not copyright infringement.
(Not that plenty of people haven’t tried to sue over books, including Harry Potter, being vaguely similar to their ideas.)
After all this, you might be thinking that you want to go find out more about just what that expert had to say, and get more detail on how he reached his conclusion about copying. Too bad! Even the defendants didn’t get to see the full report, and we get even less:
Notably, I wasn’t allowed to read the full expert report, only listen to him in trial, and even his expert testimony in trial is under seal, rather than in the public record. This is surely intentional — if the code examples were released publicly, the internet would have viciously mocked the analysis. I still have a level of morbid curiosity about the several hundred-page report.
Several hundred pages to “prove” that software was “non-literally copied” because it does the same thing in similar ways, all by abstracting chunks of code into their platonic forms and comparing them? Well, I guess those experts have to earn their paycheques somehow.