Wednesday, February 9, 2011

Oracle says 'Google now wants to throw its licensees and users under the bus'

In a memorandum filed with the US District Court for the District of Northern California on Monday (February 7, 2011), Oracle accuses Google not only of stalling the legal process (without using the term "stalling" explicitly) but also claims the following:

"Having succeeded in that goal [Android's widespread adoption], Google now wants to throw its licensees and users under the bus, and feign ignorance of the uses to which its creation [Android] is being put."

This is quite an accusation. I'm an Android user myself (Samsung Galaxy S), and if someone says a vendor on whose software I rely is throwing me under the bus, I want to know what this is about. The short version is that this is indeed about whether Google assumes responsibility for intellectual property issues surrounding Android, or tries to hide behind the claim that once you put out open source software, it's none of your business what others do with it. "We're all right as long as we collect our mobile advertising revenue, and to hell with the consequences" -- that's how I would sum up that attitude.

This isn't just about Android. It's not even just about Google, although I'm profoundly concerned that its WebM video codec may be heading for Android-like patent problems that could affect an even larger number of companies. No, this is about what every company that publishes software on open source terms should do in this kind of situation: assume responsibility.

A billion-dollar pyramid

I would view this differently if we were talking about a group of hobbyist programmers who just happened to create something that became wildly successful. Everyone in open source knows Linus Torvalds' famous memo from 1991 about how he didn't (at the time) envision Linux to become big and professional, but it was a major success and it would have been unethical to go after him, a private person, with the same legal pressure one might exert on a large corporation.

In Android's case, there's a commercial entity -- Google -- behind it, seeking to generate billions of dollars of mobile advertising revenue in the long term. An analyst just predicted $1.3 billion for next year. Asserting rights against such a player sounds like fair game to me.

I wouldn't have granted even one of the seven patents Sun obtained and Oracle is now asserting, but those patents exist and there must be a solution that takes care of the entire Android ecosystem.

Think of that ecosystem as a pyramid: there's Google at the top; then you have its partners in the Open Handset Alliance (telcos, device makers, other commercial players); on the next level, Android device makers and telcos outside of the OHA; then all those app developers; and finally, the largest group, users like me. At every level of the pyramid there can be patent infringement problems. If a device maker adds a component that violates any patents, I would expect that vendor to take care of that problem and not pass it on to the downstream (such as users like me because I certainly don't want to be sued by someone like Oracle). And if a problem emanates from the very top, then it should be solved right up there.

A few weeks ago I published material that shows the presence of Oracle/Sun program code -- relicensed under the Apache license, something that I can't imagine Oracle ever authorized -- in the Android codebase (versions 2.2 and 2.3). And it wasn't only there: I could also find those files in the source availability packages of major Android device makers (Motorola, LG, Samsung, and I guess I could have found many more). Assuming there is a copyright problem, those could be held responsible for publishing (in that case) infringing material on their websites and possibly having incorporated it into their devices. Every lower level of the pyramid must be able to trust the upper level that intellectual property issues are handled diligently and resolved swiftly. I can't see any other way how it could work.

The out-of-control excuse

I've looked up the relevant filings by Oracle and Google to see what gave rise to Oracle's throwing-under-the-bus accusation. At this stage, it's just a burden-of-proof issue, but as I'll explain later, it can evolve into a more fundamental problem. In a February 2, 2011 filing, Google complained that Oracle's patent infringement allegations weren't sufficiently specific. Let me quote and then sum it up in simpler terms:

"These statements fail to provide Google with the requisite notice and particulars of Oracle’s infringement claims. For the method claims, Oracle has not identified any occasion on which the claimed method was allegedly performed, nor the identity of any purported direct infringer performing the method. With respect to the apparatus claims, it is Oracle’s burden to identify the allegedly infringing devices with specificity. Rather than comply with this requirement, Oracle has improperly attempted to place the burden on Google, asking Google to conduct analysis of all third party devices to disprove infringement."

This comes down to the question of whether the assumption is that each Android-based device actually infringes Oracle's patents (provided, of course, that Oracle firstly proves that the Android code published by Google infringes). Google would like to make things much harder for Oracle by requiring detailed evidence related to each infringing device. Oracle, however, argues that it has already met its burden of proof by providing claim charts with an aggregate volume of almost 400 pages. Oracle also stresses that Google controls the use of the Android trade mark, and a device maker won't be allowed to use it unless the products in question can run Android applications, in which case Oracle believes that the assumption must be that its virtual machine patents are infringed. This is how Google summed up Oracle's approach in its February 2 letter:

"[...] Oracle has instead [of providing device-specific evidence] relied on an unsupported assumption that any Android code that it has identified on a public repository has in fact been implemented and/or used in third party devices. Oracle’s reliance on such an assumption is unwarranted. Since at least October 4, 2010, when Google filed its Answer, Oracle has been on notice that '[d]evelopers are free to modify the source code of the Android platform to fit their particular purpose,' [...]"

The passage I just quoted appears to be an accurate representation of Oracle's stance. Here's what Oracle says (in its February 7 filing) in reply to this:

"Google knows quite a bit more about how Android is implemented and used than its letter to the Court suggests. For example, Google prohibits anyone from using the Android trademark unless their device is determined to be 'Android compatible.' [a related footnote contains this link to the Android licensing terms] Of significance to this lawsuit, through this licensing requirement, Google forbids device manufacturers from modifying aspects of Android that are copied from the Java platform: 'Android follows the package and class namespace conventions defined by the Java programming language. To ensure compatibility with third-party applications, device implementers MUST NOT make any prohibited modifications . . . to these package namespaces: java.*; javax.*; sun.*; android.*; com.android.*. . . . Device implementers MAY modify the underlying implementation of the APIs, but such modifications MUST NOT impact the stated behavior and Java-language signature of any publicly exposed APIs.' [a related footnote points to section 8 of the Android 2.2 Compatibility Definition] Through this and other licensing mechanisms, Google ensures that any device called 'Android' functions exactly as Google intended it to."

If Oracle's infringement assertions relate to program code in those namespaces (parts of the overall codebase) that "MUST NOT" be modified, then I would agree that Oracle can assume any officially licensed Android device uses that code. Anything else would run counter to Google's trade mark license, and from a more practical point of view, any tampering with those parts of the Android codebase could result in incompatibility with many or even all Android applications, and I can't see how a vendor would want that.

Does Google really want Oracle to sue its partners and users?

I guess some people who read that argument between Oracle and Google probably feel that it isn't going to be too important because Oracle has enough resources that it could hire forensic engineers (programmers who produce evidence for court cases like this) and provide claim charts for dozens or even hundreds of Android devices. Oracle would indeed be able to afford it if its life depended on it, but that's not an argument for the court. The court will have to protect the efficiency of the legal process because there will be other parties to such disputes who don't have deep pockets like Oracle.

Even for Oracle, efficiency is key. This lawsuit will cost them many millions of dollars even if it's handled efficiently. Oracle actually looked for the most efficient solution by seeking to enforce its right against Google, the top of the pyramid I described. If that approach was successfully obstructed by Google, Oracle would presumably feel forced to rethink its legal strategy.

Instead of holding Google responsible for the downstream, Oracle might then have to enforce its rights against device makers, telcos, app developers, or users. I doubt Oracle would sue every app developer or user out there, but developers of wildly successful apps could be at risk, and it wouldn't be a comfortable situation for corporate users that have thousands of Android devices in operation. I don't think they'd sue me (if I used my Android phone on a trip to the US) because I'm just a little guy, but no matter how unlikely that may be, I don't think it would be fair for me to face that risk at all. I'm a customer and I want the problem solved.

Lawsuit exposes Android's compromised openness

Oracle's accusation is an embarrassment for Google in more than one way. It's not just a question of whether they accept responsibility for the code they put out. If the court agrees with Oracle that those Android licensing terms are sufficiently strict that officially licensed device makers can be assumed to distribute the relevant code, then this will be like a certificate of non-openness for Android.

More and more people realize that Android isn't truly open. There are many strict rules, like the ones Oracle points to. It seems to me that those rules are strict wherever Google's own business interests (mobile advertising revenue, app market) are concerned, but lax enough in other areas to result in a major fragmentation problem. I've already experienced it several times when I had some questions about Android (such as how to upgrade to the latest version, or certain configuration options) and Facebook friends using other Android products (or the same type of device but with a different Android version installed) couldn't really help...

As I explained in my previous blog post (in which I discussed Myriad Alien Dalvik and IcedRobot, two initiatives aiming to make Android apps run on other platforms), fragmentation could furthermore be exacerbated by parts of the ecosystem deciding to work around some of Android's intellectual property issues.

So what should Google do? If Oracle's infringement assertions relate to the namespaces that officially licensed Android devices must contain without any alteration, then Google should withdraw its request for evidence specific to such licensed devices. Google has every right to defend itself against the infringement allegations per se (or to try to invalidate those Java patents, which would actually be a good thing), but it shouldn't claim things that don't make sense if it takes its own Android trade mark license terms seriously. And ultimately Google should resolve all of those Android IP issues at the top of the pyramid.

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: