Oracle v. Google granted Certiorari November 16, 2019
The Supremes are interested
On Friday, November 15th, the Supreme Court of the United States agreed to hear the appeal of the Oracle v. Google case.
tl;dr
APIs are to software development as precedent is to litigation.
APIs provide the abstraction the software engineers needs to understand in order to interface with or implement a functioning system.
Precedent provides the abstraction that allows litigators to convey the meaning of a common law ruling such that the litigators can assemble an argument in a given case.
From the dawn of computing until the May, 2014 ruling in Oracle v. Google, APIs were the "idea" in the idea/expression dichotomy from Baker.
Imagine if, after 95% of the time that common law was a thing, courts required royalty payments to prevailing lawyers when those lawyers' cases were cited as precedent. What would this look like?
-
The large law firms would be in a windfall position… just like Oracle is arguing it should be.
-
The practice of law would be skewed to avoiding precedent and making up new stuff in order to avoid paying royalties.
-
Law schools would change the way they teach: threading precedents from days of yore to the modern day… and instead teach lawyers how to make "new, whole cloth" arguments.
The effect of Oracle v. Google will decimate the software profession just as a tectonic shift in the price of precedent would destroy the legal profession.
But, let me chat a little about why copyrighting APIs is such a deeply horrible thing to do… well a bit of a side discussion first.
Professional Disagreements
The folks representing Oracle include one of the smartest, most passionate, and generally awesome people I’ve ever had the pleasure to know.
I am all for zealous advocacy. And I do not really care if Google pays Oracle or not… basically both companies are evil. Oracle is more of the Snidely Whiplash brand of evil. Where are Google is more the Brett Kavanaugh brand of evil.
So, as folks representing Oracle read this post, please understand that I’m disagreeing with your position, despite my deep regard and respect.
Some of my writings on the subject
I have written a fair number of posts on the subject:
Also, these tweet streams cover the business and social impact of OvG:
I have some thoughts on the Oracle v Google case.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
First, holding that APIs are subject to copyright is the single most destructive thing to happen to the software industry in my 40+ years of being a software professional. 1/22
Let's start with Sir Isaac Newton: https://t.co/OGgtdC51lV
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
All of computing... both science and engineering... has been based on incrementally advancing what came before.
Prior to OvG, APIs were the basis of what we could copy and evolve 2/22
The system worked very well. We could copy the API... the "shape," the "idea" of a system, but we could not copy the implementation.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
This maps to copyright's "idea expression dichotomy". 3/22
APIs represented the "idea" and implement represented the "expression" of a system.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Network libraries, collections libraries, etc. all evolved by taking the APIs of what came before, enhancing them, and doing a new implementation 4/22
Java's network APIs are a thin veneer on top of UNIX networking.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Java's collections were a re-implementation of Smalltalk collections.
Most Java APIs were incremental enhancements of APIs that came before. 5/22
While the Java APIs (for the most part) didn't suck, they were, for those of us around in '96, were nothing novel. They were an assemblage of APIs from systems we were used to which aided in Java adoption. 6/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
The familiarity of Java's APIs combined with Java's advances (exceptions and memory management) made Java something easy to adopt.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Sun made a *ton* of money because Java could be written on cheap Windows machines and deployed on expensive Sun servers 7/22
Sun survived where SGI, DEC, etc. died because large teams could write Java code on relatively inexpensive Windows machines and deploy on high performance servers. This allowed Sun to thrive in the 90s and survive into the 2000s. 8/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
The Java ecosystem grew, but Sun, for a variety of reason (hi my little pony) failed to monetize Java beyond the sale of high end servers.
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Nonetheless, Sun created a series of powerful network effect around Java and Oracle has used the law to monetize those. 9/22
The damage API copyright causes is a combination of chilling effects for any and all software development and material harm to labor mobility. 10/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Because we can no longer stand on the shoulder of giants, every software project will be scrutinized as to it originality. And every project must be original... not simply an enhancement of APIs and designs that engineers are familiar with. This is expensive and chilling. 11/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Labor mobility will be destroyed. Engineers cannot re-use patterns, APIs, or other artifacts they gleaned from prior employment. Every employer will have the ability to sue departing employees if they implement similar patterns/APIs. This will devastate labor mobility. 12/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Oh... and existing systems, like SalesForce's Apex, create huge exposure because they model Java APIs. /cc @Benioff Basically, any system that was built based on APIs that came before are targets of litigation. This is just bad for all businesses. 13/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
But is this necessary? No. The reason for copyright... the reason to grant temporary monopolies on certain non-tangible things... is based on Article 1, Section 8 of the constitution 14/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
"To promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries." 15/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
The existing idea/expression - API/implementation dichotomy has served the software industry very well. For the last 20+ years, year over year investment in software development has increased faster than any other investment in the history of the world 16/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
There is no macro reason to re-balance the treatment of software copyright. Investment is happening and will continue to happen. What OvG will do is increase the $ allocated to litigation/defense. 17/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
What API copyright will do is reduce the ability for software engineers to move jobs. What API copyright will do is the same thing that software patents have done: shift investment in software creation to investment in litigation. And lawyers are a transaction cost. 18/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
It's unlikely that the Supreme Court will hear an appeal on this case. However, Congress can rectify the issue by clarifying that APIs are not subject to copyright... the state of the law until OvG. 19/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
Oh... I wrote about the case when the original decision was handed down: https://t.co/WsJBgjaXDk https://t.co/4Qo9ZItzA7 https://t.co/IfUfGri2AO https://t.co/84uyDmXN9T https://t.co/Ye8u7wkDzu 20/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
In addition to Apex, AMD is screwed because a processor instruction set is an API. In fact every company that's not Xerox, IBM, AT&T/SCO, Dell/DEC is screwed because all APIs can be traced back to work at those companies. 21/22
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
It's going to take about 10 years for companies and enterprising lawyers to figure out how to use API copyright as a weapon. But it has weaponized big companies and will destroy the ability for engineers to do what we've done forever: stand on shoulder of giants. Sigh. 22/fin
— David "Bear Feeder" Pollak🐈 (@dpp) March 29, 2018
So, yes, on Twitter, Oracle’s lawyers are arguing "nothing bad has happened, yet… so nothing bad isn’t going to happen."
Sorry… but it’s going to take a decade for the change to play out. And keep in mind, this case has been bouncing around the courts for nearly a decade… it will take that long for lawyers to figure out how to harness the toxicity of the change in law.
I did some further writing on the topic:
A few days ago, I discussed the devastation that the Oracle v Google case brings to the software development profession: https://t.co/vZHrev41Wm
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Today, I'm going to talk about the business ramifications of OvG 1/18
To level-set, let's look at how @a16z looks at the API market https://t.co/c457qL7ZV3
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
And do keep in mind that API management is an enterprise category worth billions: https://t.co/bIH35dU6no 2/18
At the technical level, in order to call/invoke an API, the client must have a copy of the subset of the API embedded in it... and when I say "copy"... the client must mirror the structure sequence and organization of the API: https://t.co/g4ffIYFlju 3/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
This SS&O of an API is embedded at every call site in JVM byte code. Looking at a broad enough set of open source JARs, I can reconstruct the entire JVM API. As a side note, this leads to potential exposure for everyone who uses Java... but that's an aside 4/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Because under OvG, APIs are now, but were not in the past, subject to copyright, every client accessing every API on the Internet is in fact engaging in copyright infringement.
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Companies that publish APIs are not going to complain because they want API use. 5/18
However, there's a class of unpublished APIs that are used regularly: screen scraping. Kayak started as a screen scraping service... under OvG, they could be shut down with a (c) bludgeon. 6/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Companies that screen scrape to allow customers to migrate data from one service to another are now subject to copyright claims as well as contract/terms of service claims. 7/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Services like TripCase that scrape travel confirmation emails may be subject to copyright claims from companies that may own both the production of some of the formats that TripCase scrapes and a competitive service. If nothing else, it can chill innovation. 8/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
More broadly, semantic similarity among APIs from companies in a given industry is super import. By way of analogy, let's look at the issue in Australia... there are 3 different track gauges: https://t.co/K83QucLTko Trains cannot travel between states. 9/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
If the SS&O of APIs must be different for each bank or airline or shipping company because they don't want to get (c) claims for similar APIs, then a business partner has to write separate clients for each business partner. 10/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
And from what we've seen in the computer and cell phone markets, companies will allocate resources for the top 2 or 3 players and the other players wither and die. Copyright on API will consolidate market power in a few players *and* cost business partners more $ 11/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
"well, there could industry standards and cross-licensing." Yep. That's likely to happen for existing companies (banks, airlines, etc.) But it also reinforces the entrenched players at the expense of new entrants... it creates a huge barrier to entry into existing markets 12/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
In addition to the costs of implementing clients for different APIs because the APIs must necessarily be different, there are the hidden costs of defects. When there are API differences, there become semantic differences. And those can be painful https://t.co/B3p4s1prte 13/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
So, API copyright means (1) higher development costs for API consumers; (2) higher defect rates; (3) shifting power to entrenched companies; (4) a tool that companies can use to retain customers because of reduced data portability. 14/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
And keep in mind that O's argument is basically an equity/sweat of the brow argument: "we spend a lot of time and $ to get the APIs to be beautiful and should be compensated for that investment." 15/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Any company that invests in its APIs or data formats or other means for computer-to-computer information exchange can make the same argument to claim copyrightability of their APIs. 16/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
So, beyond the devastating effects on the producers of software, OvG will, as a second order effect, derail the growing API market. It will allow Twillio to make it much more difficult to enter the "telephony via API" market. This is anti-competitive and bad. 17/18
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
And like the impact on the costs of writing code and labor mobility, it'll take a decade or so to see the damage that an API diaspora will wreak on business. Sigh 18/fin
— David "Bear Feeder" Pollak🐈 (@dpp) March 30, 2018
Up to date thinking
The above tweet streams were written 18 months ago.
Yes, none of the doomsday stuff has manifest. And yes, Cisco failed with a similar claim… although Cisco’s claim seems a lot more like Lotus v. Borland.[1]
But, the Redmonk folks seem to understand the import:
no big deal, just the future of the industry hanging in the balance https://t.co/UfGFfqOGbw
— steve o'grady (@sogrady) November 15, 2019
So… what do we do?
Well… to be very blunt, the non-Oracle lawyers I’ve discussed this issue with are someplace between focusing on the tactical issue and being complete idiots (the EFF lawyers…).
I am a lawyer. I have briefly practiced, mostly in intellectual property-related areas (not litigation, but transactional stuff) as well as doing the civil defense of Eugene Kashpureff in the AlterNIC DNS hijacking case.
I have also been writing software professionally since 1978.
And the way intellectual property is dealt with/allocated in the law was a dinner-time conversation for well over a decade.
I am a rare lawyer who does APIs for a living.
Sadly, over the last 5 years, none of the geeks could speak lawyer and none of the lawyers (with the exception of the a few of the folks on Oracle’s team) could speak geek.
So, we wind up with stipulations that the JVM byte-code meta data that describes the APIs is executable and stuff like that.
We also wind up with what appears to be a reasonable to lawyers allocation of revenue to work that was done by Sun on Java… yep Sun worked on the APIs and getting good APIs is not easy (hi Ted and Hari).
Yes, maybe Google does own Oracle $. Once again, it’s a Snidely vs. Brett issue… there’s evilness on both sides.
But, the long term damage of creating more entrenchment for existing players, diminishing labor mobility, and radically reducing the ability for systems to interoperate is, in my opinion, creating a hellscape for future engineers and future startups. A hellscape that will entrench the existing owners of IP like Google and Oracle and IBM and Facebook and Apple and Amazon at the expense of all other players. It’s a conservative’s wet dream… keep the wealth concentrated where it is.
The right analogy
Let’s look at Jones for a minute. If the issue is brought to the Supremes as something that they understand, viscerally, they are far more likely to make the right decision.
Unlike Judge Alsup it’s unlikely that the Supreme Court justices will learn to code for this case. So, let’s bring the right analogy to the court.
The right analogy is APIs are to coding as precedent is to litigation. This is something that the Supreme Court Justices will understand. It’s something that will help them understand that the software industry, just like the legal profession, is built in increments… each of us standing on the shoulders of those that came before.
It’s critical that both be freely shareable.
Both represent shareable abstractions over a more complex underlying system.
Both represent the ways that practitioners learn and share and evolve.
If I can be of service
If folks who are battling API copyright want to engage with me, y’all know where to find me.
Let’s fix the issue. Let’s get software engineering back to what it used to be… what it should be.