Hro Banner
April 7, 2021

Supreme Court Finds Google’s Copying of Java APIs To Be Permitted Fair Use

After more than a decade of litigation, on April 5, 2021, the Supreme Court of the United States ruled in favor of Google in its long-running copyright dispute with Oracle, in a 6-2 decision authored by Justice Breyer.[1]  Although the Court declined to answer whether Oracle’s Java APIs were copyrightable, it held that Google’s copying of 11,500 lines of declaring code—necessary to implement computer programs developed using the Java interface—was a permissible fair use because of the functional nature of the code being copied and the limited scope of Google’s copying.  In dissent, Justice Thomas, joined by Justice Alito, argued that the majority had improperly lessened the scope of protection for computer software.  The decision will likely have significant ramifications for firms operating in the technology sector, as district courts are increasingly forced to grapple with the application of fact-specific fair use factors and the policy goals of copyright protection as applied to software.


Background and History of the Case

The Supreme Court’s decision was more than a decade in the making.  Oracle filed suit against Google in the United States District Court for the Northern District of California in 2010, alleging both patent and copyright infringement.  With respect to Oracle’s copyright claims, Oracle identified the “declaring code” in 37 packages of Java Application Programming Interface (API) packages, which Google had copied to build its Android platform for mobile devices.  This declaring code allows programmers to call up prewritten computing tasks for use in their own programs, which execute “implementing code.”  As the Supreme Court analogized, the use of declaring code to execute a computer program can be compared to employing a robot to pick out a specific recipe from a filing cabinet.[2]  Just as the robot can select a recipe and hand it to the chef to prepare the dish without necessarily knowing the dish’s contents or ingredients, so too does the API enable a computer system to carry out a program without necessarily using or learning the “implementing code” of the computer program.[3]

After a first trial, in April 2012, the jury found that Google’s use infringed Oracle’s copyrights but deadlocked on the issue of whether Google had a valid fair use defense.[4]  Setting aside the jury’s finding, the district court held that the APIs were not copyrightable as a matter of law, and entered judgment in favor of Google.[5]  The district court reasoned that the Java APIs represented “a precise command structure—a utilitarian and functional set of symbols, each to carry out a preassigned function.”[6]  Finding that this command structure “is a system or method of operation,” the District Court found it uncopyrightable.[7]  Oracle appealed to the Federal Circuit.

The Federal Circuit reversed, ruling that Oracle’s Java API was entitled to copyright protection.[8]  In its decision, the Federal Circuit relied on the fact that Google “could have structured Android differently,” “could have chosen different ways to express and implement the functionality that it copied,” and could have offered the very same functionality without copying the declaring code from Oracle—in fact, Google had designed several API packages from scratch for Android, just not the 37 that it copied from Java.[9]  Thus, the Federal Circuit found that the APIs were not purely functional, and remanded for further proceedings on Google’s fair use defense.  Google’s petition for writ of certiorari, on the limited question of copyrightability, was denied.[10]

The district court held a second jury trial to resolve Google’s fair use defense, arising under 17 U.S.C. § 107.  The jury ruled in favor of Google, Oracle again appealed, and the Federal Circuit again reversed.[11]  The appellate court determined that “[a]lthough Google could have furthered copyright’s goals of promoting creative expression and innovation by developing its own APIs, or by licensing Oracle’s APIs for use in developing a new platform, it chose to copy Oracle’s creative efforts instead.”[12]  The Federal Circuit concluded that “there is nothing fair about taking copyrighted work verbatim and using it for the same purpose and function as the original in a competing platform.”[13]

Google again petitioned the Supreme Court for certiorari, and on November 15, 2019, the petition was granted.[14]  Oral argument was heard on October 7, 2020, and, on April 5, the Court issued its decision, with Justice Breyer writing for a 6-2 majority, and Justice Thomas, joined by Justice Alito, in dissent.[15]

Relying on the “Functional” Nature of Declaring Code, the Majority Opinion Found that Google’s Copying Was Fair Use

Justice Breyer, writing for the majority, described the two questions before the Court:  first, whether the APIs at issue qualified for copyright protection, and second, whether Google’s copying was protected as a fair use.[16]  Recognizing that Google needed only to prevail on one of the issues, the Court answered only the latter.[17]  Although the Court assumed, arguendo, that the API was copyrightable, it declined to reach that question as a matter of law, in view of the “rapidly changing technological, economic, and business-related circumstances.”[18]

The majority analyzed the four fair use factors set forth by 17 U.S.C. § 107, considering “the purpose and character of the use,” “the nature of the copyrighted work,” “the amount and substantiality of the portion used,” and “the effect of the use upon the potential market for or value of the copyrighted work.”[19]  Yet it contextualized this fact-specific inquiry within a policy-driven framework; although the statute “set forth general principles,” their application “requires judicial balancing, depending upon relevant circumstances, including significant changes in technology.”[20]  The Court’s opinion similarly centers the “basic purpose” of the Copyright Act in rejecting a one-size-fits-all approach to fair use; forestalling Justice Thomas’s dissent, the majority concluded that “just as fair use takes account of the market in which scripts and paintings are bought and sold, so too must it consider the realities of how technological works are created and disseminated.”[21] 

Recognizing as a threshold matter that fair use is a question of law for courts to resolve, not a factual determination to be decided by a jury, the Court began not by considering the so-called first fair use factor—the purpose and character of Google’s use—but by analyzing the nature of the copyrighted work.[22]  In particular, although it declined to reach the question of copyrightability, the majority held that the declaring code at issue, although similar to other kinds of software, “differs [ ] from many other kinds of copyrightable code.”[23]  Most notably, the Court held that unlike implementing code, declaring code is “inextricably bound up” with its core functions and “inherently bound together with uncopyrightable ideas,”and pointed to trial testimony which “was replete with examples of witnesses drawing this critical line between the user-centered declaratory code and the innovative implementing code,” the latter of which Google did not copy.[24]  Thus, even as they held, for argument’s sake, that the declaring code was copyrightable, the majority deemed it “further than are most computer programs … from the core of copyright,” weighing in favor of fair use.[25]      

The Court further held that the purpose and character of Google’s use was transformative, and that this factor, too, supported a finding of fair use, in view of the policy objectives undergirding the Copyright Act.[26]  “Here, 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. … 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.”[27]  In particular, the majority contextualized Google’s copying as “reimplementation” of the declaring code by introducing it to a “distinct and different computing environment,” a use which “can further the development of computer programs” through shared interfaces and common language for consistency of use.[28]

Third, the Court considered the amount and substantiality of the portion of the Sun Java API used by Google—primarily, whether the proper denominator was the “11,500 lines of code” copied for use in Android, or the “total set of Sun Java API computer code,” which amounted to nearly 3 million lines.[29]  Again relying on the distinction between declaring and implementing code, the majority determined that “the better way to look at the numbers is to take into account the several million lines that Google did not copy.”[30]  Google copied the declaring code, the Court held, solely so that it could contract programmers who had learned to work with the Sun Java API, in order “to create a different task-related system for a different computing environment.”[31]  “In a sense, the declaring code was the key that [Google] needed to unlock the programmers’ creative energies.  And it needed those energies to create and to improve its own innovative Android systems.”[32]  As such, this factor also supported a fair use finding.

Finally, the majority held that the fourth statutory fair use factor, the effect of the copying on the market or value of the copyrighted work, also weighed in favor of fair use.[33]  In reaching this conclusion, the Court recognized that included within the “market effects” prong is consideration of “the public benefits that copying will likely produce,” and whether those benefits are “related to copyright’s concern for the creative production of new expression.”[34]  The majority’s analysis was fact-specific, weighing, on the one hand, the possibility that Google’s copying did not affect the market for the Java APIs against Google’s own windfall resulting from that copying.  The Court noted that Oracle had not been able to develop its own smartphone platform, and that Android devices were “different in kind” from devices that licensed the Java APIs—and even that Oracle had foreseen a benefit from the greater adoption of Java languages across different markets.[35]  Moreover, the Court held that it was irrelevant to the fair use analysis that Oracle and Google had engaged in licensing negotiations prior to Google’s copying of the Java APIs.[36]  And although Google had made vast sums of money on the Android platform, the majority held that Oracle was not entitled to any of it:  the use of the Java APIs contributed to Android’s profitability only in that time commitments by programmers had made it the interface of choice for development of implementing code.[37]  “We have no reason to believe that the Copyright Act seeks to protect third parties’ investment in learning how to operate a created work.”[38]  To decline to find fair use, the majority held, “would make of the Sun Java API’s declaring code a lock limiting the future creativity of new programs.  Oracle alone would hold the key.”[39]  The court determined that such a result would frustrate, not further, the objectives of copyright.[40]

The Court reiterated, in conclusion, that its majority opinion reflected an effort to adapt traditional copyright concepts to the specific, and “primarily functional,” context of computer programs.[41]  It cautioned that it did not “overturn or modify [its] earlier cases involving fair use—cases, for example, that include ‘knockoff products, journalistic writings, and parodies.’”[42]  Instead, because the works at issue were a “different kind of copyrighted work,” they merited a different application of the same principles in reaching a determination of fair use.

In Dissent, Justice Thomas Criticizes the Majority’s Failure to Reach the Question of Copyrightability and Its Holding that Declaring Code is “Less Worthy of Protection”

In a spirited dissent, Justice Thomas, joined by Justice Alito, argued that the majority “wrongly sidesteps the principal question that [the Court] was asked to answer:  Is declaring code protected by copyright?”[43]  Justice Thomas noted that he would answer in the affirmative, but that “[b]y skipping copyrightability, the majority gets the methodology backward, causing the Court to sidestep a key conclusion that ineluctably affects the fair-use analysis:  Congress rejected categorical distinctions between declaring and implementing code.”[44]  In particular, Justice Thomas relied on the statutory definition of copyrightable “computer code” under 17 U.S.C. § 101—“statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.”[45]  Finding declaring code an example of such indirect instructions, the Dissent posits that it is due full copyright protection under statute, whereas the logic of the majority “makes it difficult to imagine any circumstances in which declaring code will remain protected by copyright.”[46]

Justice Thomas also concluded that the fair use factors weighed against Google, not in favor of it, and chastised the majority for evaluating them “neither in sequential order nor in order of importance.”[47]  Most pertinently, the Dissent argues that, contrary to the majority opinion, declaring code is neither far from the “core of copyright” (“Congress, however, rejected this sort of categorical distinction”) nor less worthy of protection because it is inextricably bound with uncopyrightable ideas, asking “Is anything not?”[48]  Indeed, Justice Thomas contended that the value of an API relying on the investment of third parties makes it no different from other copyrighted works—“[a] Broadway musical script needs actors and singers to invest time learning and rehearsing it.”[49]

The Dissent also asserts that the “market effects” prong is “the single most important fair-use factor,” but was given unduly little weight by the majority—and weighs strongly in favor of Oracle.[50]  In particular, Justice Thomas held that Google’s copying resulted both in diminished licensing revenues for Oracle of the Java API (in at least two cases, resulting in a 97.5% discount), and limited Oracle’s opportunities to license the Java API by creating a competing platform, Android.[51]  The Dissent also downplays concerns about “lock-in power,” especially because Apple and Microsoft were able to create mobile operating systems that did not use Oracle’s declaring code; rather, it was Google’s Android platform that presented looming antitrust concerns.[52]

Third, Justice Thomas held that the “purpose and character of the use” heavily favored Oracle, because Google’s use of the API was “overwhelming[ly] commercial” and insufficiently transformative; the Dissent posits that Google’s “intended purpose [was] supplanting Oracle’s commercially valuable platform with its own.”[53]  According to Justice Thomas, the majority’s definition—that facilitating the creation of new products is necessarily transformative—“eviscerates copyright,” analogizing to a “movie studio that converts a book into a film without permission.”[54]  “Ultimately, the majority wrongly conflates transformative use with derivative use.  To be transformative, a work must do something fundamentally different from the original.”[55]  Finding that Google had not achieved that end, the Dissent concluded that the purpose of its use weighed in favor of Oracle.

Finally, the Dissent rejects the majority’s holding that Google’s copying amounted to only 0.4% of the total sum of Java API code.  Rather, Justice Thomas determined that Google copied “the heart or focal points of Oracle’s work.  The declaring code is what attracted programmers to the Java platform and why Google was so interested in that code.  And Google copied that code verbatim, which weighs against fair use.”[56]

Conclusion and Takeaways

Although the Supreme Court declined to determine whether declaring code is copyrightable, its fair use analysis sets broad guidelines for resolving similar disputes in the future.  Going forward, counselors and courts alike will be tasked with analyzing whether software components are more akin to declaring code or implementing code to evaluate risks that arise during software development in an increasingly cloud-oriented world in which APIs play an increasingly important role.  While the answer is now clear for the Java APIs and the Android operating system, application of these fair use principles in other contexts is far from clear, yet will have important effects on future software development.

Click here to download this article.



[1]   Google LLC v. Oracle America, Inc., No. 18-956, 593 U.S. –, slip op. (Apr. 5, 2021), here (“Op.”).

[2]   Id. at 6-7.

[3]   Id.

[4]   Id. at 9-10.  The jury also rejected Oracle’s patent claims.

[5]   Oracle America, Inc. v. Google Inc., 872   F. Supp. 2d 974 (N.D. Cal. 2012).

[6]   Id. at 977.

[7]   Id.

[8]   Oracle America, Inc. v. Google Inc., 750 F.3d 1339 (Fed. Cir. 2014).

[9]   Id. at 1368.

[10] Google, Inc. v. Oracle America, Inc., 576 U.S. 1071 (2015).

[11] Op. at 10-11; Oracle America, Inc. v. Google LLC, 886 F.3d 1179 (Fed. Cir. 2018).

[12] 886 F.3d at 1210.

[13] Id.

[14] Google LLC v. Oracle America, Inc., 140 S. Ct.. 520 (Mem.) (2019).

[15] Justice Barrett, who had not yet been seated  at the time of oral argument, took no part in the
       consideration or decision of the case.

[16] Op. at 14-15.

[17] Id. at 15.

[18] Id.

[19] Id. at 13-14) (citing § 107). 

[20] Id. at 14 (citation omitted).

[21] Id. at 14, 17-18.

[22] Id. at 18-24.

[23] Id. at 22.

[24] Id. at 22-24.

[25] Id. at 24.

[26] Id. at 24-28.

[27] Id. at 25.

[28] Id. at 26-27.

[29] Id. at 28-30.

[30] Id. at 29.

[31] Id.

[32] Id. at 30.

[33] Id. at 30-34.

[34] Id. at 31.

[35] Id. at 31-33.

[36] Id. at 33.

[37] Id. at 33-34.

[38] Id. at 34.  

[39] Id.

[40] Id.

[41] Id. at 35.

[42] Id.

[43] Google LLC v. Oracle America, Inc., No. 18-956, 593 U.S. –, slip op. at 4, Thomas, J. dissenting
       (Apr. 5, 2021), here (“Dissent”).

[44] Id. at 4, 7-8.

[45] Id. at 4-5.

[46] Id. at 8.

[47] Id. at 8-9.

[48] Id. at 9-10.

[49] Id. at 10-11.

[50] Id. at 11-12.

[51] Id. at 12-13.

[52] Id. at 13-14.

[53] Id. at 15 (internal quotations omitted).

[54] Id. at 16-17.

[55] Id. at 17.

[56] Id. at 18 (internal quotation and citations omitted).