Given the recent lawsuit between Google and Oracle due to Oracle's claims of the unfair usage of the Java API's in Android.

I have a large amount of Java and C# code for certain back end processes on my systems and on my phone (Android). I am about to extend some of my code to Raspberry PI and other micro / SOC devices.

I do no plan on selling my code etc... But this might become a group project at some point.

Because I am using Java for these projects and the code is running on my mobile devices and other devices (SOC that might be using Java ME), can I get sued or in trouble in anyway according to the Java license on fair use an use for commercial use?

Now on to the second question: If I am doing all of this in C# using the Mono Framework, can I be sued by Microsoft for using the frame for commercial use etc?

The third question: According to each one's license, which one is more open source and has less patents?

*** Note: Commercial use in this case might be something in the line of running a website / Cloud platform or installing the systems etc... and making revenue from that.


2 Answers 2


The Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX writes:

  1. LICENSE TO USE. Subject to the terms and conditions of this Agreement including, but not limited to, the Java Technology Restrictions of the Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs. THE LICENSE SET FORTH IN THIS SECTION 2 DOES NOT EXTEND TO THE COMMERCIAL FEATURES. YOUR RIGHTS AND OBLIGATIONS RELATED TO THE COMMERCIAL FEATURES ARE AS SET FORTH IN THE SUPPLEMENTAL TERMS ALONG WITH ADDITIONAL LICENSES FOR DEVELOPERS AND PUBLISHERS.

That is, Oracle is giving you permission to use Java for running any program, commercial or otherwise.

Google vs. Oracle is not about calling the Java API, but reimplementing it on a new platform.

Every computer program runs the risk of violating a third party's patents. That does not depend on the the programming language.

Which is more "open source" is not clear cut, it depends on the particular JVM or CLR implementation in question. Mono is open source under the MIT licence, OpenJDK open source under the GPL v2 (with classpath extension).


As for Mono and Microsoft, Mono has described the Microsoft promise here: http://www.mono-project.com/docs/faq/licensing/

The important bit is:

Microsoft Corporation and its affiliates (“Microsoft”) promise not to assert any Applicable Patents against you for making, using, selling, offering for sale, importing, or distributing Mono.

There are carve-outs for defensive termination, etc, so you should read the whole thing. But normal mono use by non-patent trolls is probably going to be OK.

Java, Oracle, and Google are a mess because of the lawsuits they have been throwing around. I would guess that even if there is an actionable claim against you, unless there is some strategic reason why they would want to crush you, you won't ever hear from them. As for legally how you stand, it is hard to tell until all that mess gets straightened out. On the other hand, Google hasn't made any good indemnification promises about developing on their platform that I am aware of, so if you do get into trouble, you probably can't expect help from Google.

You must log in to answer this question.