Tuesday, December 14, 2010

Bad week for Google's position vis-à-vis Oracle

Last week, Google's hopes of settling Oracle's Java patent suit on sweet terms were dealt important blows on two fronts.

One part of the bad news for Google is that a Federal Circuit ruling indicates software patents still can't be invalidated categorically on the grounds of "abstract" subject matter, a defense Google's answer to Oracle's amended complaint emphasized rather aggressively.

The other key development is the Apache Software Foundation's divorce from the Oracle-led Java Community Process (the Java standard-setting process). It's time to forget about possible concessions by Oracle to the open source community from which Google could indirectly benefit (since its Dalvik virtual machine is derived from a part of Apache's Harmony project).

Before I go into more detail on those latest developments, I'd like to reiterate an observation I already shared last month: unlike the other defendants in major smartphone patent cases, Google still hasn't countersued Oracle for infringement. Meanwhile, four months have passed since Oracle's lawsuit. Other defendants struck back within about two months, in some cases within one month. It's ever less likely that Google will do so. I guess it just can't.

All of this doesn't bode too well for Google and its Android mobile operating system.

101 isn't Google's lucky number

The number 101 connects Google and Oracle in two different ways. From the Googleplex in Mountain View, the fastest route to Oracle (Redwood Shores) is to take Highway 101 North. But § 101 of US patent law (35 U.S.C.) isn't the fast track to the invalidation of Oracle's Java patents that Google would like it to be, or that it would like the open source community to believe that it is.

I pointed out in a previous post that I couldn't see much of a point in Google's "abstract subject matter" defense (which it redundantly repeated), other than pandering to impressionable parts of the open source community who may be led to believe Google fights against software patents in general.

There are a few notorious disinformers out there who portray the US Supreme Court's Bilski opinion as the (potential or actual) beginning of the end for software patents. Contrary to what those propagandists claim (I doubt they even believe it themselves), that ruling (handed in June 2010) didn't do anything to turn US software patents into an endangered species. It was a decision in favor of continuity and a patent system that expands as technology evolves.

Google makes an unambiguous reference to the "abstract [...] subject matter" part of Bilski but there's no particular reason to assume that Oracle's Java patents would be non-statutory on that basis, or that such a defense would be stronger post-Bilski than it used to be pre-Bilski.

To me, the fact that Bilski didn't move the goalposts was immediately clear. I've spent a lot of time discussing substantive patent law with politicians and experts, so I can tell when a position on patent-eligible subject matter is liberal (such as Bilski) or restrictive. Steven J. Vaughan-Nichols, a markedly open-source-friendly journalist, viewed its impact essentially the same way. Bradley Kuhn, a leading free software activist, stated on this blog that "[p]ost-Bilski, it's become obvious that software patents can only be ended with legislative change." That's similar to what I had written in another follow-up to Bilski.

But anyone who believed those dreamers and disinformers instead of the more realistic and honest assessments I just mentioned would now have to grant me that I was right. The first ruling on a § 101 defense against software patents by the Federal Circuit (that's the instance right below the Supreme Court) since Bilski undoubtedly proves that software technologies continue to be patentable in the US subject to the same criteria as before.

CAFC decision on RCT v. Microsoft interprets Bilski

The United States Court of Appeals for the Federal Circuit (CAFC) heard an appeal in Research Corporation Technologies [RCT] vs. Microsoft, a case related to digital image halftoning (a set of techniques for improving display and print quality). Last Wednesday (08 December 2010), the CAFC announced its decision, a part of which disagreed with a district court's finding that "the asserted claims of [two of RCT's] patents were invalid under 35 U.S.C. § 101".

I haven't formed an opinion as to those particular patents. When I read the ruling, I was just interested in what principles it establishes for the patent-eligibility of software in general.

The CAFC points out that inventions are patent-eligigble unless expressly excluded from patentability by Congress:

Therefore, the Supreme Court has "more than once cautioned that courts ‘should not read into the patent laws limitations and conditions which the legislature has not expressed.’" Diehr, 450 U.S. at 182 (quoting Chakrabarty, 447 U.S. at 308). The Supreme Court has articulated only three exceptions to the Patent Act’s broad patent-eligibility principles: “laws of nature, physical phenomena, and abstract ideas.” Chakrabarty, 447 U.S. at 309.

The first part of that was also cited in the Bilski opinion, and what I quoted from Brad Kuhn is exactly what it means: if you want to do away with software patents, talk to politicians, not to judges. Of the three exceptions stated in the second part of the above quote, the first two are irrelevant to software patent issues and only the last one -- "abstract ideas" -- might play a role in a case like RCT v. Microsoft, or Oracle v. Google for that matter.

The CAFC then notes that the Supreme Court threw out its more restrictive approach to the Bilski patent application:

Indeed, the Supreme Court re-cently emphasized this statutory framework and faulted this court’s “machine or transformation” test for eligibility as nonstatutory. Bilski, 130 S. Ct. at 3227.

Therefore, the CAFC "perceives nothing abstract in the subject matter of the processes claimed in the [relevant] patents" and states that "[t]he invention presents functional and palpable applications in the field of computer technology."

That's the difference between patenting a mathematical algorithm and patenting a way to apply such an algorithm. Those who claim that software is mathematics and therefore too abstract to be patented don't take into consideration that such patents may be infringed by software that implements certain algorithms, but that is intellectually different from monopolizing mathematics per se:

These algorithms and formulas, even though admittedly a significant part of the claimed combination, do not bring this invention even close to abstractness that would override the statutory categories and context. The Supreme Court has already made abundantly clear that inventions incorporating and relying upon even "a well known mathematical equation" do not lose eligibility because "several steps of the process [use that] mathematical equation." Diehr, 450 U.S. at 185.

Again, I can't comment on those RCT patents, but I have looked at the patents Oracle asserts against Google and in my opinion, those Java patents aren't any more abstract than RCT's patents or, for example, all of the Google patents I've seen so far. Digital imaging is an operation performed by a computer processor on data stored in memory, possibly a storage device. Those Java patents involve the same hardware components except that they don't make explicit reference to output devices. However, one could also implement digital halftoning in Java, which shows that there isn't an obvious way to draw a line in the sand between RCT's and Oracle's patents.

In its attempt to take down Oracle's Java patents, Google will have to look for other arguments (such as prior art) than the subject matter defense it stressed so prominently in its recent court filing.

Apache's divorce from Oracle's Java Community Process is final

Probably knowing that it's very unlikely to do away with all Oracle patents and to prove that it doesn't infringe the valid ones, Google has strongly played the open source Java card in its public reaction to Oracle's patent infringement suit as well as the answers it filed with the court. Google would like the court to conclude that Oracle's open source commitments related to Java allow Google to use those patents anyway.

I can't see a convincing theory for that, but what's obvious is that Google hopes to put pressure on Oracle via the open source community.

Even if that wouldn't ever change the legal facts concerning what Google has done so far, Google may hope that under enough public pressure Oracle would be more likely to let Google carry on with its Dalvik virtual machine. I said before (at the end of this post) that I believe Google is barking up the wrong tree by trying to pressure Oracle on that basis. Oracle's support for open source and "open standards" ends where its business interests begin. That impression was just affirmed three weeks ago when I listened to Oracle's VP for Standards Strategy and Architecture, Don Deutsch, at a standardization conference.

Google might have hoped that Oracle would grant a Java license to the Apache Software Foundation's Harmony project. Since Google's Dalvik virtual machine is derived from a part of the Harmony code, Google would have been, potentially, an indirect beneficiary of such a license. This was like the reverse concept of having a carpet pulled off from under one's feet. Google hoped to have a missing carpet inserted under its feet and gain a legal advantage at least with a view to the future. But as I expected, Oracle stands firm.

On Thursday (09 December 2010) the ASF announced its resignation from the JCP Executive Committee -- the steering body of the Java standards-setting process. Over a disagreement as to whether Oracle had legal obligations to grant a certain Java-related license to the Harmony project, the ASF wanted to (at least temporarily) block all further progress concerning Java. But only Apache, Google and an individual member named Tim Peierls voted that way, while eWEEK reported that six members voted unconditionally in favor of Oracle's proposal (HP, Ericsson, Fujitsu, VMware, Intel, and Oracle itself) and six other members (SAP, IBM, Eclipse, Red Hat, Credit Suisse, Werner Keil) disliked licensing restrictions but voted for Oracle.

I read a rumor on the Internet that Red Hat was actively discouraging other members from a vote that would amount to "shilling for Google". A statement Red Hat gave to internetnews.com certainly indicates the Linux distributor's allegiance to Oracle. That's not suprising since IBM supports Oracle, and Red Hat follows IBM on pretty much every occasion.

The Apache Software Foundation risks getting sued

After Apache and Google lost the vote, TheRegister already expected the ASF's resignation. Oracle didn't seem to be surprised either. Its call on the ASF to "reconsider its position" doesn't mean that Oracle holds out rosy prospects to Apache and Google: it just shows that Oracle believes that the ASF will sooner or later have to yield and live with the fact that Oracle wants to retain some control over the licensing of Java and, particularly, Java-related patents. It's not an offer to hold peace talks and work out a compromise. It means that the ASF can have peace only on Oracle's terms.

If Apache doesn't accept Oracle's terms, I wouldn't rule out the possibility of Oracle suing the ASF over its Harmony project at some point. Doing so would merely be consistent with Oracle's infringement suit against Google. Right now, Oracle puts on a friendly face, seemingly extending an olive branch. But who knows for how long. At some point Oracle may conclude that the ASF will continue its collision course forever unless Oracle asserts its rights.

These circumstances limit the options Google would have should it be found to infringe Oracle's patents. The indirect Apache road to salvation appears to be blocked for the foreseeable future. Replacing Dalvik with another infringing technology wouldn't make sense either. However, most (if not all) Android applications have been written in Java, and Google must find a way forward for its third-party app developers. It can't just tell them that all of their applications can no longer be legally executed on Android and that they'd have to rewrite them with a completely different development system.

The GPL avenue wouldn't work either. While Google could theoretically take Oracle's GPL'd Java code (OpenJDK and/or parts of phoneME) and build some new GPL'd software capable of executing existing Android apps, it has clearly been Google's approach so far to eschew the GPL and its "copyleft" principle according to which anything derived from or incorporating GPL'd code must be GPL'd as well.

If Google had to do that, it might help its app developers temporarily but at the expense of creating major complications for the business strategies of its key partners among device makers. Those strategies are centered around closed-source, proprietary extensions to Android, which effectively make the platform "open in name only".

This is Google's dilemma: it has to work out things with Oracle in a way that Android app developers and Android device makers can live with. If Oracle's legal position is indeed very strong, if Oracle's intentions are about control as opposed to just money and if Google continues to be unable to countersue for infringement of any of its own patents, then there may be no solution that averts devastating damage to the Android ecosystem.

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents.

Share with other professionals via LinkedIn: