The court overturned a previous judgment in which a district court judge found that Google ruled that Google could legitimately copy the function of computer code owned by Oracle because it did not copy the "specific code" that Oracle had used to achieve that functionality.
Google has admitted copying "declaring code" that is behind 37 Oracle-owned Java application programming interfaces (APIs). However, it had claimed that only the 'implementing code' that it wrote on top of the declaring code to ensure the technology could work with its Android operating system qualified for copyright protection.
Java is a technology that allows programmers to write computer code that will run in many computing environments. APIs enable applications, platforms and other system elements to communicate.
In 2012 district court judge William Alsup sided with Google, but Oracle challenged the ruling and argued that its Java API software packages was copyrightable because they "are expressive and could have been written and organised in any number of ways to achieve the same functions". In particular it said the district court had erred by finding the underlying code not to be copyrightable on the basis that "the idea and expression have merged". Only the expression of an idea and not the idea itself is copyrightable.
The US Court of Appeals found in favour of Oracle's arguments (69-page / 350KB PDF), although the district court will have to rule on whether Google's infringement of Oracle's copyright is protected by the 'fair use' defence. In the US the 'fair use' exemption in copyright law allows copyright material to be reproduced for the purposes of research and education, commentary, criticism and reporting.
"We conclude that a set of commands to instruct a computer to carry out desired operations may contain expression that is eligible for copyright protection," the Court of Appeals ruled. "We agree with Oracle that ... an original work – even one that serves a function – is entitled to copyright protection as long as the author had multiple ways to express the underlying idea."
According to the judgment, Google had argued that copyright protection could not be conferred on "elements of a computer program that are functional". However, the judges said that all computer programs have a function of some kind and that therefore it was not the intention of US law makers to have copyright law interpreted in such a way as Google had argued.
"[US copyright law] codifies the idea/expression dichotomy and the legislative history confirms that, among other things, [the law] was 'intended to make clear that the expression adopted by the programmer is the copyrightable element in a computer program'," the Court of Appeals said. "Therefore, even if an element directs a computer to perform operations, the court must nevertheless determine whether it contains any separable expression entitled to protection."
The judges also rejected Google's claim that the 37 Java APIs were an "industry standard" and therefore did not qualify for copyright protection under US law. They also dismissed Google's argument that the most applicable intellectual property right to cover software creations is patent protection and not copyright. The Court of Appeals said that that the US Supreme Court had previously determined that there is nothing stated in US law to preclude something qualifying for copyright protection just because it is patentable.
In 2012, the Court of Justice of the EU ruled that the way a computer program functions is not copyrightable. It said, though, that programming languages and file formats may be subject to copyright protection under the EU's Copyright Directive even though they do not form 'expressions' of computer programs protected by the EU's Software Directive.