TR Daily Supreme Court Upholds Google’s Use of Java API Code for Android
Monday, April 5, 2021

Supreme Court Upholds Google’s Use of Java API Code for Android

The Supreme Court has ruled that Google LLC’s copying of code from Oracle America, Inc.’s Java SE for an API (application programming interface) between Google’s Android operating system and apps developed to run on the Android OS qualifies as a "fair use" exception to copyright law.

In Google LLC v. Oracle America, Inc. (case 18-956), Google was appealing a decision by the U.S. Court of Appeals for the Federal Circuit, which held that code used in the Android platform infringed Oracle’s copyright in code used for the Java platform. The jury in the trial court below had found that Google’s use of the code in question constituted fair use. The case was argued before the Supreme Court last fall (TR Daily, Oct. 7, 2020).

Writing for the court in the 6-2 decision, Justice Stephen Breyer wrote, "Google did not copy the task-implementing programs, or implementing code, from the Sun Java API. It wrote its own task-implementing programs, such as those that would determine which of two integers is the greater or carry out any other desired (normally far more complex) task. This implementing code constitutes the vast majority of both the Sun Java API and the API that Google created for Android. … For most of the packages in its new API, Google also wrote its own declaring code. For 37 packages, however, Google copied the declaring code from the Sun Java API …. [which] allowed programmers expert in the Java programming language to use the ‘task calling’ system that they had already learned. As Google saw it, the 37 packages at issue included those tasks that were likely to prove most useful to programmers working on applications for mobile devices."

Without the copying of the API declaring code for those 37 packages, "programmers would need to learn an entirely new system to call up the same tasks," Justice Breyer wrote.

The court assumed that, "for arguments sake, that the code in question was copyrightable," thus declining to rule on Google’s argument that the API’s declaring code and organization constitute processes, systems, or method of operation, which the Copyright Act precludes from copyright protection.

The majority applied the same context-based approach to considering whether this specific copying of computer code constitutes fair use as would be applied to other works, such as books or films. It also said that fair use is a question of both fact and law, and that therefore the jury’s finding is subject to appellate review.

In considering the fair use question, Justice Breyer noted that "[u]nlike many other programs, [the declaring code’s] value in significant part derives from the value that those who do not hold copyrights, namely, computer programmers, invest of their own time and effort to learn the API’s system. And unlike many other programs, its value lies in its efforts to encourage programmers to learn and to use that system so that they will use (and continue to use) Sun-related implementing programs that Google did not copy."

As for whether the copying fulfills the objective of copyright law through a "transformative" component that adds something new and important, the court noted that "Google’s use of the Sun Java API seeks to create new products. It seeks to expand the use and usefulness of Android-based smartphones. Its new product offers programmers a highly creative and innovative tool for a smartphone environment. To the extent that Google used parts of the Sun Java API to create a new platform that could be readily used by programmers, its use was consistent with that creative "progress" that is the basic constitutional objective of copyright itself."

In weighing the statutory factors to be considered in fair-use cases, Justice Breyer wrote that the fact that Google’s use was commercial "is not dispositive" in tipping the scales against a finding of fair use, as section 107 of the Copyright Right, which deals with the fair use exception, "includes examples like ‘news reporting,’ which is often done for commercial profit."

Another factor in weighing questions of fair use is the amount and substantiality of the portion of the protected work used by the copier.

"If one considers the declaring code in isolation, the quantitative amount of what Google copied was large. Google copied the declaring code for 37 packages of the Sun Java API, totaling approximately 11,500 lines of code. Those lines of code amount to virtually all the declaring code needed to call up hundreds of different tasks. On the other hand, if one considers the entire set of software material in the Sun Java API, the quantitative amount copied was small. The total set of Sun Java API computer code, including implementing code, amounted to 2.86 million lines, of which the copied 11,500 lines were only 0.4 percent," Justice Breyer wrote.

"Several features of Google’s copying suggest that the better way to look at the numbers is to take into account the several million lines that Google did not copy. For one thing, the Sun Java API is inseparably bound to those task-implementing lines. Its purpose is to call them up. For another, 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. Further, Google’s basic purpose was to create a different task-related system for a different computing environment (smartphones) and to create a platform—the Android platform—that would help achieve and popularize that objective. The ‘substantiality’ factor will generally weigh in favor of fair use where, as here, the amount of copying was tethered to a valid, and transformative, purpose," he continued.

Finally, he looked at the effect of the copying on the market for or value of the copyrighted work, noting trial testimony about the differences in the markets the Android and Java platforms were designed for—mobile phones in the former case and laptops and desktops in the latter. He also noted trial testimony that the expansion of the pool of programmers familiar with Java resulting from Android’s use of the code benefitted Sun Microsystems (Oracle’s predecessor).

"We reach the conclusion that in this case, where Google reimplemented a user interface, taking only what was needed to allow users to put their accrued talents to work in a new and transformative program, Google’s copying of the Sun Java API was a fair use of that material as a matter of law. The Federal Circuit’s contrary judgment is reversed, and the case is remanded for further proceedings in conformity with this opinion," he concluded.

In an unusual step, the majority included appendixes to the opinion that diagram a computer system and the process used by the Sun Java API.

Justice Amy Coney Barrett, who joined the court after the case was briefed and argued, did not take part in the consideration or decision of the case.

In a dissenting opinion, in which he was joined by Justice Samuel Alito, Justice Clarence Thomas wrote, "The majority purports to assume, without deciding, that the code is protected. But its fair-use analysis is wholly inconsistent with the substantial protection Congress gave to computer code. By skipping over the copyrightability question, the majority disregards half the relevant statutory text and distorts its fair-use analysis. Properly considering that statutory text, Oracle’s code at issue here is copyrightable, and Google’s use of that copyrighted code was anything but fair."

He noted that Google at first tried to negotiate a custom license from Oracle to use the declaring code. "When those negotiations broke down, Google simply decided to use Oracle’s code anyway. Instead of creating its own declaring code—as Apple and Microsoft chose to do— Google copied verbatim 11,500 lines of Oracle’s declaring code and arranged that code exactly as Oracle had done. It then advertised Android to device manufacturers as containing ‘Core Java Libraries.’ Id., at 600. Oracle predictably responded by suing Google for copyright infringement," he wrote.

Justice Thomas wrote that "declaring and implementing code are ‘inextricably bound’ together. … [and t]he functionality of both declaring code and implementing code will thus typically rise and fall together."

He added, "Google’s argument also cannot account for Congress’ decision to define protected computer code as ‘a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.’ … §101 [of the Copyright Act] (emphasis added). Hence, Congress rejected any categorical distinction between declaring and implementing code. Implementing code orders a computer operation directly. Declaring code does so indirectly by incorporating implementing code."

The majority’s distinction between declaring code and implementing code causes it to err in weighing the four statutory fair-use factors Congress has told courts to consider, Justice Thomas wrote.

"Tellingly, the majority evaluates the factors neither in sequential order nor in order of importance (at least two factors are more important under our precedent). Instead, it starts with the second factor: the nature of the copyrighted work. It proceeds in this manner in order to create a distinction between declaring and implementing code that renders the former less worthy of protection than the latter," he said.

He argued that "it makes no difference that the value of declaring code depends on how much time third parties invest in learning it. Many other copyrighted works depend on the same. A Broadway musical script needs actors and singers to invest time learning and rehearsing it. But a theater cannot copy a script—the rights to which are held by a smaller theater—simply because it wants to entice actors to switch theaters and because copying the script is more efficient than requiring the actors to learn a new one."

As for market effects, Justice Thomas said that "[b]y copying Oracle’s code to develop and release Android, Google ruined Oracle’s potential market in at least two ways." First, Google "eliminated the reason manufacturers were willing to pay to install the Java platform," given that Oracle charged manufacturers for installing Java, while Google relied on ad revenue. Second, he said, "Google interfered with opportunities for Oracle to license the Java platform to developers of smartphone operating systems. Before Google copied Oracle’s code, nearly every mobile phone on the market contained the Java platform. … But by copying the code and releasing Android, Google eliminated Oracle’s opportunity to license its code for that use."

He compares the majority’s argument that Google’s use of the Java code was transformative because it enabled Java programmers to create new apps to the argument that a movie studio’s basing a film on a book without permission would be transformative because it would enable film reviewers and merchandisers to create new products.

"The majority purports to save for another day the question whether declaring code is copyrightable. The only apparent reason for doing so is because the majority cannot square its fundamentally flawed fair-use analysis with a finding that declaring code is copyrightable. The majority has used fair use to eviscerate Congress’ considered policy judgment" that computer code is copyrightable, he concluded. —Lynn Stanton, [email protected]

MainStory: FederalNews Courts

Back to Top

Interested in submitting an article?

Submit your information to us today!

Learn More