Google LLC v. Oracle Am., Inc.
Decision Date | 05 April 2021 |
Docket Number | No. 18-956,18-956 |
Citation | 209 L.Ed.2d 311,141 S.Ct. 1183 |
Parties | GOOGLE LLC, Petitioner v. ORACLE AMERICA, INC. |
Court | U.S. Supreme Court |
Thomas C. Goldstein, Bethesda, MD, for the petitioner.
E. Joshua Rosenkranz, New York, NY, for the respondent.
Deputy Solicitor General Malcolm L. Stewart for the United States as amicus curiae, by special leave of the Court, supporting the respondent.
Kent Walker, Catherine Lacavera, Renny Hwang, Google LLC, Mountain View, CA, Lisa S. Blatt, David M. Krinsky, Sarah M. Harris, Meng Jia Yang, Williams & Connolly LLP, Washington, DC, Robert A. Van Nest, Christa M. Anderson, Eugene M. Paige, Reid P. Mullen, Keker, Van Nest, & Peters LLP, San Francisco, CA, Thomas C. Goldstein, Sarah E. Harrington, Kevin K. Russell, Daniel Woofter, Erica Oleszczuk Evans, Goldstein & Russell, P.C., Bethesda, MD, Michael S. Kwun, Kwun Bhansali Lazarus LLP, San Francisco, CA, Bruce W. Baber, Marisa C. Maleck, King & Spalding LLP, Atlanta, GA, for petitioner.
Dorian E. Daley, Deborah K. Miller, Matthew M. Sarboraria, Andrew C. Temkin, Oracle America, Inc., Redwood Shores, CA, Dale M. Cendali, Joshua L. Simmons, Jordan M. Romanoff, Ari E. Lipsitz, Kirkland & Ellis LLP, New York, NY, E. Joshua Rosenkranz, Annette L. Hurst, Peter Bicks, Lisa T. Simpson, Andrew D. Silverman, Matthew R. Shahabian, Jeremy Peterman, Hannah Garden-Monheit, Geoffrey Moss, Orrick, Herrington & Sutcliffe LLP, New York, NY, for respondent.
Oracle America, Inc., is the current owner of a copyright in Java SE, a computer program that uses the popular Java computer programming language. Google, without permission, has copied a portion of that program, a portion that enables a programmer to call up prewritten software that, together with the computer's hardware, will carry out a large number of specific tasks. The lower courts have considered (1) whether Java SE's owner could copyright the portion that Google copied, and (2) if so, whether Google's copying nonetheless constituted a "fair use" of that material, thereby freeing Google from copyright liability. The Federal Circuit held in Oracle's favor (i.e. , that the portion is copyrightable and Google's copying did not constitute a "fair use"). In reviewing that decision, we assume, for argument's sake, that the material was copyrightable. But we hold that the copying here at issue nonetheless constituted a fair use. Hence, Google's copying did not violate the copyright law.
In 2005, Google acquired Android, Inc., a startup firm that hoped to become involved in smartphone software. Google sought, through Android, to develop a software platform for mobile devices like smartphones. 886 F.3d 1179, 1187 (C.A. Fed. 2018) ; App. 137–138, 242–243. A platform provides the necessary infrastructure for computer programmers to develop new programs and applications. One might think of a software platform as a kind of factory floor where computer programmers (analogous to autoworkers, designers, or manufacturers) might come, use sets of tools found there, and create new applications for use in, say, smartphones. (For visual explanations of "platforms" and other somewhat specialized computer-related terms, you might want to look at the material in Appendix A, infra .)
Google envisioned an Android platform that was free and open, such that software developers could use the tools found there free of charge. Its idea was that more and more developers using its Android platform would develop ever more Android-based applications, all of which would make Google's Android-based smartphones more attractive to ultimate consumers. Consumers would then buy and use ever more of those phones. Oracle America, Inc. v. Google Inc. , 872 F.Supp.2d 974, 978 (N.D. Cal. 2012) ; App. 111, 464. That vision required attracting a sizeable number of skilled programmers.
At that time, many software developers understood and wrote programs using the Java programming language, a language invented by Sun Microsystems (Oracle's predecessor). 872 F.Supp.2d at 975, 977. About six million programmers had spent considerable time learning, and then using, the Java language. App. 228. Many of those programmers used Sun's own popular Java SE platform to develop new programs primarily for use in desktop and laptop computers. Id ., at 151–152, 200. That platform allowed developers using the Java language to write programs that were able to run on any desktop or laptop computer, regardless of the underlying hardware (i.e. , the programs were in large part "interoperable"). 872 F.Supp.2d at 977. Indeed, one of Sun's slogans was " ‘write once, run anywhere.’ " 886 F.3d at 1186.
Shortly after acquiring the Android firm, Google began talks with Sun about the possibility of licensing the entire Java platform for its new smartphone technology. Oracle , 872 F.Supp.2d at 978. But Google did not want to insist that all programs written on the Android platform be interoperable. 886 F.3d at 1187. As Android's founder explained, "[t]he whole idea about [an] open source [platform] is to have very, very few restrictions on what people can do with it," App. 659, and Sun's interoperability policy would have undermined that free and open business model. Apparently, for reasons related to this disagreement, Google's negotiations with Sun broke down. Google then built its own platform.
The record indicates that roughly 100 Google engineers worked for more than three years to create Google's Android platform software. Id. , at 45, 117, 212. In doing so, Google tailored the Android platform to smartphone technology, which differs from desktop and laptop computers in important ways. A smartphone, for instance, may run on a more limited battery or take advantage of GPS technology. Id., at 197–198. The Android platform offered programmers the ability to program for that environment. To build the platform, Google wrote millions of lines of new code. Because Google wanted millions of programmers, familiar with Java, to be able easily to work with its new Android platform, it also copied roughly 11,500 lines of code from the Java SE program. 886 F.3d at 1187. The copied lines of code are part of a tool called an Application Programming Interface, or API.
What is an API? The Federal Circuit described an API as a tool that "allow[s] programmers to use ... prewritten code to build certain functions into their own programs, rather than write their own code to perform those functions from scratch." Oracle America, Inc. v. Google, Inc. , 750 F.3d 1339, 1349 (2014). Through an API, a programmer can draw upon a vast library of prewritten code to carry out complex tasks. For lay persons, including judges, juries, and many others, some elaboration of this description may prove useful.
Consider in more detail just what an API does. A computer can perform thousands, perhaps millions, of different tasks that a programmer may wish to use. These tasks range from the most basic to the enormously complex. Ask the computer, for example, to tell you which of two numbers is the higher number or to sort one thousand numbers in ascending order, and it will instantly give you the right answer. An API divides and organizes the world of computing tasks in a particular way. Programmers can then use the API to select the particular task that they need for their programs. In Sun's API (which we refer to as the Sun Java API), each individual task is known as a "method." The API groups somewhat similar methods into larger "classes," and groups somewhat similar classes into larger "packages." This method-class-package organizational structure is referred to as the Sun Java API's "structure, sequence, and organization," or SSO.
For each task, there is computer code, known as "implementing code," that in effect tells the computer how to execute the particular task you have asked it to perform (such as telling you, of two numbers, which is the higher). See Oracle , 872 F.Supp.2d at 979–980. The implementing code (which Google independently wrote) is not at issue here. For a single task, the implementing code may be hundreds of lines long. It would be difficult, perhaps impossible, for a programmer to create complex software programs without drawing on prewritten task-implementing programs to execute discrete tasks.
But how do you as the programmer tell the computer which of the implementing code programs it should choose, i.e. , which task it should carry out? You do so by entering into your own program a command that corresponds to the specific task and calls it up. Those commands, known as "method calls," help you carry out the task by choosing those programs written in implementing code that will do the trick, i.e. , that will instruct the computer so that your program will find the higher of two numbers. If a particular computer might perform, say, a million different tasks, different method calls will tell the computer which of those tasks to choose. Those familiar with the Java language already know countless method calls that allow them to invoke countless tasks.
And how does the method call (which a programmer types) actually locate and invoke the particular implementing code that it needs to instruct the computer how to carry out a particular task? It does so through another type of code, which the parties have labeled "declaring code." Declaring code is part of the API. For each task, the specific command entered by the programmer matches up with specific declaring code inside the API. That declaring code provides both the name for each task and the location of each task within the API's overall organizational system (i.e., the placement of a method within a particular class and the placement of a class within a particular package). In this sense, the declaring code and the method call form a link, allowing the programmer to draw upon the thousands of prewritten tasks, written in implementing code. See id., at...
To continue reading
Request your trial-
Klein v. Facebook, Inc.
... ... The Court Denies Facebook's Motion to Dismiss Advertisers GNBA Claims ... 825 1. The Google Network and Bidding Agreement ... 825 2. Advertisers Adequately Allege that the GNBA Caused Them ... See Webkinz , 695 F. Supp. 2d at 994 (quoting United States v. Oracle Corp. , 331 F. Supp. 2d 1098, 1131 (N.D. Cal. 2004) ); see also FTC v. Facebook , 560 ... Mot. at 2021 (quoting Am. Pro. Testing Serv. , 108 F.3d at 1152 ). For the reasons below, the Court rejects Facebook's ... ...
-
Fon v. Garland
... ... at 815. I am unaware of any case in which we or any other circuit court has held that a ... Bank in its subsequent decision in Google LLC v. Oracle Am., Inc. , U.S. , 141 S. Ct. 1183, 209 L.Ed.2d 311 ... ...
-
Williams v. Garland
... ... Kucana , 558 U.S. at 249, 130 S.Ct. 827 (citing Reno v. Am.-Arab Anti-Discrimination Comm. , 525 U.S. 471, 475, 119 S.Ct. 936, 142 ... at 252, 130 S.Ct. 827 (quoting McNary v. Haitian Refugee Ctr., Inc. , 498 U.S. 479, 496, 111 S.Ct. 888, 112 L.Ed.2d 1005 (1991) ). So the ... Google LLC v. Oracle Am., Inc. , U.S. , 141 S. Ct. 1183, 1200, 209 L.Ed.2d 311 ... ...
-
CDK Global LLC v. Brnovich
... ... See generally Google LLC v. Oracle Am., Inc. , U.S. , 141 S. Ct. 1183, 119193, 209 L.Ed.2d ... ...
-
IP Litigation Update in the District of Delaware (Not Patents!)
...copyright law to computer programs is like assembling a jigsaw puzzle whose pieces do not quite fit” (Google LLC v. Oracle Am., Inc., 141 S. Ct. 1183, 1198 (2021) (quotation marks omitted)) and that “[c]omputer code occupies a unique space in intellectual property” and a “library of code st......
-
A Picture, A Painting, And A Prince: The Supreme Court Addresses The 'Fair Use' Doctrine
...may be stronger where the work serves an artistic rather than a utilitarian function. Google LLC v. Oracle Am., Inc., __ U.S. __, 141 S. Ct. 1183, 1197, 209 L.Ed.2d 311 Factor 1 - Purpose and Character. The first factor "focuses on whether an allegedly infringing use has a further purpose o......
-
What Goldsmith Means to AI Trainers
...code used in a desktop environment and adapting for use in smart phones was a transformative use. See Google LLC. v. Oracle Am., Inc., 141 S. Ct. 1183 (2021). As explained in Goldsmith: [ ] Google put Sun’s code to use in the “distinct and different computing environment” of its own Android......
-
Prince, Prince, Prints: Will the Supreme Court Revisit Fair Use?
...its first major opinion on the fair use doctrine in over 25 years on April 5, 2021 when it decided Google LLC v. Oracle Am., Inc., 141 S. Ct. 1183 (2021). The Google case involved computer programming—not art—but the Google decision nonetheless was relevant since the Court discussed the fou......
-
Intellectual Property Crimes
...recently declined to address the copyrightability of application programming interfaces (APIs). Google LLC v. Oracle America, Inc., 141 S. Ct. 1183, 1208 (2021) (finding Google’s use of the relevant APIs fell within the four factors of fair use, permitting the Court to bypass the copyright......
-
A SOLUTION FOR THE THIRD-PARTY DOCTRINE IN A TIME OF DATA SHARING, CONTACT TRACING, AND MASS SURVEILLANCE.
...(5) The Court must also decide new technology cases with great commercial significance--for example, Google LLC v. Oracle America, Inc., 141 S. Ct. 1183 (2021), is estimated to be worth $9 billion. See Roger Parloff, Google and Oracle's $9 Billion 'Copyright Case of the Decade'Could Be Head......
-
UNEASY LIES THE HEAD THAT WEARS THE CROWN: A CHIEF JUSTICE'S STRUGGLE FOR HIS COURT.
...with Alito regarding the outcome in the following cases: Texas v. New Mexico, 141 S. Ct. 509, 516 (2020), Google v. Oracle Am., Inc., 141 S. Ct. 1183, 1189 (2021), Torres v. Madrid, 141 S. Ct. 989, 1003 (2021), Salinas v. U.S. R.R. Ret. Bd., 141 S. Ct. 691. 701 (2021), California v. Texas, ......
-
Ending Patent Subsidies in China
...Court Declined to Decide When Software Is Copyrightable, but Found Google’s Use to Be Fair Use 33 Google LLC v. Oracle America, Inc., 141 S. Ct. 1183, 2021 U.S.P.Q.2d 391 (2021). The U.S. Supreme Court held that Google’s use of portions of code providing application programming interfaces (......