On Thursday Oracle sued Google over seven counts of software patent infringement and one count of copyright infringement.
But wait! Isn’t java open source now?
And software patents are kryptonite to open source.
So what’s going on here?
Here’s my take so far….
Then Sun and now Oracle makes a lot of money licensing Java technology for mobile and embedded solutions. In fact, this accounts for the large majority of the revenue they drive directly from Java.
Android is rapidly expanding its market share and is now BIG money and getting bigger every day.
Google is a major Java shop and it knows that Java is popular among smart phone developers as well.
But unlike virtually every other embedded platform vendor that leverages Java (and many of them do), Google does not license Java from Oracle. There are probably a number of reasons for this but IMO it comes down to Google’s vision of Android as a completely open platform rather than any real economic burden.
So Google wants Java on Android but doesnt want to pay for it and doesnt want to be restricted to compatibility test kits etc.
In theory it *could* leverage the openJDK but in reality the license for the Java Micro Edition (JME) contains a ‘poison pill’ which renders the realistic use of open source on mobile devices laughable. Check out this blog entry from awhile back for details — basically it boils down to the classpatch exception in the GPL or lack there of.
So lacking an open source option from Oracle, Google decides to leverage an open source and clean room implementation from Apache Harmony and the Dalvik virtual machine run-time. These technologies are complete clean room implementations free (supposedly) of Oracle’s copyrighted intellectual property. Ironically Oracle was a proponent of Harmony before its acquisition.
At this point the developer world says ‘how clever Google! you go on with your bad self!” But Sun and eventually Oracle might say ‘how clever Google but you still need to pay us.’
Today every device that ships with Android is potential money out of Oracle’s pocket.
Because these technologies are developed independent of the OpenJDK project they are not protected by the patent agreement within the GPL. So even though they are open source they are susceptible to patent infringement claims.
Harmony and Dalvik would seemingly get them around copyright based IP issues since they do not leverage Oracle’s direct code base. But Oracle has called their bluff and asserts IP violation based on a number of software patents that apply to Java.
You cannot simply code around patents. You have to remove the feature that its patented. In this case killing the platform. So patents are the ultimate IP weapon.
Say what you will about software patents good or bad. But Oracle has every right under law to enforce their IP and compel Google to license the technology. The validity of the lawsuit is IMO not really an issue.
Google has a few options now…
- Fight the lawsuit by getting the patents invalidated — hard to do and a long and drawn out effort.
- Counter sue with its own patents claims and get Oracle to back down or come to cross patent license agreement.
- License Java from Oracle — write them a check with lots of zeros.
- Enter into some special agreement such as a one time payment.
Its strikes me as odd that we have one supposedly open source technology (official Java) suing another open source Java implementation (Android) over patent issues.
Oracle and Google may settle this in a matter of days and quietly sweep it under the rug in time for the next news cycle. These types of skirmishes happen every day. Most don’t make it to court and the ones that do are typically handled quickly. But this one involve two MEGA vendors over the disposition of the IT industry predominant platform for application development that spans from smart phones to mainframes.
IMO the lawsuit is a lose/lose proposition for Oracle in particular…
If Oracle wins, it will send a strong message to the industry that Java isn’t as open as was assumed. There is already an under-current of bleeding edge developers that consider Java to be ‘legacy’ 20th century technology. If it looks like Oracle is aggresively ascerting its control over Java then these discussion get really interesting. You think the JCP is dead today? You ain’t seen nothing yet.
If Google wins, then other JME licensees will asked why they are paying as well. It will establish a precedent for independent versions of Java and effectively minimize if not downright nullify Oracles stewardshp of Java over the long term. It wont take long for this to spread beyond the mobile/embeded markets to the enterprise as well.
Yes maybe I’m making a mountain out of a molehill on this issue but over the last couple of years I’ve seen a growing groundswell of interest among developers from many ranks who are looking for excuses to move on to “something” new.
This seemingly minor license battle between two mega vendors may very well be the spark that lights a larger debate over the nature of open source Java, the future of Harmony, etc. Then again… maybe its big news for a couple of days at best.
I’m betting on the former.