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.
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: copyright, john carmack, non-literal copyright, software, source code, vr
Companies: facebook, oculus, zenimax
Reader Comments
Subscribe: RSS
View by: Time | Thread
Shades of SCO and Oracle
[ link to this | view in thread ]
Re:
Basically, PERL, Python, and C all use open() to start a file handle. And most people will use descriptive object names, so if you are working in the same field (VR) expect some of the same names for things like depthOfField(), et al. Totally bogus...
[ link to this | view in thread ]
Yes I have the copyright...
Sumbitches need to be paying tha fizzuck up!!!
[ link to this | view in thread ]
Hello Planet!
first so pay up for your "non-literally copied" code!!!!!
[ link to this | view in thread ]
Not so good for the academy
[ link to this | view in thread ]
Abolish Copyright
[ link to this | view in thread ]
Well thats something for Oracle to latch onto
[ link to this | view in thread ]
Re: Abolish Copyright
[ link to this | view in thread ]
[ link to this | view in thread ]
Non-literal is not protected
Software itself is mostly an expression of mathematics however trying to explain that to a layperson or a lawyer is nearly impossible. As such what is even copyrightable when the basis of the language itself forces others to use the same exact expressions.
To leave the results of their BS/handwaving/magic analysis is unacceptable.
My own question regarding this result is what is diminus infringement and how can that be worth $50M?
[ link to this | view in thread ]
[ link to this | view in thread ]
Several cases in the past were shot down, now is their chance
[ link to this | view in thread ]
Non-literal copyright
[ link to this | view in thread ]
Oh come on, it's not that hard to understand.
I mean, you don't have a problem with calling an oligarchy with elections a "representative democracy" either, do you?
Same thing.
[ link to this | view in thread ]
Re:
#define ridi O
[ link to this | view in thread ]
[ link to this | view in thread ]
Re: Oh come on, it's not that hard to understand.
a) Copyright is not supposed to cover underlying ideas, only fixed expressions
b) Copyright is not supposed to cover purely functional choices, only expressive ones
?
[ link to this | view in thread ]
Hero With A Thousand Lawsuits
[ link to this | view in thread ]
Re: Not so good for the academy
[ link to this | view in thread ]
Re:
[ link to this | view in thread ]
poopbutt
[ link to this | view in thread ]
Re:
gaytron
[ link to this | view in thread ]