Google v. Oracle – The Supreme Court Holds That Reimplementing Software API Is Fair Use

Posted on Thursday, May 13th, 2021

The Supreme Court decided a software copyright case between Oracle and Google holding that reimplementing some copyrighted software in order to develop interoperable software was fair use. Oracle had purchased the copyright to the Java software, including an application programming interface (“API”) which allows other programs to use the Java software. Java was initially created with a slogan “write once, run anywhere” with the idea that software written in the Java language could be used in a variety of systems. However, because Oracle controlled the copyright to the API, use of Java would often require the use of the Oracle API, and Oracle’s consent. 

Google, in developing its Android software wanted to build compatibility with Java and to make use of the familiarity programmers had with the Java language.  But Google did not want to enter into a licensing agreement with Oracle.  Google did not copy all of the Java software, nor even all of the API.  Instead, Google wrote its own code, copying only those portions of the Sun Oracle Java API that it believed it needed to make its Android platform Java compatible. Still, Google did intentionally copy 11,500 lines of Oracle’s copyrighted software, which led to Oracle suing for infringement.

After ten years of litigation between Google and Oracle, the Supreme Court was asked to answer two legal questions: 1) whether the declaring code in the API copied by Google was in fact copyrightable, and 2) whether Google’s copying was a “fair use” of the Java API.

We didn’t get an answer to the question of whether the Oracle Java API, or any other API is copyrightable. While software is generally copyrightable, Google made the argument that the API is merely functional, and therefore outside of what could be protected. Instead, the Court held that whether or not the code was copyrightable, Google’s reimplementation of the Java API was fair use as a matter of law.

Fair Use And Software Interoperability

Fair use is the allowed copying of copyrighted materials and is decided by four factors that are set out in the Copyright Act at 17 USC § 107, which include:

  1. the purpose and character of the use, including whether such use is of a commercial nature or is for nonprofit educational purposes;
  2. the nature of the copyrighted work;
  3. the amount and substantiality of the portion used in relation to the copyrighted work as a whole; and
  4. the effect of the use upon the potential market for or value of the copyrighted work.

The Court found that each of the factors favored Google and that overall, Google’s use of the API was transformative, because it helped to create a new work (in the form of the Android software) that was not a logical extension of the original Java software. Additionally, Google’s copying was necessary for programmers to make use of the Java API system.

“API is inseparably bound to those task-implementing lines. Its purpose is to call them up. … Google copied those lines not because of their creativity, their beauty, or even (in a sense) because of their purpose. It copied them because programmers had already learned to work with the Sun Java API’s system, and it would have been difficult, perhaps prohibitively so, to attract programmers to build its Android smartphone system without them.”


Overall, many technology observers are relieved by the Court’s holding because it seems to give blessing to the way software is actually developed. Had the case gone for Oracle, it is possible that there would be substantially more litigation over reverse engineering and interoperability problems. However, it is not clear how broadly this decision could be applied to other situations. While the law undoubtedly is now more favorable to reimplementing code, it is also still difficult to know exactly what uses will be permitted as fair.