Speaking of patent lawsuits – somebody pointed out to me that both Oracle and Google are members of the Open Invention Network. This struck me as odd – doesn’t the OIN license require you to promise not to assert your patents against Linux systems? And, uhm, isn’t that kind of what Oracle is doing right now? Well, yes, they might be suing a Linux System – but they’re not suing a Linux System as defined by the OIN.
As we all know, Oracle is suing Google over parts of the Android mobile operating system. Oracle claims that Google is violating some of its Java-related patents, but with both Oracle and Google being part of the Open Invention Network, it would seem that Oracle is actually violating the OIN license they clearly signed.
The relevant part of the Open Invention Network license agreement is section 1.2, quoted in full below (emphasis mine).
1.2 Subject to Section 2.2 and in consideration for the license granted in Section 1.1, You, on behalf of yourself and your Affiliates, (a) grant to each Licensee and its Subsidiaries that are Subsidiaries as of the Eligibility Date a royalty-free, worldwide, nonexclusive, non-transferable license under Your Patents for making, having made, using, importing, and Distributing any Linux System; and (b) represent and warrant that (i) You have the full right and power to grant the foregoing licenses and the release in Section 1.4 and that Your Affiliates are and will be bound by the obligations of this Agreement; and (ii) neither You nor any of Your Affiliates has a Claim pending against any Person for making, having made, using, importing, and Distributing any Linux System.
It would seem that this means Oracle can’t actually sue Google, since, like it or not, Android is a Linux system. So, when I was reading this license, I was a tad bit baffled – this all seems pretty clear, so why hasn’t anyone pointed this out yet? Usually, that means I’m simply wrong, so I dug a little further, and as it turns out, yes, I’m wrong.
The key here is the definition of a “Linux System” as employed by the OIN. This definition reads:
“Linux System” – shall mean a Linux Environment Component or any combination of such components to the extent each such component is (i) generally available under an Open Source License or in the public domain (and the source code for such component is generally available) and (ii) Distributed with, or for use with, the Linux Kernel (or is the Linux Kernel).
Great. So what is a Linux Environment Component?
“Linux Environment Component” – shall mean any of the software packages whose released source code shall be identified on the OIN® website, or a Predecessor Release or Successor Release of any of such packages, including bug fixes and error corrections thereto.
And here’s the list of components. As you can see, Java is clearly not a part of that, nor is Harmony or the Dalvik VM. As such, Oracle is free to sue Google over Java without violating the OIN license. Conversely, this means the OIN will not come to Google’s rescue either.
This isn’t a huge deal – it’s just something that made me wonder, and I figured I’d share it with all of you.
Nice try, would have been pretty funny for Oracle to have got caught out here.
As Adam Smith pointed out a long time ago, agreements among competitors are seldom created in order to benefit their customers.
I believe that the OIN’s arbitrary and constantly changing definition of the “Linux System” is a fundamental problem: http://fosspatents.blogspot.com/2010/06/oins-linux-system-only-cons…
I suggested four possible ways to address the problem (one of those ways consist of multiple measures, so all in all I made like a dozen suggestions).
The Oracle-Google situation proves that there is a problem: http://fosspatents.blogspot.com/2010/08/open-invention-network-oin-…
But this is just one of many symptoms, and the worst thing that could happen is for OIN to turn against open source competitors of its backers, such as against Linux distributions competing with Red Hat/Novell.
The article Florian links to has a significant error, I think. The OIN definition of a Linux system includes a list of packages, and also says that it applies to “any predecessor or successor release”. So it would appear that an OIN member can never sue GCC for patent violation, for example, since GCC is defined as a Linux system component (and yes, I can hear RMS gnashing his teeth over that).
Edited 2010-10-07 16:35 UTC
Where does it say what you claim in terms of predecessor and successor versions covered? Please specify. If you say my article has an error, then you have a duty to substantiate this claim.
Just to clarify this, one thing is that the definition on the website currently makes a certain statement. But it’s another thing that in the actual license agreement, the definition is subject to change at any time:
http://www.openinventionnetwork.com/pat_license_agreement.php
“Linux System†shall, at any time, have the meaning set forth, at that time, on http://www.openinventionnetwork.com.
So there isn’t really any reliability in terms of future versions since they reserve the right to change the definition whenever they want, whichever way they want.
Google designed Android deliberately to be incompatible with anything existing out there — including common Linux distributions.
For this reason, Android is not covered by OIN. But MeeGo is based on technologies found in common Linux distributions, meaning it’s covered by OIN.
Somehow it seems that without actively pursuing this, the participants in current events around Android make MeeGo more and more compelling on handset devices.
Nonsense. OIN is focussed on “traditional” Linux – servers, desktops. On phones, a whole can of new patents comes into play due to the use of technologies that simply don’t play a role in desktops and servers.
Not exactly: OIN lists a set of software packages, and the patent guarantees apply to those packages, whether they are used in a phone or a server or a desktop. But Java isn’t included.
You don’t get it. Even using the existing set of packages you can create technologies that wouldn’t be covered by OIN’s license. For instance, you could use Gtk+ to code a slide-to-unlock mechanism for your Gtk+-based phone, you’re violating a patent, and could be sued, and OIN won’t do a thing to help you – coded in Gtk+ or not – since the patent suit would not focus on Gtk+, but on the functionality created USING Gtk+.
Who said I wrote about “slide-to-unlock”? Stop making things up. I never wrote about that.
OIN covers a large part of MeeGo components, resulting in being a smaller target for patent trolls.
He didn’t say you said anything about slide-to-unlock.
He was giving an example on how to use an OIN-covered package in a manner that isn’t covered by the OIN.
Doesn’t matter. MeeGo uses those software packages. OIN affiliates can’t sue each other over those.
Eg. Oracle sued Google over Java. If Google used Python, for example, Oracle would be breaching a contract with OIN and could be countersued for that.
Doesn’t matter. If those phone-specific technologies are implemented by extending the packages currently covered by OIN (eg. establishing a UMTS connection via NetworkManager or whatever is patented these days), OIN members are relatively save.
Yes, OIN does not cover all patents but at least gives its adopters more safety. Additionally Intel and Nokia said they help defend all MeeGo adopters who get sued by someone else and since Nokia is a major mobile player and grants royalty-free patent licenses via (L)GPL and Apache licenses, that gives additional safety for adopters.
Really I am sorry. Tell that to nokia. One of nokia phones at one point run standard off the repo debian.
There is no need for a divide between phones and desktop. MeeGo is not more research along this path. Power management developments from Meego and its past forms are appearing in all distributions.
There are areas that OIN does not cover. But like Java existing rules were already in place that should be followed unless you want doom.
That’s a Nokia talking point. It’s both a false and meaningless claim. Of course it’s Linux. It uses the Linux kernel, GNU userland, and it uses Java technology on top of it. Java isn’t Linux, but neither is QT.
MeeGo is doing the same approach. Linux is meant to be customized to whatever you’d like, from megarouters to phones to servers to desktops.
That’s not entirely correct, it does use the Linux kernel, but that’s it. It does not use the usual GNU userland, it has its own which pretty much is the bare minimum needed to bootstrap Dalvik and let the APIs interface with the kernel.
So how does that make it not-Linux? How does MeeGo differ in ways that “make it Linux”.