How long have you been writing code for Oracle? In the next few months, the U.S. Supreme Court will decide whether they own your soul.
In every thread that talks about Oracle’s Java lawsuit against Google, there’s that one guy that claims to be an expert. I’m that guy.
As you read this, my brief is sitting on the desk of every Supreme Court Justice. Inside they will find an explanation of what APIs are, why and how developers use them, and how skewed some of the lawyerly analogies they’re also reading are. I had to write it, because devs are the ones that will suffer should the rules change. I wasn’t prepared to leave the fate of our livelihood and our craft in the hands of outsiders while we just rant about the thing on Reddit.
There’s plenty of content out there explaining what’s at stake and how we got here. Suffice to say that two giant companies each want to profit from the millions of developers writing great apps in Java. You, my friends, are their zombie army. What makes it personal is that, on one side, Oracle is willing to launch the apocalypse and make APIs pay-for-play, while Google would much rather calm the horde by leaving APIs free and open. I’m siding with Google, alongside a few dozen law professors, computer scientists, and not a few lawyers. I’m not worried about who pays whom (no one will go broke over this), I just want devs and APIs left out of it.
The arguments about who stole what from whom are wide-ranging and densely wrapped in convoluted logic and legal traditions tracing back to the middle ages. If you pretend for a moment that someone out there was writing poetry that looked just like code but wasn’t actually code (it was just “code art” – pretty, but useless), you could apply all the rules around copyright in novels and poetry and screenplays and maybe come to the conclusion that API copying is stealing. The legal debate would still be fierce, but the lawyers could march boldly across ground they knew well.
My observation is that they are actually lost and wandering in a foreign land with confusing landmarks. Code is not literature, and computing in the 1800s was less sophisticated than it is today (I call that last part “sarcasm”).
The Justices of the Supreme Court are some of the sharpest legal minds in the world, as are the clerks and staff around them. These people are no joke. For years the lawyers in this case have tried one analogy after another to “simplify” what an API is and does. For the tech industry to imply the Court can’t understand what we do is simply a lazy way of saying we’re not smart enough to explain it elegantly. Anyone can learn to code. Hell, even I did. So why can’t a court be taught the difference between literature and software? They’re smart enough to take it from there, I think.
The Supreme Court has never before ruled on how copyright applies to software. The closest they’ve come – and this is real – was a case about accounting from the late 19th century. The lawyers seem okay with that. Me? Not so much.
If the code that calls an API is a toll bridge you must pay to cross, we need to rethink how we write software. APIs are like trees in a forest – we don’t really pay them much attention until they break and come crashing down on our heads. If the Supreme Court gets this wrong it will be our fault for not taking the time to explain to them what’s at stake and why software and Harry Potter are two different things. An API is not a topic sentence, or a plug-and-socket; it’s an API and if I can understand that so can the Supreme Court.