This kerfuffle probably doesn't deserve much attention (in fact, we almost let it go entirely), but it probably bears mentioning.
Last month, Simon Phipps, the chief open source officer for Sun Microsystems, penned a little blog item in which he criticized the folks working on the Google App Engine for creating subsets of the core classes in the Java platform in their cloud computing endeavor.
Phipps commented simply:
Whether you agree with Sun policing it or not, Java compatibility has served us all very well for over a decade. That includes being sure as a developer that all core classes are present on all platforms. Creating sub-sets of the core classes in the Java platform was forbidden for a really good reason, and it's wanton and irresponsible to casually flaunt the rules.
For some reason, a reporter at ITworld picked up the comment and ran with a story claiming that Phipps had slammed Google's developers for committing "a major transgression by only including support for a subset of Java classes in its App Engine development platform."
That was enough to get the tweets flying, and pretty soon the incident became a big enough deal to merit a discussion thread on Slashdot, the software development community site. There, hardcore Java users roundly debated the merits of implementing only pure Java core classes in new applications. Typical of the arguments were these responses: "I think that Phipps is upset because Sun is in the process of gearing up their own cloud services, and the last thing they want is Google's Java support drawing enterprise interest to AppEngine while they try to get Sun's cloud service off the ground"; and "What Google should have done was engage in the JCP [Java Community Process] to define a new profile for supported 'device'.... At least that way it would have been within the framework of practice understood and used by Java developers. Instead, Google just said 'here's what's available', without tying into any of the already available accepted ways of defining a subset of Java."
The brouhaha became so loud that Phipps had to post a full rebuttal explaining his earlier remarks. In it, he notes that he is "delighted" that Google is supporting the Java platform in App Engine. He then writes: "It seems entirely likely that Google's approach here to 'subsetting' is simply because they haven't yet gotten around to making everything safe in their sandbox, not because they have some deep philosophical belief that those things should be removed."
Phipps emphasized that he is not an official spokesperson for Sun on the issue. Still, he urged participants in the Java Community Process to press for "a new, agreed Java cloud profile." He added:
What we need as a global Java community is "Java for Cloud" somehow. Given their good work so far, I'd like Google to show leadership and a commitment to openness by taking their subset to the JCP and offering to join a working group to establish a new Java profile for cloud applications.
Phipps reiterated his thoughts on the App Engine debate in an email reply to this reporter: "The Java community probably does need a web/cloud subset, but it needs to be agreed within the community (probably at the JCP). If that doesn't happen, every cloud provider will define their own subset and people writing Java applications for the cloud will have to refactor them for every supplier. Google has done fine work; they should now take it to the JCP and get it agreed."
He added, for the record, that he has nothing to do with Sun's cloud computing business and that his comments are entirely his own. "And for what it's worth, I am amazed by the advanced hermeneutics put into analysing an off-the-cuff tweet I made for insiders," he finished.
Kieron Murphy was a co-creator of The Java Report in 1995.