Oracle releases Java 7 today, but with restrictions that could greatly inhibit it’s adoption.
[update: Since this blog post being published, I’ve received a comment from Henrik Stahl who is the Sr. Director, Product Management, Java Platform Group at Oracle who stated “Hi – The supported platforms page was mistakenly created using a standard Oracle template which is not applicable to Java. It will be updated to clarify that we support Java explicitly on certified platforms (eg those called out in the page) and on other platforms as long as we don’t run in to platform specific issues. In that case (eg, if VMware is broken) you will have to go to the platform vendor for troubleshooting and a fix.”]
So as I’ve written in the past here and here, Oracle appears to have a bad habit of not playing nice with others.
In today’s installment, we have Java.
When Oracle acquired Sun, Oracle acquired control of Java. With Java came many political battles involving Google, Apache and even Starbucks. The last one is an April Fool’s article, but honestly, would you be surprised?
Now it seems Oracle is planning to leverage Java to restrict customer’s choice of hypervisors.
Java 7 is being released today.
If you check out the Planned Supported System Configurations for Java, you’ll see that Java 7 will be supported on
Windows: XP, Vista, Server 2008, and Windows 7
Oracle Linux: 5.5+, 6.X
Solaris: 10u9+, 11.X
SuSE Enterprise Linux: 10 SP2+, 11.X
RedHat Linux: 5.5+, 6.X
Ubuntu: 10.04, 11.04
To make things clearer, the document also mentions a couple of interesting notes:
SuSE Enterprise Linux (with Java 7): Not Supported on Oracle VM
Ubuntu (with Java 7): Not Supported on Oracle VM
and then this bombshell:
System Virtualization Support
All supported platforms are supported when virtualized in a supported hypervisor
Supported hypervisors are: Oracle VM 3.x, VirtualBox 3.x, 4.x, Solaris Containers and Solaris LDOMs. Except where noted.
VMWare and Microsoft Hypervisor NOT supported
[emphasis added by me]
A couple of things to note here:
1) Oracle still hasn’t gotten the message regarding capitalization – it’s VMware, not VMWare (really surprising when you consider Java uses CamelCase aka HumpBack notation for file names)
2) Oracle VM 3.0 still is not released, which means that Java 7 isn’t supported on Oracle’s own current Type 1 Hypervisor. Although I expect Oracle will eventually release Oracle VM 3.x, Gartner expects more than 50% of all server workloads to be virtualized by end of 2012. Is Oracle chopping off the nose to spite the face?
3) Java 7 is explicitly NOT supported on VMware and Microsoft Hypervisors
Java is owned by Oracle. The same Oracle who has My Oracle Support note 249212.1 which says that Oracle will provide support for issues that occur on the guest OS or that can be demonstrated not to be caused by running the guest OS on VMware. So Oracle in the case of Java is going from a de-facto “it’s supported” type document to now an explicit VMware (sorry, VMWare) is not supported.
So what does this mean for companies running products on VMware that they want to use with Java 7? Probably nothing – people will try their products with Java 7 under VMware and I’m guessing it’ll work just fine.
But what about the more interesting case – those Oracle customers running Oracle products like Oracle E-Business Suite or Oracle Agile that rely heavily on Java? Will Oracle support deny support because Java 7 isn’t supported on VMware, even though My Oracle Support note 249212.1 says Oracle will support Oracle products on VMware?
Where does OpenJDK fit into this?
What are the support implications when running Windows XP or Windows 7 Desktops in a VMware View environment? VMware View environments run on a VMware Hypervisor.
I honestly don’t know those answers, but this sort of FUD will probably retard the adoption of Java 7, something I don’t think Oracle really desires.