Skip to main content

Carmack Takes Exception To ZeniMax Expert Witness' 'Absolute Certainty'

John Carmack, the famed software developer who is credited with creating the first 3D game engine and is currently Oculus' Chief Technical Officer, voiced his opinions of the recent ZeniMax verses Oculus lawsuit in a public Facebook post. The Oculus executive accused the plaintiff of “misdirection, and selective omissions” and said that ZeniMax's expert witness' choice of language was unscientific.

During the trial, ZeniMax's expert witness declared that Oculus used “non-literally copied” source code that Carmack wrote while working for id Software. Carmack contends that the statement is untrue.

“The authors at Oculus never had access to the Id C++ VR code, only a tiny bit of plaintext shader code from the demo,” wrote Carmack. “I was genuinely interested in hearing how the paid expert would spin a web of code DNA between completely unrelated codebases.”

Carmack doesn't deny that he took code from id Software when he left the company. The developer admitted on the stand that he took a hard drive full of files and source code, but he maintains that those works were not the basis of Oculus’s software. Carmack said he took exception to the witness’s steadfast certainty and lamented not having the chance to challenge the witness’s testimony. Had the witness used other language, Carmack said he believes it would have fit the narrative, but he is “offended that a distinguished academic” would come to such hard conclusions. “That isn’t the language of scientific inquiry,” he said.

“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,’" said Carmack. "After he had said he was ‘Absolutely certain there was non-literal copying’ in several cases, I just wanted to shout ‘You lie!’”

Carmack went on to say that “the notion of non-literal copying is probably delicious to many lawyers” because “just about everything is related” when a “sufficient application of abstraction and filtering” is present. That is to say, he believes the phrase “non-literal copying” is vague enough to spin the narrative.

Carmack isn’t keen about the analogy that ZeniMax’s expert used to explain the copyright infringement claim to the jury, either. The code infringement was likened to someone taking Harry Potter and changing the character names, which would be an infringement. Carmack argued that software copyright doesn’t work the same way, though, because copyright “does not apply to concepts or algorithms.” He also argued that “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,” which wouldn’t copyright infringements.

Carmack is also displeased about being restricted from reading the expert's “several-hundred-pagereport.” The developer said he was permitted to listen only to the expert's testimony; the document, as well as the testimony, are sealed from the public record.

“This is surely intentional,” said Carmack. “If the code examples were released publicly, the internet would have viciously mocked the analysis.”

  • shrapnel_indie
    What Carmack says has its merit. Unfortunately, none of us are privy to the details of the case, and all we can do is speculate.

    The concept of “non-literal copying” sounds like lawyer speak for "we're butt-hurt because they got the same functionality" regardless of the fact it didn't use the same code... If this case supports that conclusion... beware... innovation and creativity will be locked down tighter than Fort Knox, placing it squarely in the hands of big money media/software conglomerates.
    Reply
  • Yuka
    What I can gather from the term "non-literal copy" is that you don't make a carbon copy of the code, but take the base assumptions and concepts for creating such a piece (functional) into your new code set.

    In Project Management terms (or making a parallel through it): you copy the specific requirements and functional spec, but the code looks different while delivering the same end results.

    Now, that is what I interpret and in no way, shape or form I'll go against Mr. Carmacks word, lol.

    Cheers!
    Reply
  • Tylanner1
    "no country for old men" applies here.

    I'd love to see how the case is settled when they must distinguish non-literal copying between two massively complex datasets.

    This is why talent...the humans and knowledge (Carmack) is so valued by large tech companies...why sign up for a full acquisition when Carmack and an array of coders is nearly as good.
    Reply
  • derekullo
    Sort of like:

    Caveman 1: "We have discovered a way to make an object that aides in carrying deer back to the hut."

    Caveman 2: "We just patented the cart. Since the result is the same you must have copied our design. You now owe us 100 deer."
    Reply
  • bit_user
    I'm surprised they made this stick. Copyright protects the literal text. So, non-literal copyright infringement is not only an oxymoron, but something that shouldn't hold up in court.

    Plus, I've written code, then forgot about it, and rewritten almost the identical function, years later. So, if the same person is doing a similar thing, then it's only natural to expect a similar result.

    Lastly, I'm pretty surprised he wasn't able to read the analysis. Wasn't he a defendant? Or, is it because he wasn't a defendant that he wasn't allowed to see the evidence?

    It smells to me like FB's lawyers missed some opportunities, here. Like, not bringing their own expert witness on source code analysis.
    Reply
  • tsnor
    "..Carmack doesn't deny that he took code from id Software when he left the company. The developer admitted on the stand that he took a hard drive full of files and source code, but ..." Why would anyone do this? Nothing good can come of stealing code from a former employer even if you do not end up using it for anything.
    Reply
  • tsnor
    The concept of “non-literal copying” .... is probably a necessary one. Anyone can take code and do some edits and reformat so that it looks nothing like the original.

    One approach that has worked in the past in "stolen code" discussions is BUGS. While it is easy to end up with a similar product, explaining why you have the same bugs in the same routines is really hard.

    From wikipedia "Japanese mainframe manufacturers Fujitsu and Hitachi both repeatedly and illegally obtained IBM's MVS source code and internal documentation ..... Even IBM's bugs and documentation misspellings were faithfully copied." https://en.wikipedia.org/wiki/MVS
    Reply
  • bit_user
    19250151 said:
    The concept of “non-literal copying” .... is probably a necessary one. Anyone can take code and do some edits and reformat so that it looks nothing like the original.
    It seems like you should have to establish that it's what he actually did.

    I can see the point of proving that, to a compiler, they look exactly the same. But, copyright clearly does not cover "works like". So, you should have to prove that, at some level, it really was a copy.

    To me, this smells like improper convictions using DNA evidence. Juries are impressed by these things, even when the evidence is misinterpreted to show a conclusion it really doesn't support.

    The same could apply to "source code analysis". Without understanding the methodology used and how it meets the legal standard, it's really just meaningless theater used to make the testimony of the expert witness seem more credible. Not saying it doesn't meet a legal standard, but it sounds like that was never established.
    Reply
  • Yuka
    From what I know, copyright can be attributed to code and processes/methods.

    What you code normally are specific processes. You can decompose them to a functional level, so you can patent those. Remember all that issue ID had with the "Carmack's reverse" algorithm before opening up ID Tech 4? The code represented, almost to the letter, the process of solving a very specific shading (from what I recall) problem, so he had to re-write it taking a different approach. I haven't seen the specific code involved (before and after), but I can imagine their claims might be revolving around the same concepts applied there.

    Cheers!
    Reply
  • bit_user
    19250248 said:
    From what I know, copyright can be attributed to code and processes/methods.
    Copyright does not apply to processes or methods, nor does it apply to the operational principles of code.

    https://en.wikipedia.org/wiki/Copyright#Eligible_works

    Copyright was really intended to prevent selling of unauthorized copies of works - not to protect the ideas behind them. For that, you need to use patents.
    Reply