Two tech titans are duking it out in a courtroom battle that involves an oft-misunderstood technology and billions are on the line—but I don't want to talk about those things. I want to talk about a filing cabinet.
Two tech titans are duking it out in a courtroom battle that involves an oft-misunderstood technology and billions are on the line—but I don't want to talk about those things.
I want to talk about a filing cabinet.
The second trial in Oracle v. Google started this week. There are a lot of reasons to pay attention to this trial, which will determine whether Google's use of the Java APIs in Android was a fair use. For one thing, an immensely contentious issue in software copyright law is about to come to a head. And if that's not the kind of thing that usually gets your attention, there's 9 freaking billion dollars at stake.
Yet during opening arguments, Robert Van Nest, the lead attorney for Google, trotted out a literal actual physical filing cabinet labeled "java.lang" for the benefit of the jury.
A flimsy 8.5" by 11" piece of paper that says "java.lang" sits on the very top of this beige metal cabinet, which I guess indicates what the filing cabinet is even supposed to be? The first drawer is labeled "Math" in big bold letters. As Van Nest talked to the jury about what APIs were, he opened up the "Math" drawer, pulled out a file, and waved it around.
As he walked back and forth between the front of the courtroom and the defense team's table, the java.lang sign flopped over sadly. Fortunately, the disappearance of the label did not make this visual aid any more confusing than it already was.
Van Nest is trying to explain what an Application Programing Interface (API) is to the jury. In many ways, making sure everyone understands what an API is, is the key to the entire case—it has been from the beginning, since the first trial in 2012.
If you're not entirely sure what an API is, don't worry, you're not alone. It appears that district court Judge William Alsup—who, at 67, learned to code Java just so he could get a handle on this case—probably gets it, but the rest of the legal system has managed to fumble the issue repeatedly.
After Alsup ruled that the "structure, sequence, and organization" of the Java APIs were not copyrightable in 2012, he was reversed on appeal. The Federal Circuit handed down a decision that looked a lot like the appellate judges hadn't understood what an API is.
Google appealed that ruling to the Supreme Court, but the highest court declined to hear the case on the advice of the US Solicitor General. Some experts say that the Solicitor General's brief to the Supreme Court showed signs that the Solicitor General's Office simply did not understand how the technology worked. Now the case is back in court for a second trial, on whether Google can defend itself on the basis of fair use.
As much as I enjoy ribbing distinguished lawyers and judges for being bad at computers, I really cannot blame them in this instance. Since 2012, I've read half a dozen explanations of APIs aimed at laypersons (Motherboard has a very good one here, and this explanation from 2012 is good as well). I have seen APIs compared to dictionaries, to collections of aphorisms, to the Star Trek constructed language Klingon, to the QWERTY keyboard configuration. At one point, I myself compared APIs to yoga positions. On Tuesday morning, I was relatively confident that I knew what an API was.
Then Robert Van Nest drags a filing cabinet into a courtroom and I start feeling like:
At first I thought the filing cabinet was supposed to be the API, but then what on earth are the folders inside the filing cabinet supposed to be? Why is a drawer labeled "Math"? How does this help anyone understand anything?
This is a literal text message conversation I had in the aftermath of having my head fucked with by this filing cabinet:
[redacted]: The files in this analogy were empty until Google filled them
[redacted]: Imagine your job is looking up the contents of the files
[redacted]: You can jump from one job to another much more easily if everybody keeps their files in the same place
me: then I'd be an API?
me: no, that can't be right
After conferring with others, I have determined that Van Nest means to explain that the system of filing (the labels on the folders and the drawers) is the API, and that he waved around some empty folders to illustrate how Google wrote its own implementing code to "fill the folders" with, rather than "stealing" Oracle's intellectual property.
Was this literal-filing-cabinet-as-a-visual-aid a bad idea on Google's part? We've only had one day of trial so far, so it's probably too early to say. But it wasn't a hasty choice on Google's part. The filing cabinet was a much-favored prop during the first trial in 2012. I haven't been able to confirm whether or not it's the same cabinet from four years ago, but we'll probably see much more of it in the coming days.