James Gosling clearly joins the wider development community in condemning Oracle’s decision to pursue Google over alleged wilful patent violation. It’s hard to argue with such esteemed commentators, and I do share an aversion to software patents, though less so to closed source (and I do understand they’re linked). However, I do think that most of the arguments reflect a particular world view, and it’s definitely not one that Oracle shares.
First, Oracle believes in maximising the value of its assets. Clearly, that’s a financial concern, as many have pointed out (see the comments to Gosling’s post, for example). However, that’s almost secondary to Oracle’s absolute belief that the value of what they develop, or own, deserves protection from companies that would seek to prosper from their investments. Secondly, and most importantly, Oracle has zero interest in open source, or in the growth of a developer community by individual contribution and adoption. Oracle licenses their technology to enterprises, and enterprises recruit developers to implement on the Oracle platform, whether that’s proprietary or not. Indeed, those companies have used Oracle’s closed source database, and proprietary PL/SQL language, for a long time, and felt little or no qualms. For Oracle, Java is, and will remain, a cross-platform language that runs in the same way across every platform that makes commercial sense, whether that’s Solaris, Windows, Linux or HP-UX. Just as for Sun, the importance of that statement lies not just in its implication of royalties for a conformant VM, but in the desire and need to eliminate the chance of fragmentation of implementations.
Oracle doesn’t hide its intentions. You know that when you use proprietary features you are tied to Oracle. Oracle will also leverage its power, as they did when Sun under Schwartz bought MySQL, and Solaris x64 became a Tier 3 or 4 platform. However, that’s the company they are, and to frame their decisions in the context of open source or the developer community, even for Java, is to misunderstand their motivations.