The US Supreme Court has sided with Google in the search company's long-running legal fight with Oracle, declaring Android could use APIs from the Oracle-owned Java.
In Monday's ruling, based on arguments from October 2020, the Supreme Court decided that Google's use of API code from Java was "fair use." The decision, which effectively overrules an earlier federal ruling that Google infringed on the code, allowing the search company to escape paying potentially billions to Oracle.
Google was accused of copying roughly 11,500 lines of code from Java SE's API for use in its development of Android as a mobile platform. Oracle believed this was an infringement of its copyright, prompting lawsuits.
In its ruling, the Supreme Court states Google's copying "only those lines of code that were needed to allow programmers to put their accrued talents to work in a new and transformative program" was deemed "a fair use of that material as a matter of law."
The copied lines of code were "part of a user interface' that provides a way for programmers to access prewritten computer code through the use of simple commands," the court reasoned. In effect, the code is different from other types used to instruct a computer to execute a task, a type of code that would have found more in Oracle's favor.
"As part of an interface, the copied lines are inherently bound together with uncopyrightable ideas (the overall organization of the API) and the creation of a new creative expression (the code independently written by Google)" the ruling states. "Unlike many other computer programs, the value of the copied lines is in significant part derived from the investment of users (here computer programmers) who have learned the API's system."
"Given these differences, application of fair use here is unlikely to undermine the general protection that Congress provided for computer programs."
The court also found that the lines of code Google copied was unsubstantial, with the 11,500 lines making up 0.4% of the entire API. Google had copied the lines only to allow the creation of new code for Android, "not because of their creativity or beauty."
The 6-2 ruling had Justices Breyer, Roberts, Sotomayor, Kagan, Gorsuch, and Kavanaugh siding with Google. Justices Thomas and Alito dissented. Justice Barrett did not take part in the consideration or decision of the case.
The affair started in 2011, when Google was found to have used Oracle's Java code within Android. The discovery led to the start of a series of lawsuits over the next decade. A repeated lawsuit took place in 2016 over the matter, seeking $8.8 billion from Google based on Android's $21 billion profit to date at that time.
In 2018, the US Court of Appeals for the Federal Circuit agreed with Oracle in its claim Google's use of the code wasn't fair use, effectively reversing an opposite decision by a jury on the matter. At the time, the matter of determining damages was referred to a lower court, but a review of the Federal Circuit's decision prompted a review by the Supreme Court.
The decision doesn't end the lawsuit immediately, but it does effectively kill off any real chance of Oracle securing billions in damages from Google using its current copyright infringement argument.
Oracle and Google have yet to comment on the ruling.
42 Comments
This sounds like a well-reasoned decision. What Google did is roughly analogous to a composer copying two bars of a 200 bar piece to join two sections together (in a new work), or transition between them. A copyright claim would be laughed out of court in that (grossly simplified) example.
A very, very bad precedent opening the door to stealing code from anyone by anyone. Just my humble opinion.
There is no doubt that Google's copying of Java without paying licensing fees gave them an unfair advantage over competitors who were paying those same licensing fees at the time. It essentially gained them a mature app development platform and community of developers which Sun had invested a lot of money to build, without them paying a cent. Which, in turn, made it easy for those developers to port their existing apps to Android and build a rich app ecosystem to compete with Apple (who had actually invested in their own app development platform).
The fact that there aren't laws to protect companies which invest heavily in R&D against those which simply look for ways to work around licensing agreements is a sad state of affairs.
Please recall that the original judge to rule on this case was a former programmer - as a hobby - and he called out Oracle's nonsense for what it was. Had the subsequent judges, juries etc. been required to take an online programming course Oracle's years long attempt to profit off Google's hard work would have been avoided. Keep in mind: Oracle was the same company who spent years claiming that the cloud would fail. Now Azure and Amazon both are making a mint on tools that will convert Oracle's byzantine legacy database into a much more modern cloud database for free.
Oracle bought Sun - who agreed to let Google use the APIs and stated so in the trial - because they thought that they could make hundreds of billions of Java licenses. They didn't know - because I guess all their programmers were still using PL/1 and COBOL - that virtually none of the people who used Java paid for it. Sun gave Java away to nearly everyone for free because they wanted to create a standard Internet programming platform for front end, middleware and backend. Legacy companies like Microsoft, Oracle and Apple couldn't wrap their heads around the need for such a thing at the time. Even though they wanted to get paid and licensed, they were fine with Google not paying them because Sun wanted Android to succeed too. Yes, Sun wanted Android to succeed as an open mobile platform because their alternative as an open mobile platform had already failed. If Android wasn't going to succeed then mobile would have been split between proprietary incompatible platforms by Apple, Microsoft and Nokia.
Oracle made a bad purchase and tried to sue Google in order to recoup some of their bad investment. Didn't work. Plus, software development has moved on anyway. Java is now a legacy platform. The MEAN stack - MongoDB and Javascript frameworks Express, Angular and NodeJS - has replaced the LAMP (Linux, Apache, MongoDB and Python/Perl) stack. Also the people who would have been learning Java 10 years ago are now learning Python, Golang and Rust. Even Google has essentially replaced Java on Android with Kotlin (Javascript that compiles to the JVM).
Google delayed ARM on ChromeOS because they didn't want Oracle to cite it as a talking point. Now they are moving full steam ahead, licensing ChromeOS on Qualcomm (before it was only available on MediaTek) and also designing their own ARM SOC for use with ChromeOS and Android. They knew after the Supreme Court argument that Oracle was going to lose. All Oracle did with this nonsense was enrich their lawyers. Instead of wasting 8 years suing Google they should have spent that time and money developing their own next generation cloud database and programming language platform. Instead they bought formerly open source MySQL instead, resulting in pretty much everyone who used MySQL dumping it for any alternative they could find.