This duel has so much at stake it reminds me of the 2008 Wimbledon final between Nadal and Federer. Will Google lose for the first time in years like the Swiss champion?
Over a decade ago, Google needed specific components to design the operating system for its Android smartphones: application programming interfaces, also called API. The whole issue is that they did not develop it themselves, they “borrowed” it from the giant computer company Oracle. Google wanted their Android system to be compatible with Java, as the language already had a vast community, and this would give them access to the help and resource of many developers. They therefore implemented some of Java’s APIs, 37 of which are issued in the lawsuit.
These APIs were taken from the programming language and development platform Java, or at least, very inspired by the originals. One crucial detail: Oracle now owns Java. So, what does Oracle say? That Google owes them money of course – what else?
What is an API?
Well I’m glad you asked. API is short for “application programming software”. Simply put, it is the component that allows different software to communicate with each other, making them essential in any program. Every time you receive a message, use your weather app or check the news on your phone, you’re using an API.
If, for example, you want to check the result of the tennis game I mentioned earlier – the tragic, tragic defeat of our Swiss hero – you open your browsing app and give it information about your request. The app then sends a request to a server, which will in turn process it and send an answer back. Your app will receive the data and transform it so that it is readable by the human eye. All of these communications were carried out by APIs because your phone, the app and servers all had to communicate with each other, even though they are not part of the same system.
Second example with real life: you are in a very hipster café. The menu looks amazing and you’re thinking about going for a macchiato with a cinnamon bun. The barista and the kitchen are the system in charge of producing drinks and food. You have the menu in your hands and your decision is made. Now that everything is set, all you need is the communicator, the API – or, in this case, waiter – to communicate your order to the system and then send the result back to you. Great metaphor, I know.
A long story
Two questions are to be answered today (Wednesday 8th of October 2020) by the court: is Oracle entitled to receive a cut of Android’s profits and is language compatibility subject to copyright?
We must say that the accusations changed in the last decade. At first, back in 2010, Oracle sued Google for the violations of 7 patents, a little more than 6 months after they had acquired Sun, the company that originally developed the Java language. Google had already tried to find an arrangement with Sun and failed, so what they did is to essentially duplicate the parts they needed in Java to use them – a little modified – in their Android system code. Google was confident that this method was considered fair use as these APIs were taken from an open-source Java, and the court agreed.
In 2012, Oracle went for a run again, diminishing the accusations to the theft of 37 APIs, which translate into roughly 11’500 lines of code – out of the 12 million lines that make for Android’s system. The question became: are APIs copyrightable – or their “structure, sequence and organization" – and did Google make a fair use of them? Once again, Google remained untouched, as the judge estimated that the Copyright Act did not apply to “ideas, procedures, systems and methods of operations”. In other words, if I call my fast-food chain “McDonald’s”, I’ll get in trouble. But if I simply copy their method of production, I should be fine.
Fast forward to the present, many things changed. The companies have not only changed in their ownerships, they are also headed by different CEOs than when the case started. Android is today at its 11th version. 3 seats of the old supreme court have vacated, as 2 passed away – including Ruth Ginsburg – and one retired, which leave 8 seats with a 9th soon to be chosen. The only thing that has not changed is Java’s popularity, as the language is still in the top 5 most used programming languages around the world.
The implications of the decision
The implications of the decision is immense. If the court decides that Google was not in its rights, changes in the industry will be massive.
Complicated codes have always been built based on previous complicated codes. One rarely ever starts from scratch. It does not mean that all software companies are simple copy and past machines, but it is always interesting for apps to looks similar and be compatible with one another.
Software development is an iterative process. You take an old foundation, work on it to make it better, and another developer will do the same with your work. Every progress is simply stacked on all the previous progresses, much like in science. Attacking someone because they used parts of your codes seems a little irrational. It’s almost as if Mesopotamia sued the West for our abusive use of the wheel - even though this would make for an amazing story.
Generations and generations of software have been built, taking for granted that it was alright to grab one element here and one element there. Especially for the elements which are hard to change and code differently such as APIs, the parts making easier for software and apps to communicate with each other. Think about something other than the wheel to make your cart go forward. Anything you'll create will be somewhat similar to the wheel, there is little margin for innovation here. The same goes for APIs.
If the court rules that taking elements elsewhere is not authorized anymore, this will mean that many of the old tech companies will be able to sue thousands of other companies because they used some part of their tech. And, legally speaking, they would be right: many, if not most of modern applications could not exist without their work.
The decision could therefore have immense ramification in the technology and software development industry.
The decision will be taken today, and as mentioned, will have a enormous impact on copyright law. Google’s main argument, signed by 83 prominent computer scientists, is the following: “Software interfaces, including those embodied in the Java application programming interface (API) at issue here, are purely functional systems or methods of operating a computer program or platform. They are not computer programs themselves. Interfaces merely describe what functional tasks a computer program will perform without specifying how it does so."
This statement seems to make sense as there are indeed not so many ways to write APIs. You can code it the way you want, in the end, they all achieve the same things. Should coders really put originality before functionality?
On thing is certain though, the decision will not only have an impact on the companies image and stock, but might will revolutionize the way coding is legislated.