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.
Community comments
harmony?
by Vic _,
Re: harmony?
by Faisal Waris,
Re: harmony?
by Slobojan Ryan,
Another waste of resources
by Brian Edwards,
worth the read... (goslings blog)
by Stephan Oudmaijer,
Android is Java
by Miroslav Pokorny,
Re: worth the read... (goslings blog)
by Charles Humble,
Oracle is evil
by David Peterson,
A few clarifications
by Cameron Purdy,
Re: A few clarifications
by Corba The Geek,
Google should just switch from Java and Dalvik VM to its own Go language
by Roger Voss,
harmony?
by Vic _,
Your message is awaiting moderation. Thank you for participating in the discussion.
Is this accurate:
Apache ported Java as Harmony.
Google ported Harmony as Android?
Re: harmony?
by Faisal Waris,
Your message is awaiting moderation. Thank you for participating in the discussion.
Reading elsewhere on the net it seems that this is a patent issue not a copyright issue.
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
I would love to see a breakdown of the amount of capital that goes into wrestling with the patent system. The titles of the patents are evidence of its absurd state. Why bother actually making anything when you have to pay an army of consultants to make sure you aren't infringing on any patents/copyrights? You might want to make sure the "Email me replies to any of my messages in this thread" system isn't patented.
Re: harmony?
by Slobojan Ryan,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hi Vic,
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
James Gosling has written his ideas about this lawsuit, it gives some valuable insights.
nighthacks.com/roller/jag/entry/quite_the_fires...
Android is Java
by Miroslav Pokorny,
Your message is awaiting moderation. Thank you for participating in the discussion.
Whenever Oracle get round to the big nukes, they will take G to court for Android because Android is Java - dont believe me look at the source its got java.lang.String everywhere etc.
Oracle is evil
by David Peterson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Oracle is evil and Larry is a scumbag. There you go.
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
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.
That's Oracle MySQL ;-)
.. like Oracle Coherence.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Re: worth the read... (goslings blog)
by Charles Humble,
Your message is awaiting moderation. Thank you for participating in the discussion.
In the same spirit Charles Nutter has some interesting thoughts/insights on this
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,
Your message is awaiting moderation. Thank you for participating in the discussion.
Given the Oracle suit against Google's Android on the basis of VM patents, Google may, out of necessity, need to switch to their own Go language as a replacement of Java. (Because frankly the Oracle suit is looking to have a great deal of merit.)
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,
Your message is awaiting moderation. Thank you for participating in the discussion.