I didn’t see this one coming. Oracle just sued Google over patents in Java. Oracle contends that Google’s clean room implementation of Java - Dalvik - violates several patents.

Here are the patents referenced in the suit:

  • 6125447 - Protection Domains to Provide Security in a Computer System
  • 6192476 - Controlling Access to a Resource
  • 5966702 - Method and Apparatus for Preprocessing and Packaging Class Files
  • 7426720 - System and Method for Dynamic Preloading of Classes through Memory Space
  • RE38104 - Method and Apparatus for Resolving Data References in Generate Code
  • 6910205 - Interpreting Functions Utilizing a Hybrid of Virtual and Native Machine Instructions
  • 6061520 - Method and System for Performing Static Initialization

These are all pretty low-level features. They boil down to how Java handles security, just-in-time compiling, how class files are structured and how the system sets up code.

This is a pretty nasty attack by Oracle. One can only assume that they tried to shake down Google before filing the actual suit. Assuming that the patents stand I don’t see how some of them can be worked around by Google without changing Java.

According to the lawsuit, what does Oracle want? Treble damages and all copies of Android destroyed. That clearly won’t happen so the question is whether Google will cave and license Java from Oracle or fight the suit.

Since the suit was filed at all, I’m assuming that the licensing conversations went poorly. But Google has never been a company to drag through the courts while Oracle most definitely is. So my guess is that unless the patents are quickly invalidated that Google will end up licensing the patents from Oracle.