In a much-anticipated decision over alleged copyright infringement by online titan Google for copying elements of the Java programming language owned by software giant Oracle, the U.S. Supreme Court recently ruled 6-2 in favor of ... ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­ ͏ ‌     ­

Google v. Oracle – SCOTUS Decides Landmark Software Copyright Case

Intellectual Property

In a much-anticipated decision over alleged copyright infringement by online titan Google for copying elements of the Java programming language owned by software giant Oracle, the U.S. Supreme Court recently ruled 6-2 in favor of Google, finding its actions constituted “fair use” under U.S. copyright law. Google LLC v. Oracle America, Inc., 593 U.S. __ (2021).

At issue were 11,500 lines of code, relating to 37 Java APIs (application programming interfaces) copied by Google after a prospective licensing deal with Oracle fell through. Id. at 3. Google claimed it used only minimal amounts of Oracle’s code to enable programmers who were familiar with Oracle’s well-known Java programming language1 to better utilize the Android platform. Id. The Court reversed the Federal Circuit’s ruling in favor of Oracle’s infringement claim in this multi-billion-dollar lawsuit, instead finding that Google’s copying of Oracle’s code was fair use.

In typical copyright infringement analyses, courts look to: 1) whether the plaintiff owns a valid copyright (i.e., proper ownership of the right in an original work of authorship that is fixed in a tangible medium); and 2) whether the defendant infringed (copied) expressive elements of that copyrighted work. See generally, 17 U.S.C. §§ 106 and 501. Only once this analysis concludes that a valid copyright was infringed does a court typically look to fair use – an affirmative defense to copyright infringement. 17 U.S.C. § 107. See, e.g., Perfect 10, Inc. v., Inc., 508 F.3d 1146, 1163 (9th Cir. 2007).

The first prong of the foregoing analytical framework can be particularly challenging in connection with computer software since computer programs are expressly acknowledged to be protectable by copyright, see 17 U.S.C. §§101, 117. Simultaneously, copyright protection excludes “any idea, procedure, process, system, method of operation, concept, principle, or discovery.” 17 U.S.C. § 102(b). For example, an API (a sort of interface or software intermediary between applications) could easily be classified as a “process” or “system.” The Supreme Court analogized the Java API to a robot in a factory retrieving code from file cabinets and delivering it to the program and, later, to the organizational scheme of the Dewey Decimal System. Google, 593 U.S. __, at pp. 6–7.

The trial court judge in the case had earlier decided, as a matter of law, that the API, as a “system or method of operation,” was not copyrightable. Oracle Am., Inc. v. Google Inc., 872 F. Supp. 2d 974, 977 (N.D. Cal. 2012), rev’d and remanded, 750 F.3d 1339 (Fed. Cir. 2014). On appeal, the Federal Circuit found that the code was copyrightable, but then reversed the jury’s finding that Google’s copying was fair use, instead finding “[t]here is nothing fair about taking a copyrighted work verbatim and using it for the same purpose and function as the original in a competing platform.” Oracle, 886 F. 3d at 1210.

On appeal, the Supreme Court notably acknowledged, but pointedly declined to address, the question of whether the Java APIs were, indeed, copyrightable subject matter, electing instead to “assume … for argument’s sake that the copied lines can be copyrighted,” 593 U.S. __, at p. 1 (emphasis added), and proceeding directly to the question of fair use.

Acknowledging the “judge-made origins” of the fair use doctrine, the Supreme Court emphasized that “the doctrine is flexible, that courts must apply it in light of the sometimes conflicting aims of copyright law, and that its application may well vary depending upon the context.” Id. at p. 15. That is, fair use analysis “requires judicial balancing, depending on the relevant circumstances, including significant changes in technology.” Id. at p. 14 [internal quotations omitted, citing Sony Corp. of America v. Universal City Studios, Inc., 464 U.S. 417, 430 (1984)]. The Court further explained that “computer programs differ from… many other ‘literary works,’ in that such programs almost always serve functional purposes,” which had “led Congress to think long and hard about whether to grant computer programs copyright protection” at all [citing the Final Report of the National Commission on New Technological Uses of Copyrighted Works (CONTU) and noting the “important role [of fair use] in determining the lawful scope of a computer program copyright”]. Id.

Recognizing fair use as a mixed question of law and fact, the Supreme Court agreed that the Federal Circuit’s determination of no fair use was a de novo legal decision based on the trial jury’s findings of underlying facts, but then reviewed the four statutory fair use factors2 and reversed the Federal Circuit’s decision on the merits.

Identifying three types of code involved in the Java API – 1) “implementing code,” which instructs the computer on steps to follow to carry out a task (and was, in this case, written by Google); 2)“method calls” that command associated tasks; and 3)“declaring code” that labels particular tasks and organizes them in particular structures (and which was the basis of Oracle’s infringement claim) – the Court found use of the declaring code to be “inherently bound together with uncopyrightable ideas,” and, therefore, favoring fair use. Similarly, the Court found that Google’s purpose and the character of its copying was “transformative” in nature and used to foster creativity through “reimplementation” for new platforms (e.g., Android smart phones), also favoring fair use.

Further, the Court held that the 11,500 lines of code copied were only 0.4% of the 2.86 million lines of code in the Java API and that “where, as here, the amount of copying was tethered to a valid, and transformative, purpose,” Id. at p. 29, “the ‘substantiality factor’ also weighs in favor of fair use.” Id. Finally, the Court found that “Android did not harm the actual or potential markets for Java SE,” and that “given programmers’ investment in learning the Sun Java API, to allow enforcement of Oracle’s copyright here would risk harm to the public… [creating] a lock limiting the future creativity of new programs [to which] Oracle alone would hold the key.” Id. at pp. 31 and 34. Accordingly, the Court held that Google’s copying of the Sun Java API was a fair use of that material as a matter of law. Id. at p. 35.

Justice Thomas’s scathing dissent, joined by Justice Alito (Justice Barrett took no part in the consideration of the case), discussed the years Oracle spent developing a program library for software developers, Google’s initial attempt to license the code (arguably indicating Google believed it to be both valuable and copyrightable) and the tens of billions of dollars in revenue Google had made as a result of the direct copying of those 11,500 lines of code. Google, 593 U.S. __, Dissent at pp. 1–2. Justice Thomas also pointed out that the majority failed to address the principal question of whether the code is copyrightable, stating he would hold that it is. Id. at p. 4. He analogized the APIs to math functions and accounting methods, reminding the majority that while ideas cannot be copyrighted, expression of those ideas can, and traditional copyrightable items like books are also inherently bound with noncopyrightable ideas. Id. at pp. 7, 10.

Beyond the Supreme Court’s analysis of the fair use doctrine in the context of computer software, this case invites broader questions about proprietary rights in software and how, in light of both this decision and Alice Corp. v. CLS Bank International, 573 U.S. 208 (2014)3, software developers may best be able to protect and monetize their rights.

Particularly in light of these recent decisions, protecting rights in software demands careful, strategic thought and invites due consideration of a mixture of trade secret, copyright, patent and contract law to secure and maintain appropriate protections effectively and efficiently.

1Java was developed at Sun Microsystems in the 1990s. Sun was later acquired by Oracle.
2The four factors for determining fair use 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. 17 U.S.C. § 107.
Holding that claims about a computer-implemented service facilitating financial transactions was an abstract idea ineligible for patent protection, and mere instructions to implement an abstract idea on a computer cannot impart patent eligibility without a sufficient transformation. See generally, Alice Corp. v. CLS Bank International, 573 U.S. 208 (2014).

If you have questions about copyright law, fair use, software protection and commercialization, or other related matters, please feel free to contact any of the authors listed below or your regular contact at Calfee.


For more updates and alerts, visit the News section of


    LinkedIn    Facebook    Instagram    Threads