U.S. Supreme Court sides with Google in major copyright dispute with Oracle

Desmond David

Destroy Erase Improve
Staff member
Admin
Source: U.S. Supreme Court sides with Google in major copyright dispute with Oracle

In a 6-2 decision, the justices overturned a lower court’s ruling that found Google’s inclusion of Oracle’s software code in Android did not constitute a fair use under U.S. copyright law.
Justice Stephen Breyer, writing for the majority, said that allowing Oracle to enforce a copyright on its code would harm the public by making it a “lock limiting the future creativity of new programs. Oracle alone would hold the key.”
Oracle and Google, two California-based technology giants with combined annual revenues of more than $175 billion, have been feuding since Oracle sued for copyright infringement in 2010 in San Francisco federal court.
Google had appealed a 2018 ruling by the U.S. Court of Appeals for the Federal Circuit in Washington reviving the suit.

The ruling spares Google of a potentially massive damages verdict. Oracle had been seeking more than $8 billion, but renewed estimates went as high as $20 billion to $30 billion, according to two people with knowledge of the situation.
Oracle’s lawsuit accused Google of plagiarizing its Java software by copying 11,330 lines of computer code as well as the way it is organized, to create Android and reap billions of dollars in revenue. Android, for which developers have created millions of applications, now powers more than 70% of the world’s mobile devices.
Google said it did not copy a computer program but rather used elements of Java’s software code needed to operate a computer program or platform. Federal copyright law does not protect mere “methods of operation.”

Whew. Bullet dodged. Oracle winning this case would be the beginning of a dystopian ecosystem where you'd have to get a license to use any API or library.
 

Extreme Gamer

僕はガンダム!
To be fair, Oracle has an obligation to guarantee "Write Once, Run Anywhere" which is a core tenet of Java. Google's partial use of the Java API breaks that promise. So at the very least Oracle should be able to assert trademark and IP rights to prevent Google from using the word Java anywhere in their documentation or advertising for the Android API.
 
OP
Desmond David

Desmond David

Destroy Erase Improve
Staff member
Admin
But that is not what the lawsuit is about. Oracle alleges that Google copied their API and as such must pay them royalties based on all the revenue they generated using Android. Which is bullshit because Android's APIs are based on (now defunct) Project Harmony which was going to be an open source alternative to Java APIs.
 

Anorion

Sith Lord
Staff member
Admin
Google was in talks with Oracle that failed before Android started, so trouble started there. The requirement for interoperability was where the talks broke down. Google got off on technicalities like their reason to copy was not that the "code was beautiful".

Simple thing is Google did not come up with their own code.
 
OP
Desmond David

Desmond David

Destroy Erase Improve
Staff member
Admin
Google was in talks with Oracle that failed before Android started
No. Android does not even use any code from Oracle's Java (or OpenJDK for that matter) but it was based on Project Harmony as I have mentioned above. The matter is simply that Oracle did not like that Google was "going around" them, since they wanted Google to use Oracle's JDK libraries and thus have leverage over them.

Oracle had not yet acquired Sun when Android development started (Acquisition in 2010 vs first Android device launched in 2008). Almost everyone agrees that Oracle acquired Sun just to sue Google for 8 billion dollars.
 

Anorion

Sith Lord
Staff member
Admin
Yeah sorry, Sun was in talks to license the tech with Google, and thoose talks fell through because Sun would not budge from its interoperability rule. Didn't Google actually copy code from Java SE?

Again main point here is Google did not develop their own tech, write their own code entirely. They depended on availability of Java developers to kickstart the platform. Google did steal something intangible here, and did not pay for it, apart from not writing all the code themselves. Whether the system in the US offers adequate protection to those who believe some things are their property is another question.

Compared to here for example, people develop, own and manufacture the product, because they do not trust in the licensing model. However, in the US, the whole industry works on patents and licenses, so there are going to be that many more legal problems that deals with patents. If this stops working, we will stop getting nice things.
 
OP
Desmond David

Desmond David

Destroy Erase Improve
Staff member
Admin
Didn't Google actually copy code from Java SE?
Like I said, Google used code from Apache Harmony, which is a separate set of APIs based on the original JDK but meant to be a fully independent open source project (since OpenJDK was still controlled by Sun/Oracle).
Again main point here is Google did not develop their own tech, write their own code entirely. They depended on availability of Java developers to kickstart the platform. Google did steal something intangible here, and did not pay for it, apart from not writing all the code themselves. Whether the system in the US offers adequate protection to those who believe some things are their property is another question.
I disagree. If this statement is true, that means that you can steal APIs, which is absurd. If you rewrite a program for changing a date format from dd/mm/yyyy to mm/dd/yyyy, you should not be sued for copyright because someone else wrote this logic first. It's like copyrighting "vehicle with four wheels" and then suing anybody who manufactures cars. Ruling in favour of fair use is the best thing to happen not only to Google but to programmers and software engineers everywhere.
Compared to here for example, people develop, own and manufacture the product, because they do not trust in the licensing model. However, in the US, the whole industry works on patents and licenses, so there are going to be that many more legal problems that deals with patents. If this stops working, we will stop getting nice things.
An API is not the same as a product. It's a (for lack of a better term) a gateway through which you integrate your own programs with any external service. For example, say you need to write a program that streams music from Spotify. Since all the music you want to stream exists on Spotify servers, you cannot access them directly in your program. So, you use a Spotify API which integrates with Spotify (via access tokens, etc) and allows you to perform some Spotify specific functionality in your own programs.

Something like this:

[Your program] --Spotify API--> [Spotify]

Here, the actual product is the Spotify service while the Spotify API is a way to access the product.

In case of Android, it's like this:

[Android app] --Java API--> [Dalvik VM/Android Runtime]

Oracle's argument is that Google copied the code structure and functionality of the Java API which they claim is infringing on their copyright, even though no Oracle product is in the picture. Not to mention that Google did not use JDK as a reference but Project Harmony above.

The absurdity of this comes from the fact that the code they have used in the examples is so trivial that any competent developer could write it from scratch and still get sued because Oracle wrote the code first, even something as simple as the date format example I gave above.

Edit:

Wine was used as an example in the case:

In another example from the 1990s, an open-source developer created a program called WINE, which allowed developers to enable Windows applications to run on computers that used the Linux open-source system, without explicit authorization from Microsoft. Gratz & Lemley, supra, at 611. To create WINE, the developer “use[d] the same hierarchy of function names” of various Windows APIs. Id. at 612. Years later, Microsoft created “the inverse of WINE,” reimplementing the 15 structure of certain Linux APIs to create the Windows Subsystem for Linux, a program that allowed Linux programs to run on Windows. Ibid. The Windows-Linux experience shows that reuse of functional code is a “twoway street” that benefits both the original creator and the follow-on developer—and ultimately the consumer. See ibid.

If Oracle had won, both Wine and WSL would be illegal since Wine did not take permission from Microsoft to use Windows APIs for running Windows applications in Linux and Microsoft did not take permission from Linus Torvalds (or the Linux Foundation) to use Linux APIs in WSL.
 
Last edited:

Anorion

Sith Lord
Staff member
Admin
Ookay thanks for taking the time to explain all that.
Can see what Oracle did there now.
 

Extreme Gamer

僕はガンダム!
But that is not what the lawsuit is about. Oracle alleges that Google copied their API and as such must pay them royalties based on all the revenue they generated using Android. Which is bullshit because Android's APIs are based on (now defunct) Project Harmony which was going to be an open source alternative to Java APIs.
It's more complex than that. Google has shifted their claims to suit the changing nature of the litigation.

During the initial Oracle vs Google hearing, Google claimed they used Apache Harmony to ensure compatibility with Java SE but changed their claim to "commercial reasons" during the second appeal hearing.

Additionally, while APIs cannot and should not be considered copyrightable, alternative implementations shouldn't claim to use the original names if those names are trademarked.

Indeed, a lot of programs re-implement existing APIs - both open and proprietary (Airsonic for subsonic, bitwarden_rs for bitwarden) - however I think Oracle should sue for trademark infringement and get Google to stop using the phrase Java, because their work is not inter-compatible.

Also the judgement is not explicitly stating that APIs are not copyrightable. Instead, it says that if an API is used by another work and it meets the standard (as set by Google) for fair use, evaluating the copyright of APIs is completely unnecessary. So it renders the copyright meaningless without stating as much.

In any case with openJDK being the default version of the Java standard over the past half decade or so, all copyright discussions are moot.

Also, I think the judgement is mistaken, because under US copyright law the copying of an API or reverse engineering of software is intended to allow interoperability. By allowing this partial implementation to meet fair use, the judges are saying that interoperability is no longer necessary.

Oh, and Google now uses openJDK.
 
OP
Desmond David

Desmond David

Destroy Erase Improve
Staff member
Admin
What will you call the Java language if not Java? Even if it's a partial implementation of the Java API, it's still the Java language. Also, how do you trademark "NullPointerException"?
Also the judgement is not explicitly stating that APIs are not copyrightable. Instead, it says that if an API is used by another work and it meets the standard (as set by Google) for fair use, evaluating the copyright of APIs is completely unnecessary. So it renders the copyright meaningless without stating as much.
That was ruled in a lower court that APIs are copyrightable. Which is why Google appealed to the supreme court for fair use.

Google has a good case for fair use though. OpenJDK code can be observed by anyone and anybody can adapt the API.

Oh, and Google now uses openJDK.
Yeah, since Android N. But I think Google will slowly shift to Kotlin and leave Java altogether. Kotlin can already compile to native code and once we get a Kotlin-native compiler for Android then there is little reason to use Java.
 

Extreme Gamer

僕はガンダム!
What will you call the Java language if not Java? Even if it's a partial implementation of the Java API, it's still the Java language. Also, how do you trademark "NullPointerException"?

That was ruled in a lower court that APIs are copyrightable. Which is why Google appealed to the supreme court for fair use.

Google has a good case for fair use though. OpenJDK code can be observed by anyone and anybody can adapt the API.


Yeah, since Android N. But I think Google will slowly shift to Kotlin and leave Java altogether. Kotlin can already compile to native code and once we get a Kotlin-native compiler for Android then there is little reason to use Java.
The trademark would apply to the term Java.

The US Supreme Court has not found against the lower court decision which says that APIs are not copyrightable. Instead they have said that Google's use constitutes fair use so the protections of copyright do not apply. However I think they are mistaken, because fair use is only given for software and systems interoperability. Google has failed to demonstrate that their use of the API is to enable interoperability.

So far, Google uses Java byte code which is then converted to proprietary machine code. Even if they migrate to Kotlin they will likely leave the underlying mechanisms the same.
 
OP
Desmond David

Desmond David

Destroy Erase Improve
Staff member
Admin
So far, Google uses Java byte code which is then converted to proprietary machine code.
I don't see what this has to do with anything.

Even if they migrate to Kotlin they will likely leave the underlying mechanisms the same.
The difference will be that rather than compiling java bytecode to dex files, Kotliln-native can compile directly to dex files or into native code.
 
Top Bottom