By filing a patent lawsuit against Google over its Java-like implementation, Oracle probably made itself the world's least liked software company. After all, Java itself is an open standard, open source platform that is ill-served by exclusive legal claims, right? Yet perversely, I think this patent lawsuit demonstrates why Java needs Oracle.
The reality is that software patents exist. Neither Oracle nor Google can wish them away, so they both participate in the corporate patent dance. Oracle has a massive patent portfolio but it publicly opposes the very idea of software patents. And for all its bluster about openness, Google patented its simplistic text field + 2 buttons search page. Corporations accumulate patents as a defensive measure. And the ones that really matter are the Old Ones.
In Jonathan Swift's Gulliver's Travels, Gulliver encountered the struldbrug: immortal humans. After the age of 80, they lost their property and were not allowed to make money nor buy land. The reasoning was that if they were left to their own devices, over time they would end up owning the entire country. Something like that has happened with our companies. They may not be old in absolute terms, but they are old in man-years. Thousands of employees multiplied by years of work have accumulated patents for the corporate portfolio. The Old Ones are the superpowers of the software world, having accumulated massive patent portfolios through the struldbrug effect. You probably know their names: IBM with almost 5000 patents, Microsoft with almost 3000 patents, though most of the big patent holders are hardware companies. Oracle and Sun were also Old Ones with a few hundred patents each: now merged, they probably comprise the no. 3 patent holder in the software world.
The Old Ones tend not to battle one another with patents. The Cold War gave us the notion of mutually assured destruction. Similarly, if any of our technology superpowers decide to unload their patent portfolios at each other, the effect would be devastating to both. The uncertainty and cost of years of litigation would be prohibitive even for them. The combination of cash and their patent arsenal allows them to protect their own technology ventures. This was demonstrated by Sun's confrontation with Microsoft, as recounted by Sun's former CEO Jonathan Schwartz. The confrontation essentially went like this:
Microsoft: You know, OpenOffice violates a bunch of our office software patents. Mighty fine office suite you have there. It would be a shame if something happened to it. You might want to pay us some protection money ... I mean, royalty.
Sun: You know, .NET violates a bunch of our Java patents. Mighty fine runtime you have there. It would be a shame if something happened to it.
Quiet threats, a standoff, and that was the end of that. Nobody hears about these confrontations. That is how the Old Ones operate.
But sometimes patents alone are not enough. That same blog post described how Eastman Kodak bought an obscure Wang patent specifically to sue Sun over Java. Kodak was not in the same industry, so Sun's patents were not relevant. Sun ultimately had to pay $100 million to appease Kodak.
My point is that for a platform like Java to succeed, you need an Old One with money and patents to sponsor and protect it. Certainly, Microsoft would be happy to shut down a rival platform like Java if they could. Conversely, it took a company like Microsoft to build a comparable rival platform to Java. There are other technologies out there, but in the commercial software space the ones that matter are still Java and .NET. If a truly viable third candidate emerges, I expect it will either need a sponsor or get stomped into oblivion (legally speaking).
Could Google be Java's sponsor? Google's patent collection is still too limited to make it an Old One, but it is rich. But as I see it, Google is simply not committed to Java as a platform. While it contributed innovations, Google's participation in the Java platform has been opportunistic and incoherent. Its major initiatives like GWT, App Engine and Android have no common core, and it happily invented the incompatible language Go. Google is a one-company Java fragmentation engine. Google will not be hurt if Java dies or fractures.
Java itself succeeded because of Sun's corporate backing. Today, Java still needs a sponsor, and that appears to be Oracle. It was either Oracle or IBM: two Old Ones who are very much invested in Java's success. Both vied to acquire Sun, and the decision was made for us. For better or for worse, Oracle is now Java's champion and protector. The legal landscape is too dangerous out there for a major platform to be without one.