It's been over a decade since Oracle first began its lawsuit against Google over the use of parts of the Java platform in Android. Today, the United States Supreme Court finally ended it, with Google being the long-protracted winner. While the relevant bits of Java haven't been used by Android in years, the end of this court battle sets a precedent in US copyright law that will be important for almost anyone making software platforms in the future.
Specifically, the Supreme Court ruled that Google was exercising the fair use doctrine when it copied portions of the open source Sun Java API for use in Android. A quote from the Court's conclusion:
The fact that computer programs are primarily functional makes it difficult to apply traditional copyright concepts in that technological world... 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 word "transformative" is a crucial one to Google's fair use defense. It's usually applied to a creative work: taking existing pieces of something and using them in your own project is fine, so long as the work you've done to it is transformative. It's what makes, say, a movie like Austin Powers a parody rather than a direct ripoff, even if bits and pieces of it are more or less entirely copies of James Bond movies.
For more technical concepts, things get tricky, and it's not always clear what counts as a transformation for legal purposes. Google has been in this fight before: in 2015, a federal court ruled that the company could scan copyrighted book pages for search and index on Google Books, because the catalog nature of the product was transformative. Google copied more than 11,000 lines of code from the Java API in its original build of Android.
In the "epic" $9 billion suit Google v. Oracle, the latter established that basic portions of a program like an API are indeed subject to the laws of copyright, though the court rejected Oracle's attempt to patent them. (That's an entirely different can of worms.) Google appealed through federal district courts to the US Supreme Court, but the original ruling stood in 2015.
Since 2016, Google has been arguing that its implementation of Java in Android was subject to the US standard of fair use. Today's judgement verifies that claim, and Oracle won't get its billions in payouts for copyright violation. Of course, a pair of lawsuits that went on for more than ten years means both sides will have spent tens of millions (possibly more) in legal fees.
Android hasn't used Java code since Nougat (version 7) was released in 2016, but the fight between Google and Oracle still ran up and down the US court system. With a definitive judgement from the country's highest legal body, it appears that this fight is finally finished.