In what seems like a normal day at the trough for large companies and their patent lawyers, Oracle America (nee Sun Microsystems, now a subsidiary of Oracle) has issued a lawsuit against Google for violation of seven patents and some copyrights (PDFs of the complaint document are available in many places on the Web). At its core, the fight is over Google's Dalvik virtual machine used in Android.
Whilst Dalvik implements the Java Virtual Machine (JVM), it is not a licenced product, it is a "clean room" implementation. Of course, clean room is not a defence against patents, if you use something on which there is a patent, you are liable to pay royalties to the patent holder, even if you didn't know about the patent. Oracle, via its purchase of Sun, now owns patents it thinks applies, and it wants to collect.
Somewhat predictably, the initial knee-jerk reaction of large swathes of the JVM using community on the various mailing lists is one of being up in arms against Oracle, complaining that Oracle are attacking Java, and that this is the beginning of the end for Java. Later on in the various threads, the voices of reason begin to appear. But this article is not about whether Oracle is trying to cause the demise of Java and the Java community, that is really rather unlikely given the importance of Java middleware to Oracle's core income stream. This article is about the instruments being used in this case.
Oracle has purchased a collection of patents, many of them software patents, as part of its purchase of Sun. Many of these patents relate to techniques used in the Sun implementation of the JVM, pure software patents. Patent documents, at least in the USA, often start "A method and apparatus to . . .", the interesting (!) thing about all software patents is there is no apparatus, there is just a method realized as an algorithm encoded in source code. It is a pity that patents do not get rejected for lying when using the standard language.
I have skimmed over the PDFs of six of the seven patents that are the focus of this case (6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; and 6,061,520), and it seems clear that these are all pure software patents revolving around various techniques used in the JVM, but which are actually so broad that they are techniques used in many other varieties of virtual machine. So this case could be seen as the beginning of a programme to extract royalties from any and all purveyors of virtual machines.
In the end, Oracle have purchased a company with assets and they are trying to create a return on investment from those assets. Natural business activity. The problem is the nature of some of those assets, and in particular software patents. Moreover it isn't just the seven patents listed in this case. Each of those seven make reference to many other patents of similar type, all part of the portfolio. There is therefore a whole pool of patents in play here, and the "long play" may well be to validate all of these patents in court so that they can then be used as mechanisms for extracting more royalty revenues from more companies, and in the end create an effective monopoly on the whole concept of a virtual machine.
Thus one could imagine that Microsoft with its CLR, IBM's implementation of the JVM, possibly VMWare, Parallels, all hypervisors and virtual machines are being lined up. Could they perhaps even go after the Python, Ruby and Perl virtual machines as well? Here lies the seeds of paranoia, but it indicates how dangerous a legally validated software patent might be, at least in the jurisdiction of that patent. Here we see another indication of why the UK and EU must not allow these sorts of patent. They destroy competition and innovation.
From a strategy perspective, it is interesting that Oracle have targeted a big player first, rather than starting with a small player, as is usual in these quasi-extortion rackets. Little players often have to fold for lack of resource, so there is a build up of apparent validity to the patent caused by wining cases, albeit out of court. The problem though is no actual case law has been created, so there is still the risk that when you finally start with the big players, you have to go the full distance anyway, having already paid out a lot to deal with the small fry. Perhaps then the strategy here is to have the big game first, go the whole distance to a judgement, and by doing so immediately create case law. All other players, big or little, then have to fall in line; it is then a simple sweeping up operation, money for old rope.
Over the next few weeks there will be a lot of mud thrown at Oracle, much of it unreasonable, some of it reasonable. Google will try and appear like the FOSS (free and open source software) world's white night, when in fact they are just as grey a player as any other big company (after all they tried to leverage the JVM without paying their dues). The real culprit here is the USA patent system and its penchant for issuing software patents willy-nilly, and indeed at all. Patents are tools for big players to stifle little players, and as noted above competition and innovation. Any pretence that patents are tools for the little guy to get remuneration from their ideas has surely been seen through long ago.
There is though another count in the lawsuit which is potentially far more important in many ways than the software patents ones, and that is the breach of copyright claim (Count VIII). Currently it is not totally clear from the documents available what the claim really is. There are issues of timing and exact claim that introduce uncertainty. One interpretation is that Google simply reused in Dalvik Sun JVM code from a time prior to that code being released as open source under the GPL licence, even though they were claiming Dalvik to be a clean-room implementation. If so this would seem to be a straightforward violation of Sun's copyrights. Another interpretation is that Google have relicenced GPL licenced code under the ASL licence without permission - the ASL is a more permissive open source licence than the GPL, and in order to relicence GPL code under ASL you have to have the permission of the copyright holder. Under this interpretation Oracle is the white knight and Google the enemy of FOSS. This is so against all (prejudiced?) expectation that it is immediate to doubt this is the case, yet it might be. If it turns out that this is, in fact, the case then everyone currently saying Oracle are no longer to be trusted as the owners of Java and the JVM, may have to reassess their position. On the other hand this is all speculation until more details are available: Paragraphs 37 to 46 of the complaint document are not specific enough to do anything other than speculate on the actual claim.
This case is going to be one to watch. Hopefully Groklaw will take this one up. There is _The Oracle-Google Mess: A Question - Are Any of the Patents Tied to a Specific Machine?_, so possibly yes.
In breaking news: Oracle have jumped into the Evil Empires League straight at number 3, forcing Dell, The EU Patent Office, The USA Patent System, Amazon, and even Google, down one place. We conclude that there may be a direct relationship between position in the table and the extent to which bully boy tactics and the patent system is used to extort monies.