I was shocked, shocked when Oracle sued Google for patent infringement relating to the use of Java technology in the Android platform. The owner of Java using patents to shake down a large competitor that felt that it had to manipulate Java in order to meet its technology needs? Unprecedented!
Sun never mastered the trick of turning technological innovations into market share. Going back to the late 1980s, they were always the company that seemed to have the technology that was going to take over the world in just a few years. They had one of the first great development environments for programming and debugging large C applications, they had chip technology that seemed destined to displace Intel, they had beautiful graphics workstations, they had thin clients that provided a glimpse of “living in the cloud, and of course they had Java. Ironically, for a company that was focused on hardware, Java’s success was due largely to its availability on different server architectures.
I specify “server” architectures because Java’s success as a language for writing client applications has always been minimal. In the late 1990s, recognizing the success of Java but the lack of uptake for Java-based GUI development, Microsoft extended their version of Java so that it could easily interface with native Windows components, and so that it could use the “delegate” model for event-handling, which had been pioneered in Delphi and which eventually made its way in to C#.
Sun sued Microsoft, claiming that Microsoft’s extensions would confuse developers (locking them in so that their applications could only run on Windows), and having altogether nefarious motives. Sun ultimately prevailed and received a boxcar full of hundred-dollar bills, and Microsoft walked away from Java, creating C# and the .NET framework.
In recent years, recognizing the success of Java but knowing that it had to compete with the iPhone, Google created the Dalvik VM, which among other potentially infringing things uses a different bytecode language than Java’s. Dalvik’s also a register-based machine as opposed to stack-based, but as with almost all software patent lawsuits, the technical details of potential infringement have nothing to do with the choice to sue. Will anyone be shocked if Google suddenly discovers that some piece in Oracle’s software portfolio infringes upon one of Google’s many patents and decides to countersue?
It’s interesting to compare the reaction to the recent Oracle lawsuit against Google to the reaction to Sun’s original lawsuit against Microsoft. That was widely acclaimed as a principled stand against the Evil Empire, while Oracle’s lawsuit against Google has drawn widespread criticism. I’d like to think this is due to lawsuit fatigue—one would hope that everyone appreciates at this point that patent lawsuits play out over the course of years, during which time a cloud of FUD surrounds both parties in the case and, perhaps even more importantly, during which time evolution of the language is hampered by the lawsuit. The work hours of excellent engineers is bled off explaining technical minutiae to lawyers, and progress on the foundation technologies is slowed by a blinking red light reading, “Do not discuss or modify any technologies relating to the patent.”