From October 2016 to March 2017 the team is joined by Guest Kats Rosie Burbidge and Eibhlin Vardy, and by InternKats Verónica Rodríguez Arguijo, Tian Lu and Hayleigh Bosher.

Wednesday, 8 June 2016

Google's fair use defence succeeds against Oracle's copyright infringement claim

After a 6 year legal battle, Google has emerged victorious against a claim of copyright infringement. Oracle argued that Google had infringed copyright in 37 of their Java application programming interfaces (APIs), by using them in their Android platform. Java is a type of computing language, used to create code. Everyone is free to use the language itself, but the combination of code can be subject to copyright.

Google successfully relied on the fair use defence to refute the claim.

2012 – First trialOracle America Inc v Google Inc 872 F.Supp.2d 974 (2012) – This trial was split into two phases to make it easier for the jury to understand the evidence. The judge decided whether copyright subsisted and the jury was meant to decide infringement and fair use. District Judge Alsup found that the code in issue was not protected by copyright. Since the code was not protected by copyright, no new trial was ordered when the jury hung on the issue of fair use.  

The judge considered the following issues in coming to the conclusion that copyright did not subsist in the copied code:

Declaring Source Code
Merger doctrine - the merger doctrine, established in Baker v Selden 101 US 99 (1879), disallows exclusive ownership of the expression. Judge Alsup found that the copied code was necessary to carry out certain functions. Since the rules of Java require the method specification in the declaring code to be identical, copyright could not protect the copied code because it would prevent others from using it.
Coding cat exhausted after developing Google's Android platform

Organisation of methods and Method of operation
Oracle argued that Java rules do not require the same grouping pattern of methods under a certain class and package schemes. The Court recognised the originality in Oracle’s grouping pattern and the appearance of a potentially protectable taxonomy, but denied copyright protection because allowing it would essentially protect a method of doing something, which is more suitable to patent protection; [999 - 1000] “Yes, it is creative. Yes, it is original. Yes, it resembles a taxonomy. But it is nevertheless a command structure, a system or method of operation…For that reason, it cannot receive copyright protection – patent protection perhaps – but not copyright protection.”

2014 – Appeal -  Oracle America Inc v Google Inc 750 F.3d 1339 (2014) - Federal Circuit Court of Appeals reversed the District Court’s ruling that copyright did not subsist. It remanded the case to trial for the fair use issue as there was a dispute about material facts. (Dicussed on IPKat here).

Declaring Source Code
Merger doctrine -  This could not prevent copyright from subsisting in the APIs unless Oracle could write it down in a limited number of ways.  Oracle could have used different names and phrases in arranging the copied code. The court was wrong to assess the options available to Google, as copyright should be assessed at creation of the earlier work. The District court should have assessed the options open to Oracle, and would have found that they could have used different declarations and names when they created the original APIs. The merger doctrine did not apply to the facts.

Method of operation
The court disagreed with the trial judge’s analysis because all computer programs are designed to accomplish a task. Excluding the code from copyright protection for being a command structure would exclude all computer programs from copyright protection.

Copyright subsistence
The appeal court found that the copied code was original and creative, and could have been written and organised in different ways to achieve the same function. It was not barred from copyright protection by the merger doctrine, short phrases doctrine, or for being classifiable as a method of operation.

Fair use
The fair use issue was remanded for a new trial due to the appellate court’s limited function as there were material facts in dispute.

2016 –Fair use trial - May 26th 2016 - Jury found Google’s use of the Java APIs was fair use.

Since Google conceded that it had used the 37 APIs in issue in their Android platform, the jury had to consider whether Google could rely on the fair use defence. Fair use is a defence under s.107 of the US Copyright Act 1976. Unlike the UK fair dealing provisions (s.29  & 31 CDPA 1988), the US fair use defence is not delimited to certain uses. Instead, fair use is determined by reference to different factors.

The instructions to the jury explained how the jury should assess fair use, according to the statutory factors:
i.                    Purpose and character of the use
The judge instructed that the jury must consider whether the use of the APIs was transformative, the commercial purpose, and whether Google acted in good faith, in assessing the first factor of fair use.

ii.                  Nature of the copyrighted work
The judge advised the jury to consider how functional or creative the APIs were. He advised that [29] “The more creative the work, the more this factor disfavours fair use, and the more functional the work, the more this factor favours fair use.”

iii.                Amount and substantiality of the portion used in relation to the copyrighted work as a whole
The judge instructed that the quantity and quality of the copied code should be considered, in relation to Oracle’s copyright works.

iv.                 Effect of the use upon the potential market for or value of the copyrighted work
This judge said this factor was the most important, and noted that fair use is unlikely where the use impacted the market value of the original work.

Significance of this case
This case has raised important issues concerning the copyright protection of computer code and the application of the fair use defence in commercial settings.

The threshold for copyright is quite low so it is not surprising that copyright subsists in the APIs. The test is independent creation plus a modicum of creativity, set out in Feist Publications, Inc., v. Rural Telephone Service Co., 499 U.S. 340 (1991).

As for fair use, on one hand, the outcome was surprising considering the weight placed on the last factor by the judge. Google’s use of Oracle’s APIs in this case was for a commercial purpose. They had attempted to obtain a license in 2005 but failed to do so, indicating that the subsequent use was in bad faith. On the other hand, the APIs carry out functions (but so do all codes) and Google used a relatively small portion of Oracle’s work.

The success of the fair use defence opens the gates to other copiers to use existing APIs in programming, instead of creating their own, for use in commercial products. This Kat does not necessarily see this as a bad thing, as it will allow programmers to focus on developing new code instead of focusing on avoiding copyright infringement. However, it potentially undermines the value of giving code copyright protection in the first place. If all code carries out functions, as Judge Alsup noted in the first trial, is this type of work better suited to patent protection? Or maybe no protection at all? This Kat is interested to hear the opinions of those in the programming community about whether the ruling is a victory or a defeat.


THE US anon said...

I can only picture this as a devastating defeat to the anti-patent, "copyright is enough" crowd.

dev said...

It is very good news for Oracle.
My professor used to tell the story of the ADA language and how expensively licenced were its compilers. So expensive that people eventually turned to C++ which made ADA disappear even though ADA was better. And for C++ the compiler is libre.

That means that somebody is actually going to massively use java for other things than just accessing a database and generating web pages. And even there, Java is one of the most cumbersome languages.
If Oracle had won, android would have switched to Go or Python, or any other language.

Another example, C# is a more advanced and practical language than Java, but unfortunately you could only run it on Windows until recently. It is taking a lot of effort to Microsoft to make it portable to other platforms and to being people to use it.

One cannot have the language, a huge developer community and a lot of money from the community.
Oracle has to live with that and actually produce something.

PS: see the chart

Subscribe to the IPKat's posts by email here

Just pop your email address into the box and click 'Subscribe':