Oracle Sues Google Over Java in Android
Late on Thursday, Oracle filed a copyright and patent infringement claim against Google over its Android operating system, opening a legal war between the Silicon Valley firms over the smartphone software platform.
Android has seen rapid growth since its first release in November 2007. Figures from Gartner for the last quarter show it ahead of Apple's iOS for the first time, though it should be noted that these figures were just before the launch of the iPhone 4 when inventory of the Apple product was tight. The top four smartphone OSes were Symbian (41.2 percent), RIM (18.2 percent), Android (17.2 percent) and iOS (14.2 percent).
The lawsuit, filed in Federal court in San Francisco, accuses Google of breaching seven patents that Oracle assumed when it acquired Sun Microsystems earlier this year. All these patents relate to Java:
- 6,125,447, "Protection domains to provide security in a computer system"
- 5,966,702, "Controlling access to a resource"
- 5,966,702, "Method and apparatus for pre-processing and packaging class files"
- 7,426,720, "System and method for dynamic preloading of classes through memory space cloning of a master runtime system process"
- RE38,104, "Method and apparatus for resolving data references in generated code"
- 6,910,205, "Interpreting functions utilizing a hybrid of virtual and native machine instructions"
- 6,061,520, "Method and system for performing static initialization"
In a brief statement, Oracle said that Google had "knowingly, directly and repeatedly infringed Oracle's Java-related intellectual property".
Android makes extensive use of Java, both in the core OS and in the software development kit (SDK). Whilst Google has also released the "Android Native Development Kit", enabling developers to build Android components with C and C++, the preferred method is based around coding applications in Java. These are then translated into bytecode that runs in Dalvik, Google's own custom VM. The core Java libraries in Android are based on Apache Harmony, an open source/free Java implementation from the Apache Software Foundation. As such Google's Android SDK implementation is largely independent of Oracle's, and Google doesn't pay Oracle any money for its use of Java.
Much of Sun's revenue model for Java revolved around license fees from mobile handsets and other OEM licenses, and there were concerns expressed in some quarters when Oracle bought Sun that it would seek to wring more money from its control of the software. It is widely assumed that Sun's refusal to license the Java SE 5 Technology Compatibility Kit (TCK), needed for the Apache Software Foundation to certify its Harmony implementation of Java SE 5, was as much about protecting this revenue model as it was about any legal issues.
The lawsuit marks Oracle's first attempt to exert its rights over Java. Larry Ellison, Chief Executive Officer, justified the Sun acquisition largely on the grounds that it brought Oracle control of Java.
At the time of writing Google has said it is still studying the complaint, a copy of which can be seen on VentureBeat, and is yet to comment.
Re: harmony?
by
Faisal Waris
Orcale is apparently suing Google for patent infringements over techniques used by the Davlik VM. The Davlik VM is not a JVM as it has its own byte code. However, Davlik is probably using some patented techniques that other JVMs (or other VMs in general) also use.
Don't know how strong Oracle's case is but looks like this will send shivers down the open source community's spine.
Another waste of resources
by
Brian Edwards
Re: harmony?
by
Ryan Slobojan
Not quite - Apache Harmony is a cleanroom reimplementation (not a port, which implies copying) of a Java Virtual Machine released under the Apache License (although I don't think they were ever officially certified as a Java implementation due to the longstanding TCK issue: en.wikipedia.org/wiki/Apache_Harmony#Difficulti...).
Portions of the Dalvik VM are based upon Harmony:
www.infoq.com/news/2007/11/android-java
en.wikipedia.org/wiki/Apache_Harmony#Use_in_And...
Dalvik is not a direct port of Harmony in the sense you described, but some of Android's core libraries are based upon some of the Apache Harmony code.
Thanks,
Ryan Slobojan
worth the read... (goslings blog)
by
Stephan Oudmaijer
nighthacks.com/roller/jag/entry/quite_the_fires...
Android is Java
by
Miroslav Pokorny
Oracle is evil
by
David Peterson
I mean are we really surprised? Basically Oracle is a 1-product company (the RDBMS). Now they are facing competition from MySQL / Postgresql on th one hand, and a whole plethora of NoSQL technologies (Couch, Mongo, Redis, BigTable and the rest) on the other.
We have recently started developing our ruby apps against mongo. Document-oriented stores and just SO flexible. Never need another migration. Never write another static schema definition. I'm prepared to go out on a limb here: we will probably never write another "conventional" RDBMS-backed application again!
The times are changing and Oracle's "stack" is increasingly looking like legacy technology. Is it any wonder that they now resort to patent trolling to shore up their reason for existence? I am disappointed but far from surprised.
A few clarifications
by
Cameron Purdy
I mean are we really surprised? Basically Oracle is a 1-product company (the RDBMS).
Oracle has dozens of very successful products, including Oracle Financials, all of various applications (PeopleSoft, Siebel, JD Edwards, etc.), middleware like WebLogic, Coherence, Glassfish and Tuxedo, and databases like Berkeley DB, MySQL and TimesTen, not to mention hardware (servers, storage, networking) and a whole lot more.
Now they are facing competition from MySQL ..
That's Oracle MySQL ;-)
.. and a whole plethora of NoSQL technologies
.. like Oracle Coherence.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Re: worth the read... (goslings blog)
by
Charles Humble
blog.headius.com/2010/08/my-thoughts-on-oracle-...
Google should just switch from Java and Dalvik VM to its own Go language
by
Roger Voss
The Android version of Java requires the Dalvik VM to execute. Go language, however, compiles to native code and there is an ARM compiler. Its runtime library is layered on top of POSIX APIs and would be relatively easy to implement on Linux-based Android. (It supports garbage collected memory management and has nice Erlang/actor-like goroutines and channels for implementing concurrency.)
Go language needs a dynamic link library enhancement, though, so that its runtime could be supplied as versioned dynamic linking library. Smartphones could then cache different versions of the Go runtime so as to match up with various generations of applications that get released in the app store. (Adobe Flash Player has similar feature of runtime shared library for caching the Flex SDK libraries.)
I've programmed for years in Java and then did a project in Go. I admit my first professional programming language back in the day was C. Yet I appreciate the improvements to programming efficiency that Java brought when it was first introduced. Go is indeed a kind of C language updated for the 21st century. It has a C like sensibility to its approach but has avoided a lot of the boiler plate coding of Java and other issues Java has with its OOP programming model based on classes.
Go language has the potential to be an ideal programming language for the new generation of small devices such as smart phones and tablets.
Re: A few clarifications
by
Corba The Geek
Oracle has dozens of very successful products, including Oracle Financials, all of various applications (PeopleSoft, Siebel, JD Edwards, etc.), middleware like WebLogic, Coherence, Glassfish and Tuxedo, and databases like Berkeley DB, MySQL and TimesTen, not to mention hardware (servers, storage, networking) and a whole lot more.
Regardless, they choose to impede progress with vague, overarching patents. I guess that even Satan will have his apologists.
Educational Content
Writing Usable APIs in Practice
Giovanni Asproni May 19, 2013
Concurrency in Clojure
Stuart Halloway May 17, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think