Tuesday, February 8, 2011

Alien Dalvik and IcedRobot: can they run Android apps on other platforms without infringing any Oracle patents?

Within days of each other there have been two different announcements related to the idea of making Android applications run on alternative platforms:

  • Myriad Group, a Swiss mobile software maker entangled in a two-way legal battle with Oracle over Java licensing issues, launched its Alien Dalvik platform, which allows Android apps to run on non-Android devices. Alien Dalvik "will be commercially available later this year on the MeeGo platform. Other platform support will be announced in the coming months. Alien Dalvik will be demonstrated for the first time on the Nokia N900 at this year’s Mobile World Congress in Barcelona from February 14th-17th".

  • A few days earlier, a group of open source developers gave a presentation at FOSDEM, a major European open source gathering, on a newly started project named IcedRobot. One of the founders of the project blogged about it today. The purposes for which IcedRobot is developed are described as "porting Dalvik outside the custom Linux sandbox", which means that Android applications could run on a Linux desktop as well as on operating systems from vendors like Apple and Microsoft, and "[p]ossibly resolve legal issues [with Oracle] if Dalvik runs inside the [Java Virtual Machine]". I gave comments on this announcement to different media, and was quoted by TechEye and ZDNet.

Let's look at both concepts from an intellectual property point of view. I'll focus on possible patent issues with Oracle because those can be broad and consequently hard to engineer around, while copyright-infringing code can usually be replaced with independently developed software.

Tug-of-war between Oracle and Myriad Group in full swing

Oracle started a lawsuit against Myriad in Northern California, and Myriad Group filed one in Delaware on the same December day. Oracle now claims "priority" for having pre-empted Myriad Group (but only by a matter of hours). That's why Oracle wanted the Delaware suit transferred to Northern California. However, the Delaware court rejected that motion at this point even though the judge found that Myriad's Delaware suit "is the mirror image of" Oracle's Northern California suit and agreed that "it makes no sense" to ligitate the two cases "in isolation". The dispute "should be resolved by the same judge", but "which judge?" The Delaware court may consider itself the right venue because Oracle is formally a Delaware corporation, can conduct discovery electronically from its California headquarters, and "Delaware, in fact, is mid-way between California and Switzerland and, therefore, is not an inconvenient forum based on any reasonable criteria."

The judge also stressed that "neither party wins 'good conduct' points" when considering "Oracle's filing suit in the middle of settlement negotiations and Myriad's walking away from its commercial obligations [Oracle alleges that Myriad simply stopped paying royalties] without first initiating some action to resolve the dispute or confirm its legal position".

In the same decision, handed on February 4, 2011, the judge indicated to Oracle that certain motions (which I believe relates mostly or exclusively to a Myriad motion to dismiss Oracle's suit) have to be ruled on in California before a (renewed) motion to transfer may be viewed more favorably by the Delaware court, and dismissed not only that motion but also a Myriad motion for injunctive relief, which would have been a fast track for Myriad to the objective of its suit. The judge didn't consider this as urgent as Myriad claimed it is, given that the Swiss company "waited over a year to bring its dispute with Oracle to court."

The judge highlighted those discrepancies between reality and the parties' claims in no uncertain terms, and I like such a direct style. I believe Oracle and Myriad know now that the federal judge in charge of their Delaware case has figured them out.

It seems to me that consolidation will most likely occur, but I won't speculate about where that will be and which place may be more favorable to whom.

In disputes like this, there's often some procedural wrangling over venues and consolidations, which doesn't mean too much on its own. However, the accusations flying between these two parties in their respective complaints suggest that they aren't going to find a common ground until one of them is on the verge of losing the case.

In terms of nasty behavior, Oracle's going to court in the middle of settlement negotiations sounds a bit rough, but what I absolutely don't like is the notion of a company -- in this case, Myriad Group -- honoring a license agreement for some time and then simply refusing to pay while continuing to sell its products. That behavior is contradictory in itself, and it's not the way to show respect for intellectual property. I agree with the Delaware judge that they shouldn't have stopped paying prior to legal action. Against that background, it actually seems to me that Oracle has been very patient with those guys, and that patience finally came to an end, so Oracle sued. It could -- and I guess many others in the same situation would -- have done so long before.

Alien Dalvik spells additional trouble with Oracle for Myriad

Launching a product like Alien Dalvik during a court fight with Oracle over possible licensing obligations is a bold move on Myriad's part. It's not as bold as Myriad's original decision to discontinue its royalty payments, but I wouldn't be surprised if Oracle considered this yet another act of provocation.

I'm well aware of the fact that Dalvik is a virtual machine that uses its own bytecode, and it has an architecture that's distinct from that of a standard Java Virtual Machine. However, Oracle's suit against Google shows that it interprets the asserted Java-related patents in ways that affect a Dalvik-style virtual machine as well. I have looked at the patent claims (the part of the patent documents that defines the scope of protection) and those are fairly broad. There are probably some other Java-related patents that are much more narrowly tied to that particular programming language, but the patents Oracle asserts against Google relate to fundamental technological concepts. For my part, I'm against patents of that kind, but I try to understand what damage they can do. Those patents are, unless they are invalidated, a potential major threat to most if not all state-of-the-art virtual machines of our times.

So far, Oracle hasn't sued Myriad for patent infringement. I don't know if Oracle will ignore Alien Dalvik until it has (if ever) significant traction in the market. But if it succeeded, I can't imagine that Oracle wouldn't want to collect royalties. It won't be able to do so from Google if Alien Dalvik is an independent Myriad product (it probably is) and runs on non-Google platforms like MeeGo. So Oracle might at some point assert its rights against Myriad Alien Dalvik as well.

Oddly, that Alien Dalvik offering could have a negative effect not only on Myriad's relationship with Oracle (which probably can't get much worse at this stage) but also on its alliance with Google. As I mentioned when I reported on the suit Myriad filed against Oracle, Myriad is represented by the same law firm that defends Google against Oracle, and at least one senior lawyer is involved with both cases. Myriad's claims against Oracle would indirectly also benefit Google's case, and Myriad is a member of the Open Handset Alliance led by Google. Considering all of that, I believe that they have coordinated those efforts closely, and possibly more than that.

Now Alien Dalvik aims to make Android apps run on platforms from which Google has no particular commercial benefit. Google might look at it as a way to increase the attractiveness of Android as a development platform and hope that the net effect is positive. But Alien Dalvik could also encourage users to switch from Android to other platforms while keeping their apps. Depending on whether Google considers the glass half-full or half-empty, Alien Dalvik might adversely affect the relationship between Google and Myriad.

IcedRobot is a bet on the GPLv2's implicit patent license

I admire the IcedRobot team for embarking on such an ambitious project. They express a certain belief that Google and Oracle will have mixed feelings about what they do, but I actually think that those companies will secretly hope that the IcedRobot idea never materializes.

Google's strategy with Android is to avoid the GPL to the greatest extent possible. Google wants to accomodate proprietary extensions that Android device makers may consider valuable for differentiation purposes. Oracle, however, looks at the mobile market as a key area in which it seeks to monetize Java. In this area, Oracle insists on one of its field-of-use restrictions for third-party Java implementations. Oracle made the OpenJDK available on GPLv2 terms and, consequently, without such restrictions, but the assumption was that commercial vendors would ultimately be willing to pay for non-GPLv2 licenses in order to avoid the "copyleft" effect of having to release software derived from GPL'd code on GPL terms. Google wanted to avoid the GPL in connection with its Dalvik virtual machine as well but claims that it doesn't need a license from Oracle anyway.

The IcedRobot team now tries to build a virtual machine as a derivative work based on the GPL'd OpenJDK.

For Oracle, that approach is acceptable up to a certain point, but if the IcedRobot team really achieves its stated goals, it may by then have modified and/or extended the OpenJDK code to an extent that Oracle could deem to exceed the scope of the GPLv2's implicit patent license. By publishing the OpenJDK under the GPLv2, Oracle implicitly makes its patents available to users. But I explained in an August 2010 blog post that the implicit patent license is considered by credible and unbiased sources, such as the European Commission, to have certain limits.

Obviously, there must be a limit somewhere. It wouldn't be reasonable for someone to take code published by a patent holder under the GPL and extend and modify it way beyond recognition while still claiming that the use of the patents in question was implicitly allowed. Depending on what exactly the developers of IcedRobot do, the way they practice the inventions protected by certain Oracle patents may fall outside the scope of an implicit patent license.

One of the developers of IcedRobot wrote that "if [they] succeed, the whole [Oracle/Google] lawsuit is going to be a bad dream of the past". That sentence alone makes it clear that IcedRobot's goal is not only to make Android apps run on other platforms (such as the Linux desktop) but also to develop something that might be a replacement for Dalvik if Google is defeated by Oracle in court. Unfortunately, those hopes of overcoming the patent infringement issues may be too optimistic. One day -- possibly after years of hard work -- they may find themselves in court anyway. I wish them luck but I'm worried that the scope of some of Oracle's patents may be broader than that of the implicit patent license.

What's also important to consider is that the implicit license would only relate to patented inventions actually practiced in OpenJDK. If Oracle held any patents that read on extensions or modifications made by the IcedRobot team but not on the original OpenJDK, it would be able to assert them.

Besides the GPLv2's implicit patent license, the developers of IcedRobot may also base some of their hopes on the fact that their Java implementation isn't going to be specific to mobile devices, but Oracle has already shown in its argument with the Apache Software Foundation that it's very serious about its field-of-use restrictions.

IcedRobot reflects disagreement of community members with Google on key issues

Looking at it from Google's perspective, the idea of Android apps running on Apple and Microsoft platforms (which is where Alien Dalvik could also go, but initially it focuses on MeeGo) may not be too desirable.

More importantly, after Oracle filed its suit against Google, various members of the open source community argued that Google should have built Dalvik on the basis of the OpenJDK as opposed to the Apache Harmony project. IcedRobot is now a community initiative that exposes Google's anti-GPL approach by outlining (and trying to actually implement) a fully GPL-based alternative.

Another negative aspect of this for Google is the way the IcedRobot team talks about "legal issues" (concerning Dalvik) and the "bad dream" that Oracle's lawsuit against Google is. They even talk about how far-reaching the implications of Oracle defeating Google could be. That's not reflective of the kind of confidence Google would like the open source community to have. Google would like everyone to believe that it's going to defend itself successfully, and now there are developers who appear quite skeptical of the outcome of that dispute and determined that they want to take their destiny into their own hands.

Conclusion and comparison

Alien Dalvik appears to be pretty far along while IcedRobot is, at this stage, mostly a vision. Alien Dalvik is developed by a publicly traded company (even if only a small-cap company by international standards) while IcedRobot is the project of a small team. Alien Dalvik appears to be a limited engineering challenge while IcedRobot plans to replace significant parts of Android. Considering all of that, the risk of IcedRobot remaining vaporware is far greater than that of Alien Dalvik.

But from an IP perspective, IcedRobot would have a fundamental advantage over Alien Dalvik: by deriving the virtual machine-related part of its code from the GPL'd OpenJDK, IcedRobot can use the GPLv2's implicit patent license for a defense against Oracle, while Alien Dalvik is an independent commercial product that was apparently developed without incorporating any OpenJDK code (otherwise it would be available under the GPL).

It will take a long time and considerable traction in the market before either Alien Dalvik or IcedRobot are going to be in a position to represent a significant additional reason for developers to choose the Android platform. It's difficult to predict today, in such a fast-changing market, whether Google will have a bottom-line benefit from those initiatives at the time when they are relevant.

For Oracle I believe it will be strategically key to collect royalties on Alien Dalvik. Should IcedRobot materialize, it's not only going to be harder for Oracle to assert its rights but it would also be easier for Oracle to tolerate an OpenJDK fork with the GPL copyleft effect than a commercial, proprietary product -- but that determination could depend on complex technical considerations at the relevant time.

And let's face it: such initiatives, however well-meant, have the potential to exacerbate the often-criticized fragmentation of the Android platform.

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: