Skip to main content

On why the Oracle-Google war might have a happy end

Posted by fabriziogiudici on August 15, 2010 at 3:45 AM PDT

In my previous post I said that the new Oracle vs Google war might have bad as well as good effects on the community. As usual, most people are screaming about the possible bad effects. I'd like to share an hypothetical scenario where the effects are good.
Please note: it's not a forecast. I'm not able to do that. Maybe things will be really bad. In my scenario there is for sure a considerable dose of wishful thinking. Take it just as a mental exercise to demonstrate that there are at least chances for a happy end.

What could happen is:

  1. Oracle and Google come to a deal, so Google licenses Java™ and Oracle gets a share of the Android revenues.
  2. Google might even be convinced to have JavaFX on Android - thus JavaFX Mobile is suddenly resuscitated (there are smart and dumb ways to integrate JavaFX on Android, and I'm not talking of them now). BTW, this point is not relevant for the rest of the scenario.
  3. Oracle and Google distribute also on Android a compatibility layer for running most of the current JME applications. At the same time, Oracle announces that it won't develop JME further and that it will assist its customers to migrate to pure Android. In this way, the move won't erode the number of pure Android developers, instead it will bring in a massive amount of the current JME developers. To make Google feel safe, the JME compatibility layer could have a limited lifespan (e.g. two years), enough for migrate, but too short for some people to still consider JME strategic.
  4. Android in the end becomes Java™, supported by two big actors and not only one.
  5. Nokia and RIM find themselves in the most complete isolation. Either they try to keep JME alive by themselves (difficult, because Oracle might legally prevent this from happen), or they try to survive with their own SDKs, or... they understood that it's better to migrate to Android.
  6. At the end of the games, the mobile world ends up with 70% of Java and 25% of iPhone. Google definitely wins the mobile war, even though it has to share the glory (and the money) with Oracle.
  7. We as a community win all the same, because we get with a defragmented Java™ on the mobile and Java™ is the winner technology of the mobile world, relegating the competition to a niche, just like the old good glorious times of JME.

This would make sense on why Oracle didn't announce anything serious on JME and JavaFX Mobile in the past months. They probably waited for Android to surpass iPhone (it could be not a chance that this happened in the same days in which the complaint was made public) to ante up.

Related Topics >>


I don't think Google will

I don't think Google will tolerate a third party to mess with such an important piece in their world-domination strategy puzzle. For Android to succeed it needs to out-pace the competition. Google needs to be fast, flexible and free to do so. They cannot afford to lock themselves into a bureaucratic system like JCP or share the steering wheel with a hostile player like Oracle. The smart thing for Google would be to loose their dependency on Java sooner than later.

Apple gave lessons of the

Apple gave lessons of the importance of having control over your own platform. They have painfully learned their own.

I agree that JCP bureaucracy

I agree that JCP bureaucracy would kill Android. But in a possible Oracle - Google deal, the JCP is an unnecessary piece. They could as well make Android a two-heads game. And for what concerns hostilty, once Oracle gets revenues from the game, it wouldn't be hostile any longer. Indeed, it could be a very valuable partner. For what we can see, they business don't overlap much - unless they have secret plans that we don't know (yet).


Suggested read:

Means to an end

I see it purely as a means to an end (they are probably already in talks). With JavaFX and other old/new Oracle tech on Android - the fastest growing OS on the planet - this will establish a new direction for Sun/Oracle. Watch for the happy happy joy joy announcements soon.

"Soon" must be understood. If

"Soon" must be understood. If the complaint was destructive, I'd say years for it to come to an end. Since I don't believe it's destructive, and both parties realize that leaving time to pass in the urcertainty is bad, it won't take years; but legal things are long, Google will backfire with their own patents to see how many chances Oracle has got. So I'd say it will take a few months. 

Which Google patents?

This fight doesn't seem likely. Remember that Oracle has been around since 1977, Sun since 1982, not to mention tons of other Oracle acquisitions... their patent portfolio is probably one of the largest in the industry (I wouldn't be surprised if it's #2 after IBM, which is the Goliath of computing-related patents). They also have tons of patents in other areas like operating systems (thanks to Sun), databases..., that could target other pieces of Android or other stuff from Google. While Google is a 12 years old company that, even if very innovative, doesn't probably own yet a patent portfolio that would worry any of its competition (except maybe other web companies, but that doesn't describe Oracle). Google may fight back with other weapons, but with patents I don't think so.

Anyway, let's hope that these big dogs settle their issues quickly and with minimum damage for the enormous ecosystem that depends on both companies. I wonder if it can be fast enough so Javaland is once again blue-sky when JavaOne'10 opens - otherwise, this may be a very odd JavaOne.

Very good point about

Very good point about Google's youngness, but I fear that this patents thing is like a field of mines... They could be where you don't expect. Maybe Google has performed some minor acquisition that went unnoticed, but brought some relevant patents. Who knows? In any case, if they backfire or not with patents we'll see pretty soon, I think. That the deal might be over by JavaOne, I don't think (I'll be happy to be wrong). Just out of curiosity, I quickly searched the J1 catalog for 'Android' and, if I'm not wrong, there's only one speech - and it's about introducing in Swing applications some concepts from Android, so it's not really about Android (AFAIU). 

PS I have mentioned Android on one of my slides :o) that are about the NetBeans Platform and Maven - since Maven actually allowed me to use some NetBeans code on Android. Who knows if a laser beam will kill me as soon as I pronounce 'And...' - or if they will ask to remove that reference from the slides?

Yes, think strategically

There are more possible crazy scenarios... for one thing, some people claim that Larry Ellison is a great friend of Steve Jobs, and Apple is right now in a patent fight against HTC, so it's easy to build an incredible conspiracy theory where Oracle stops the Android business and Apple lets JavaFX Mobile in iOS. I don't believe this either (for one thing, there is no such things as "CEO friendship" - these guys definitely don't make billion-dollar business decisions on top of personal relationships). It's just a random shot; anything that we outsiders can imagine right now is pure speculation.

My point is, Oracle seems to be a company that plans things long-term. Whatever is their plan, it's certainly not as simple and immediate as collecting some IP fee from Google. Your item 2 remembers JavaFX Mobile; I remember also JavaFX TV and Google TV (the latter also Android-based). Even if this litigation drags years in the courts and cannot stop the train of the existing Android smartphone platform, the nascent TV platforms are different. How many TV vendors will want to invest in a Google TV platform that's become legal hot water even before released?

On items 3-...: It's worth noticing that Android is closer to JavaSE (headless anyway) than to JavaME. But a different proposal to make Android run standard JavaSE apps is even worse (Swing can't scale down... in fact it barely competes in desktop PCs). On the other hand again, an Android->JavaME transition, or even some Android+JavaME unification that produces something new, would be incredibly difficult as the redundancy and divergence are enormous. And it's hard to deny that Google asked for trouble; Android has some really great ideas but its introduction was ugly both community-wise (basically giving the finger to the enormous and standards-based JavaME ecosystem) and technically (broken and chaotic sub-setting of JavaME/SE packages)... the latter, very likely not due to incompetence, but a side effect of Google's desperate efforts to dodge as much Sun IP as possible. So, in a way, it was Google who first put their patent lawyers running their platform strategy; Android could have been significantly different (and significantly better) if they just bought the necessary Sun IP, then changed only things that really needed to change for strong technical needs. It's easy to "rewrite history" and be forgetful now just because Android has matured and succeeded, and became Java's single champion so far in the high-end mobile platform wars. I like Android and Google, and I'd rather code for Android than iOS (or even Flash or HTML5); but in the past we (the Java community) stoned Microsoft for doing much, much less.

On your last comment, I don't think Oracle was just waiting for Android to reach some % market share or surpass the iPhone. The reasons for their timing are probably many, including simpy the time necessary to prepare this kind of complex patent battle. But I would bet that the release and reasonably-wide deployment of Android 2.2 (FroYo) was an important milestone, because 2.2 adds a JIT compiler. One of the patents (from Lars Bak, now leading the V8 VM) is specific for mixed-mode execution, so it wouldn't be violated by earlier Android releases.

Re: Swing, I don't think it

Re: Swing, I don't think it makes sense to ask Swing UI in Android (while I _do_ wish I could use some model classes, such as BufferedImage etc...). But the deal could involve also a specific reshaping of Java. For instance, Android could license the whole JDK, but be authorized to implement a subset.

Subsetting is not even necessary (many ways to skin a cat...)

Google could license JavaSE, implement all of it, but just make the parts they don't really want to support "second-class". For example, the AWT/Java2D/Swing libraries could be included but only in the minimum form acceptable to pass the TCK, without any optimization to have decent performance (e.g. GPU acceleration), except perhaps for the subset that's useful elsewhere or for interop, like the model classes you mention.

Even more, the VM could blacklist the unwanted libraries so they are never JIT-compiled, which saves memory and produces very bad performance but would not break TCK compliance... then, developers would be in practice forced to use other GUI libraries (the Android ones, or maybe JavaFX if we're lucky to have that option) because only these would deliver good performance.