Google LLC v. Oracle America, Inc., 593 U.S. ___ (2021), was a U.S. Supreme Court decision related to the nature of computer code and copyright law. The dispute centered on the use of parts of the Java programming language's application programming interfaces (APIs) and about 11,000 lines of source code, which are owned by Oracle (through subsidiary, Oracle America, Inc., originating from Sun Microsystems), within early versions of the Android operating system by Google. Google has since transitioned Android to a copyright-unburdened engine without the source code, and has admitted to using the APIs but claimed this was within fair use. Oracle initiated the suit arguing that the APIs were copyrightable, seeking in damages from Google's sales and licensing of the earlier infringing versions of Android. While two District Court-level jury trials found in favor of Google, the Federal Circuit court reversed both decisions, asserting APIs are copyrightable and Google's use does not fall under fair use. Google successfully petitioned to the Supreme Court to hear the case in the 2019 term, focusing on the copyrightability of APIs and subsequent fair use; the case was delayed to the 2020 term due to the COVID-19 pandemic. In April 2021, the Supreme Court ruled in a 6–2 decision that Google's use of the Java APIs fell within the four factors of fair use, bypassing the question on the copyrightability of the APIs. The decision reversed the Federal Circuit ruling and remanded the case for further review. The case has been of significant interest within the tech and software industries, as numerous computer programs and software libraries, particularly in open source, are developed by recreating the functionality of APIs from commercial or competing products to aid developers in interoperability between different systems or platforms. Background Java development Java was originally developed at Sun Microsystems starting in December 1990. It included a new programming language, a virtual machine, and a set of libraries for use with the language. These libraries are documented for programmers via application programming interfaces (APIs), which tell programmers what information to provide to library functions and what results to expect back, eliminating any need for the programmer to know how the library they are using does what it does. These libraries together provide the "Java virtual machine" which programmers write programs to use (run upon). The common way in which a common set of libraries are used across all "Java