Posted about 3 years ago
Being a Java Developer and an engineer interested in the advancements of the tools he is using I have been monitoring the progress of the JDK7.
Last week there were some integral events in the elongated story that is the JDK7 release and what most likley will be any subsequent release. There was a vote on some very important JSRs (Java Specification Requests which is the formal change requests mechanism for Java).
The 2 JSRs which invoked most discussion as well as some resignations and a bit of corporate jostling were JSRs 336 and 337 (the Java SE7 and 8 umbrella JSRs). The reason being Oracle's refusal to grant licenses for the TCK (Technology compatibility Kit) to the ASF (Apache Software Foundation) which it would use to verify for compliance Harmony, Apache's open source modulated implementation of Java, as required by JCP (Java Community Process). The ASF raised a number of questions regarding Oracle's decision which were re-emphasized in the comments section of their vote, of which the complete voting process is available here. Oracle failed to address the questions and insisted it was going to march on regardless. There was a general consensus that the technology behind the JSRs was solid (projects such as Project Coin and Project Lambada) and everyone wanted to see Java pushed forward. The reasons for the 'No' votes were therefore addressing the unresolved licensing dispute.
This resulted in some of the major players in the EC (Executive Committee) which vote on the JSRs, commenting openly on the approach of Oracle and it's relationship with other 'yes' voting members of the EC which in turn has invoked a response by Oracle. My interpretation of these exchanges being as follows:
- Oracles response to the 'No' votes and corresponding comments have been to emphasise how it is protecting the forking of Java which would be brought about by not controlling who could do what, a point contested by siting the JSPA (An agreement on how the JCP operates) which state that JCP should be openly implemented and this control over the TCK is not allowing this. A more popular reason amongst the Java community Oracle have is progression of Java as a Technology which some people argue is stinted by the EC and the process.
- Google, who voted no despite agreeing with all technical aspects of the JSRs seem to be sticking strongly to their moral's regarding licensing, it has been suggested however that Google are using this as a battle ground to fight Oracle, as it wasn't so vocal when Sun was behaving in a similar manner, possibly because it didn't see Sun as as great a threat.
- Apache laid out there thoughts in the comments section of their vote.
- Tim Peierls resigned which speaks for it's self, again his thoughts are laid out very clearly in his blog posting about the resignation.
- Hewlett-Packard, Ericsson AB, Fujitsu, VMWare (SpringSource) and Intel all voted 'Yes' without commenting and it has been suggested that the majority of these companies have stronger business interests with Oracle.
Oracle's inability to properly address the Licensing problems will isolate them as a company further, however the momentum of Java as a technology (due to its sheer size and user base) will propel it forward for a long time to come, in the instance the thirst from the community to release a new JDK which can compete on a more modern plane with the newer more fashionable languages and frameworks has allowed these issues to be overlooked somewhat (something which may not have been the case in other circumstances). Oracle hasn't changed it's stance much from Sun but it seems the manner it approaches such conflict and also it's dominance makes it appear more confrontational, something which Google are happy to try exasperate.