Today Oracle sued Google over Java patents and copyrights
that they claim Google's Android OS infringes. The lawsuit
claims that Google knowingly infringed on those patents, and
that the continued distribution of Google's Android is harming
Oracle's Java Business.
You
can read
the actual complaint, the patents referenced are:
There is also a copyright lawsuit, but there are not enough
details on the complaint to figure out what the claim is.
Until there is a trial, we will not really know what is being
asked here.
Pundit Prediction Time!
I would like to think that this is going to be solved with
a quick settlement where Oracle will shake Google for a few billion
dollars and the entire matter will be put behind.
Oracle will likely want to settle with Google under terms
that will only cover Google's own use as they want to go
shaking other OEM trees for more cash.
An unlikely scenario is for Google to pay the bills for all
Android OEMs as they are coming
out fast and strong from
every corner of the world.
It occurred to me that Oracle could sell all the Java
assets to Google. But Google probably passed on this
opportunity back when Sun was put on the market.
What Jonathan Schwartz Knew
Sun's Ex-CEO Jonathan Schwartz has recently taken to the
blogwaves to blog about the
things he
could not tell us while he was a CEO of Sun. While he
might have found a new voice for gossip from the Sun days, he
will not say a word on this matter, because he was likely
engaged in shopping the patent lawsuit around.
Sun had created Java, but it turned out to be very
difficult for Sun to monetize Java directly after the initial
source code license deals that they struck with IBM,
Microsoft, Oracle, Netscape and others. They created the
J2EE market, just to find that other companies and startups
executed better than they did on the systems that they had
initially engineered.
Sun was left in the uncomfortable position of being the
owner of the technology that everyone was cashing out on, but
they themselves had very few revenue streams for Java. Like
Clemens
Vasters joked on Twitter today:
They had the Microsoft lawsuit cash and they had the
embedded licensing business with Java Micro Edition and Java
Standard Edition licensing deals.
The open sourcing of Java was also carefully planned. By
picking the GPL as their license, they ensured that embedded
system OEMs and developers would have to negotiate a different
license with Sun if they wanted to use the OpenJDK on their
systems.
There is very little public information on the Google/Sun
split over Java ME and the creation of Dalvik. The rumors on
the grapevine were that Google and Sun could not reach an
agreement over the Java Micro Edition licensing. Sun wanted
to sit in the middle between Google and the handset OEMs,
while Google wanted to create a free-for-all operating
system.
When it became clear that they would not be able to reach
an agreement, Google started a project to replace Java Micro
Edition and they used some clever engineering techniques that
blended the best of both worlds.
It is likely that during these negotiations, Google
threatened to build their own Java runtime and Sun countered
with a list of patents. This would explain why Google went
through the trouble of making the Dalvik virtual machine
explicitly incompatible with the existing Java virtual machine
instructions.
Although Dalvik uses a different set of instructions,
Google created a translator that recompiled Java code into
Dalvik code, and with this, they worked around whatever
licensing technicalities they were aware at the time of the
negotiations.
Needless to say, Sun was not happy with Dalvik. Not only
because Sun had lost a large licensing deal, but also because
it had the potential of becoming the de-facto Java virtual
machine that everyone on the embedded space would pick instead
of Sun's own Java Micro Edition.
In late 2007 Google announced both Android and the Open
Handset Alliance to the public. On the Java front, Sun had
delivered on the promise of open sourcing Java, but it had
been a rough year for Sun and it would get worse, in the next
twelve months after the announcement, Sun stock would lose 80%
of its value.
Sun had their plates full, so Sun did not feel the need to
react immediately to the Android threat, so they kept their
grievances to themselves.
But Jonathan started
to shop
the company in late 2008. The monetary value of
the Java assets had been devaluated due to the open sourcing
of the technology under the GPL. I am going to bet that the
same careful planning that went into picking the GPL went into
pitching the potential for lawsuits.
The world had already witnessed the awesome iPhone and the
eyes were on Google to deliver a killer phone. Jonathan must
have known this and he must have been pitching this to the
potential suitors.
By the time Oracle bought Sun, they knew that they would be
going after Google and anyone else with a big, fat checkbook
that did not have a licensing deal in place.
And that explains
the Exodus
of famous Java people from Sun shortly after the
acquisition. The wheels of the lawsuit started spinning the
moment the sale was done. Those employees are probably
under NDA.
Update: I was wrong, apparently Gosling was not
under NDA and
has confirmed
exactly what I said above:
Oracle finally filed a patent lawsuit against Google. Not a
big surprise. During the integration meetings between Sun and
Oracle where we were being grilled about the patent situation
between Sun and Google, we could see the Oracle lawyer's eyes
sparkle. Filing patent suits was never in Sun's genetic
code. Alas....
I hope to avoid getting dragged into the fray: they only
picked one of my patents (RE38,104) to sue over.
So now we know that Jonathan shopped Sun with a big "Sue
Google" sign. So much for
his visionary
patent defense against Apple and of course this jewel:
The most egregious of such suits was filed against Sun by
Kodak (yes, the film photography people).
Egregious, because Kodak had acquired a patent from a defunct
computer maker (Wang) for the exclusive purpose of suing Sun
over an esoteric technology, Java Remote Method Invocation
(“Java RMI” – not exactly the first thing that comes to mind
when you hear “Kodak”).
And he was just playing Wang's role a couple of months
ago.
Update: this
post from the Dalvik announcement era discussed how
Dalvik's work around the license-from-Sun challenge.
Some Background on the Java Patents
The Java specification
patent
grant seems to be only valid as long as you have a fully
conformant implementation:
(a) fully implements the Specification including all its
required interfaces and functionality;
(b) does not modify,
subset, superset or otherwise extend the Licensor Name Space,
or include any public or protected packages, classes, Java
interfaces, fields or methods within the Licensor Name Space
other than those required/authorized by the Specification or
Specifications being implemented; and
(c) passes the Technology Compatibility Kit (including
satisfying the requirements of the applicable TCK Users Guide)
for such Specification ("Compliant Implementation").
This is more stringent than the Microsoft Community
Promise that applies to .NET as the Community Promise only
requires a minimum subset, it does not prevent supersets.
This seems to be what the lawsuit is hinged upon.
Is this it?
I vaguely remember in one of the endless anti-Mono
discussions that someone pointed (maybe it was Gosling
himself?) that Java had a patent grant for anyone to implement
under any conditions.
They pointed to the spec. And I remember seeing this on
the spec and thinking that it was a generous patent grant.
Perhaps I was confused and the only patent grant is the one in
the previous section, but if you know of the other document,
please let me know.
Sun's GPL
By GPLing Java, Sun lost some of the exclusive rights that
they used to have, in particular, anyone using the open
sourced version of the OpenJDK is given the patent rights to
run the software.
The problem is that the rights are only available as long
as you are using the GPL version of Java. Any patent grants
are not available if you use a third-party licensed version of
the Java virtual machine. In that case, it seems like the
only option would be to to go back to the Sun
licensing terms.
Wishful thinking
Too many engineering resources are devoted to Android at
Google and at their partner companies, but I can not help to
think that Google could migrate Android from Java to the
ECMA/ISO CIL and C#.
Unlike the Java patent grant,
the Microsoft
Community Promise for both C#, the core class libraries and
the VM only require that you have a full implementation.
Supersetting is allowed.
Additionally, Microsoft has placed the .NET Micro Edition
entirely under
the Microsoft
Public License which comes with an even more generous
patent grant, and covers a superset of the code covered by
ECMA/ISO 335.
We have open source implementations of both, and even more
luckily, the ECMA/ISO VM specification allows for different
profiles, to allow for ultra-small or server-sized versions of
the VM to be created. Ideal for mobile platforms.
Google could settle current damages with Oracle, and switch
to the better designed, more pleasant to use, and more open
.NET platform.
Some Humor
There is a silver lining in this whole mess, and it is that
the tweetosphere came up with a few funny tweets, here are my
favorites:
And while you are here
I am very excited to see the first
MonoTouch book published.