Exploring Oracle’s Lawsuit Against Google

| Analysis

There are some who claim that Oracle’s lawsuit against Google, which claims that Google has violated Java licensing in the development of Android, is an abuse by Oracle and displays poor stewardship of the language. Worse, some say it casts a pallor over the use of the Java language in the enterprise. In fact, that’s all far from the truth.

The first thing to understand about this lawsuit is that it relates to Java Micro Edition (Java ME.) This version of Java has different licensing than Java Standard Edition (Java SE) and Java Enterprise Edition (Java EE). The latter are used for enterprise desktop and server application development. Java ME, however, is different.

Some History

When Sun Microsystems released the Java source code, they did so under the open source provision of GPLv2 but included a special exemption for Java ME only. The upshot is that the Java ME license forbids developers from replacing the Java Virtual Machine (JVM).

And that’s precisely what Google did with Android. They used the Java development environment, but then developed their own JVM, which they call Dalvik. Oracle is claiming foul.

When Sun Microsystems developed Java ME, they realized that it was important to promote the use of Java as a new language. One can download Java SE, write code, license it, and sell it for a profit with out paying Sun (now Oracle) a license or royalty fee. But Sun, at the time, also realized that it was important to hold the keys to the kingdom tightly with Java ME, anticipating the use of Java in a myriad of mobile devices, like smartphones. Java EE is more or less in the middle, and I’ll discuss that in a minute.

By implementing Android the way they did, Google is bypassing the license fee for Java ME, according to Oracle. Moreover, and interestingly, it appears that the current lawsuit may be an ambush by Oracle. When Oracle bought Sun, one reference article I used, suggested that Sun proclaimed the licensing terms for Java ME to be worth a significant amount of licensing fee income in the future and worth Oracle’s attention. Oracle’s attorneys paid attention.

That’s just part of the lawsuit. There are patent issues that also come into play and are explained in the SiliconAngle article cited above.

Myth Busting

1. Oracle claims that Google has violated the licensing agreement for the use of Java ME only. Not the Java SE and EE that likely has billions of lines of code running in the enterprise worldwide. Java is far from a damaged language.

2. Oracle claims that Google has violated some specific patents associated with Java. The full text of Oracle’s complaint has those details.

3. Articles that claim that Oracle is violating the spirit of open source and the results will kill Java are uninformed.

Concerns About Oracle

The Infoworld article cited above also points out that with Android claiming 200,000 activations daily, Oracle is using its intellectual property (IP) rights to dip into that revenue stream. Some may believe that Oracle is to be castigated for doing so, and Oracle’s actions portend a money grabbing mentality by Oracle — an effort to make their investment in Sun and Java pay off. They fret about Java EE licensing becoming more onerous in the future and, with some sense of fright, suggest consideration of other languages.

Others may see Oracle’s stance as a natural part of doing business. Oracle is simply saying, as I interpret it, we own the rights to Java, and under certain provisions, we expect to be paid license fees.

The open source community, with some unaware of what Sun included in the Java ME licensing, seems in a tizzy, expecting Oracle to promote all versions of Java as a GPLv2 open source language and never expect a dime in compensation. The verdict is out on how far Oracle may go in the future and what the reaction will be by the Java community, some of whom may be less than fully informed. The matter isn’t helped by scary headlines like this.

Finally, it has not gone unnoticed that Oracle’s CEO Larry Ellison and Steve Jobs are close friends. Slowing down Android would benefit Apple. That, however, seems to be simply serendipity given what Oracle knew in the past about the value of the IP it was obtaining from Sun.

One Attorney’s View

An attorney with an interest in these matters and who often chats with TMO has weighed in on what he thinks the results of the litigation might be.

What would likely happen if Oracle wins on substantially all of its claims of infringement, both copyright and patent? I think that the most likely outcome is a negotiated settlement, where Google takes a license for Java ME, pays damages, and Dalvik is either destroyed or ownership of it is transferred to Oracle. In this scenario, the court finds for Oracle, but holds off on issuing an injunction to give Oracle and Google an opportunity to settle. Needless to say that settlement would be on Oracle’s terms. For Google, the worst outcomes, in order of importance would, likely be:

1. Google would lose Dalvik, would have to use standard Java ME, and thus, would lose control of its tailored version of the Java application framework. That would greatly hinder Google’s ability to innovate, as it would depend on Oracle for Java ME and therefore, could not innovate a significant part of Android, its Java application framework.

2. There should not be much of a disruption for developers, because their apps are written in standard Java using standard Java tools, so their apps should run on Java ME without much modification. The real disruption would be the roadmap for Android, which would be void. And the future roadmap for developers would be uncertain, until Oracle set forth its roadmap for Java ME for formerly Android devices.

3. Google would have to pay a large amount of damages. I can’t give a reasonable estimate, but I would not be surprised to see a figure of around two billion dollars plus legal fees. I am basing that on what Microsoft had to pay Sun for infringing on Java when Microsoft tried, back in the 1990s, to make its custom version of Java that would run only under Windows.

The real bone of contention in the settlement negotiations would be over the fate of Dalvik. Google would be willing to pay much more to get a license from Oracle that let it keep Dalvik with the right to innovate as it pleased. However, it is unlikely that Oracle would permit that, because it creates a bad legal and practical precedent. Practically, one would have two version of Java ME, which could become increasingly incompatible. And legally, Oracle would be giving Google permission to make a custom version of Java.

While Oracle can license a custom version of Java to Google without losing its right to forbid others from doing so, that undercuts Oracle’s argument that there can be only one version of Java ME so that all apps are compatible. Oracle isn’t going to want and won’t accept the precedent of two or more versions of Java ME. At best, Google would have to transfer Dalvik to Oracle with the agreement that Oracle would incorporate certain elements of Dalvik into JME, but I doubt that Oracle would accept that either, though it might.

An important question is whether, if Google loses, it could abandon Java. Oracle certainly would not support a transition from Java ME to Google’s proprietary mobile OS and app framework and tools. And if Google loses here, it will mean that the court finds the type of translation that Dalvik (Java code to Android code) is infringing, so Google won’t be able to do that. So if Google were to abandon Java, it might have to do so cold turkey, which would mean all the apps in the Android market place won’t run on Google’s new OS. That, I think, would be a disaster. But losing control of Android or at least an essential part of it to Oracle is bad, not as bad as losing the entire Android market place, but it is bad.

Conclusion

The goal of any business is to make money and protect its IP. Some would prefer to ascribe evil intentions to Oracle, to get their way with a generally beloved language, Java, but that’s over and above the facts of the case. The links to the complaint and the referenced articles (except the sensationalistic one) are going to be a lot more helpful for those who want to really understand what’s going on.

Comments

David Welch

Speaking of uninformed:

2. There should not be much of a disruption for developers, because their apps are written in standard Java using standard Java tools, so their apps should run on Java ME without much modification. The real disruption would be the roadmap for Android, which would be void. And the future roadmap for developers would be uncertain, until Oracle set forth its roadmap for Java ME for formerly Android devices.

Android apps will *NOT* simply compile over to JavaME apps. Most of Google’s namespace elements (packages, classes, etc.) for Android are NOT the same as what is found in the standard J2ME, not to mention how UI’s are put together and how all the tools work. Pulling the plug on Android / Dalvik pulls the plug on all the existing apps and android developers.

So yes, developers do have a reason to worry.

Jack Waldron

ROFL! Love those myth busting lines. What myths are they supposed to bust?

So, now we have one lawyer saying Google’s going to lose and lose big. Unfortunately, this lawyer seems to lack a basic understanding of Java, Dalvik and computers in general. I certainly hope he’s not a IP lawyer.

It’s not at all obvious that Oracle can prove any copyright infringement. I’m fairly certain Google was smart enough to know to do a clean room build. I highly doubt there’s any infringing code in Dalvik.

I’ve looked at the patents, and based on the latest SCOTUS ruling, it’s not at all obvious any of those patents can withstand that ruling (Bilski). In fact, I know of considerable prior art for these patents, and they don’t appear to meet other patent requirements post-Bilski. This “lawyer” didn’t even touch on any of that. Why?

The fact Google is willing to let this go to court, remember Google and Sun had been circling this issue for some time, probably means their lawyers, or executives, think they have a fair chance to win this. Then again, the executives at Caldera, aka SCO Group, thought they had a snowballs chance of winning some easy money.

Dirk

“3. Articles that claim that Oracle is violating the spirit of open source and the results will kill Java are uninformed.”

I thought the spirit of the open source community was against software patents. But I will check from now here about that spirit.

Beside the written legal aspects there are more deals involved between open source users and companies that sell open source based products. Open source is the result of a common effort that can only exits with some forms of cooperation. Go against that and you may loose the thrust of that community.

Even if some of these patents survive this lawsuit, aren’t you not underestimating largely the possibility’s of software development and open source licenses? Soft are long procedures and there are many procedures possible to reach a similar result.

Marc M

You said:

By implementing Android the way they did, Google is bypassing the license fee for Java ME, according to Oracle.

The problem is that an Android phone is just a general purpose computer in a pretty case.  So this same argument applies to any reimplemntation of a Java virtual machine, or
(since Dalvik is not actually a Java Virtual Machine, but a signifigantly different one, which requires the Java code to be translated into Dalvik code) apparently any virtual machine implementation that runs on a computer, since you
could write a translator that converts JVM instruction streams to another virtual machine implementation.

Consider the (currently fictional) implementation where one takes JVM instructions and, rather than translate them to Dalvik instructions, you translate the code to run under the old UCSD P-system virtual machine—does this mean that the P-system (developed over 20 years ago) now violates Oracle’s patents?!?

Nemo

Please read carefully, the lawyer, supra, did not say that Google would lose.  What he said was:  “What would likely happen if Oracle wins on substantially all of its claims of infringement, both copyright and patent?” And he/she then went on to discuss what the likely consequences of that might be.

Second, it is my understanding that the whole point of Android and its Dalvik VM is that developers can use the Java language, their Java techniques, and Java tools to code apps for Android in Java, with Dalvik handling the task of translating Java byte code into Dalvik’s byte code.  If it is the case that developers can’t use Java without having to learn a new language and new IDE, it is hard to see why Google even bothered putting any Java code and/or technology in Android’s stack.  If developers can’t use their Java code for Android, Google could have simply, from the beginning, started anew without any Java code and avoided any risk of infringing.

And it is hard to see how Dalvik, as different as it may be, translates Java’s code into Dalvik’s code without having some significant amounts of Java’s code and/or technology (Java Technology) in its stack.  That Java Technology in Android is what places Android in jeopardy of being infringement.

As for other versions of Java—and reading is fundamental—as Mr. Martellaro discusses, supra, different versions of Java have different licenses.  Mr. Martellaro also cites articles were those differences in licensing may make a big difference for this lawsuit.  Some version of Java SE and Java EE are open-sourced under GPLv2 with a Classpath exception.  However, those version of Java require that any third-party version be a full implementation of the Java specification without variation.  A full implementation of Java SE or Java EE is not suitable for mobile devices. 

The version of Java at issue here, Java ME, does not have a Classpath exception in its open-source version, which makes it worthless for commercial development, as most developer aren’t willing to open-sorce their app, just because it links to open Java ME.  That means you have to use the closed commercial license version of Java ME for any commercial mobile phone.  Rather than do that and have to pay a royalty and wait for Oracle to innovate Java ME, Google tried to avoid infringement by creating its own VM, Dalvik.  The question now before the court is:  Has Google succeeded in creating a non-infringing VM in Dalvik?  Let me provide another citation. See http://arstechnica.com/open-source/news/2010/08/oracles-java-lawsuit-undermines-its-open-source-credibility.ars, which more fully explains the differences in licensing that may determine the success of Oracle’s infringement suit against Google. 

Would any VM that uses Java Technology be infringing?  That would depend on the facts.  However, if any effort to translate Java’s code into different code is going to use Java Technology, I would advise a client to conduct a thorough review to determine whether its new, different, and unlicensed VM’s use of Java Technology will fall within the scope of the claims set forth in Oracle’s patents on Java and thus, be infringing.

Robert Young

— The upshot is that the Java ME license forbids developers from replacing the Java Virtual Machine (JVM).

And that?s precisely what Google did with Android. They used the Java development environment, but then developed their own JVM, which they call Dalvik. Oracle is claiming foul.


That’s not a true statement.  Dalvik *IS NOT* a jvm.  It’s not even stack machine.  It does not execute .class files or java byte codes.

Nemo

If you are right Mr. Young, Google should be in good shape.  However, I don’t see how you translate Java’s code into Dalvik’s code, without using any Java Technology.  It is kind of like saying that someone is going to translate English into French without knowing or using any English.

Robert Young

@Nemo:

It comes down to a technical question, for which I don’t have the answer.  IFF Google used javaME to do the java side development before cross-compiling to Dalvik can Oracle possibly have a case.  The other java’s are not encumbered, as described here and elsewhere.  Only the javaME “java technology” is restricted.

Nemo

I am not sure that I understand what you’re asking.  Google, except in its role as a developer, doesn’t use Java to develop anything.  Developers do that.  But once any app is encoded in Java, it must either run on a Java VM, for which it must have the appropriate license.  About that, there is no dispute.  Or it must translate that Java code to Dalvik’s code.  It is at least that part of Dalvik that does the translating that may be the problem, particularly the parts of Dalvik that translate Java into code that is suitable for Android.  But there may be other parts of Android that are also infringing. 

I don’t have any answers either.  Getting the facts involves analyzing the patents at issue and the code at issue, and that is a complex legal and software engineering analysis to determine whether Dalvik and/or any other part of Android is within the ambit of the patents’ claims at issue.  And none of us here are in a position to do that kind of analysis.  So we will have to watch as this drama unfold in U.S. Dist. Ct. for Northern California.

dc

I’m a little confused by the analysis in this article.

Is it the contention of Oracle that Google did not succeed in their attempt to make a non-infringing Java ME clone or that it is not legally possible to build a non-infringing Java ME clone?


If it is legally possible I cant imagine that Google could not pull it off.

And if one commenter posted that Dalvik is not a jvm. Than what is it?  And it is what Google has cloned and what the lawsuit is about, correct?

Nemo

It may be that it is not legally possible to build a non-infringing VM that translates Java code into Android code, but that question is not before the court.  Court don’t decide legal questions in the abstract.  So the issue before the court is whether Android is infringing.

Erik Anderson

As for the translation from Java to Dalvik, that’s being done on the developer’s workstation (as far as I know), all aspects of Java are pretty much stripped from the code before it reaches the mobile device.  Once it reaches the Android phone, it’s running on Dalvik and Apache Harmony (which Sun has apparently had some issues over in the past).  So if there is an issue with translation, then the issue would be with the Android SDK and the method by which apps are developed.

I’m more concerned about the patents listed here which are a lot more generic and may potentially apply to how Dalvik (and a lot of other virtual machine implementations) may work.  I’m guessing that USCD Pascal may potentially violate a couple of them which may help, and it’s possible that they may be able to engineer the Dalvik system to avoid them, but the engine would definitely be hurt in the process.

David Welch

@Nemo:

I think you’re missing something when it comes to the technologies in dispute. Essentially, there are three factors that make up Java.

You have the Java language, which is what all your source code is written in (.java files). The source code is written in a language that is human-friendly and has regular grammar rules, similar to human languages such as English or French. This source is the basis for the “write once” segment of the Java slogan.

Then you have the Java bytecode (.class files) which the javac compiler creates from your Java source code. It is this compiled bytecode that makes up the actual application / program. This is the code that can “run anywhere,” meaning on any JVM implementation.

And finally, you have the JVM which executes the Java bytecode. Essentially, the JVM is a program that loads the bytecode as it’s data and then operates on it.

Now, the tone of this article is backing Oracle’s claim that Google infringed on Oracle’s IP rights by creating it’s own non-licensed JVM, which is not the case.

A JVM executes Java bytecode according to the specifications set forth by Sun / Oracle. The Dalvik VM does not execute Java bytecode. As previously stated by Google, Davlik was a clean room build that executes it’s own translated bytecode.

The only association between the Dalvik VM and the Java ME JVM is the Java (source code) language. Now, I am in no way a legal expert, but I’d imagine the language itself is not subject to the Java ME licensing as it is the same language used with Java SE and Java EE.

Also, regarding:

If it is the case that developers can?t use Java without having to learn a new language and new IDE, it is hard to see why Google even bothered putting any Java code and/or technology in Android?s stack.

It’s not hard to see at all: Java is familiar. It has the widest developer base. It’s an easy language to pick up and there are great tools / IDEs out there for it. This is exactly the reason C# has an extremely similar syntax.

Gray

“The Dalvik VM does not execute Java bytecode.”
Apparently not (however, does it have an interpreter mode for development, maybe?), but it COMPUTES Java bytecode. Well, then the question is, does the Java license prohibit this in any way?

Barry

What ever you may believe.  I will not participate in any product that will benefit Oracle anymore, PERIOD.  This includes OpenOffice.org, as I do not want my error reports and assistance to help them in the least bit.  I don’t care about contrived lawyer speak.

Oracle is a thief in that they are not the rightful owners of that money.  They in fact had nothing to do with the development of Java and therefore deserve none of the spoils that Sun let go.  Now on the other hand if this product had been developed after they had acquired the patents I could see their point.

It P***S ME OFF that they seem to believe that they are somehow now entitled to the spoils of someone else’s labor.  Take a flying leap Oracle.

I say we all hit Oracle hard and hit ‘em where it counts, let them reap the benefits of their stupidity.

Furthermore I will not work for anyone that uses an Oracle product in ANY of their business line.

I have not been fond of MS products for sometime, considering Steve Balmer’s entitlement attitude, but it is definitely the lesser of two evils. If push comes to shove I will be purchasing MS products rather than using ANYTHING from Oracle.

Log-in to comment