The U.S. Supreme Court will finally hear arguments in a case that could rewrite the rules of software development as we know it. On Wednesday, Google will defend its use of Java code in the development of the Android operating system. Oracle claims that code is protected intellectual property, and if the court agrees, there are a lot of developers who should be nervous.
It’s been a decade since Oracle first sued Google, and it’s been nearly two years since the Supreme Court agreed to review the case. In that time, the Android OS has taken over about 75 per cent of the mobile market — becoming one of the most successful pieces of software in history. But like all software, Android is a product of ingenuity and building on the work of others.
During its initial development, Google wanted Android to understand commands that were used in the Java SE platform. To make this happen, it used a bunch of code to declare methods that are available in Android and Java. This code is known as an API. It’s very common to use APIs in development, and Google wanted Java developers to feel at home on Android. While most of the code in Android was proprietary, it used 11,000 lines of code for the Java API — just 0.5% of the 3 million lines of code that make up Java SE. Plenty of other developers out there threw this code into their projects at the time, but Android was big enough to get Oracle’s attention, and in 2010 it sued for copyright infringement.
So far, a jury agreed with Google in 2016, and the U.S. Court of Appeals for the Federal Circuit overturned that ruling in 2018. At issue is the complicated application of copyright law and fair use protections when it comes to the dark arts of programming.
First of all, there’s the issue of ideas vs. expression. You can’t copyright an idea. And copyright law doesn’t cover any expression that’s required in order to use an idea. Anyone who wants to protect an idea would have to meet the more difficult standards of obtaining a patent. But what constitutes an idea and an expression in programming?
In court filings, Google has argued that the small amount of code it used in Android was needed in order to access the wider Java system. Google’s position is that the code providing entry into the system is an interface and that interfaces should be considered under the category of ideas in the eyes of the law. Google believes the expression of the idea comes later in the implementation of the system’s functionality.
Oracle disagreed with this interpretation and argued that Google could’ve rewritten the code to achieve the same access to the system without using the exact language of Java developers. The two parties are in agreement that Google used the same declarations in order to make it easier for developers to jump right into Android, they just disagree over whether that’s a good enough reason to classify the language of the API as necessary in order to implement the expression of an idea.
Google’s argument that using the Java code was necessary is somewhat undermined by the fact that Android shifted to a copyright-unburdened engine in the years following Oracle’s initial lawsuit.
If Oracle wins that side of the debate, the court will then have to consider the fair use factors of the case. In 2016, a jury decided that Google’s use of the API did meet the standard of fair use, and therefore its actions did not constitute copyright infringement.
Google’s top argument is that its use of the API was transformative because we have this whole new operating system to show for it. Oracle says that’s absurd because its code was copied verbatim. More credibly, Google says that its tiny selection of copied code is insubstantial. But Oracle also makes a persuasive argument that Android and Java are both platforms for development and in that sense, they are direct competitors — an appeal to the consideration of market impact under fair use law. Oracle believes that Google should’ve paid a licence fee just like other developers who directly use its code.
If the Supreme Court rules in favour of Oracle later this year, the case will go back to the lower courts to decide on awarding damages. Oracle has previously asked that Google pay over $US8 ($11) billion in compensation, but its general counsel, Dorian Daley, told Reuters that it would revise that demand.
While that’s a lot of money, even for Google, the more interesting question is what an Oracle win will mean for developers big and small. There are a lot of projects out there that freely use API code, and many people didn’t think to get a licence or believe it was necessary. A Google loss could mean that many projects never get off the ground for fear of implementing code that could become a legal liability in the future.