Gearing up for Java 7
The last four Java Specification Requests (JSRs) required for Java 7 have received the blessing of the Java Community Process (JCP). JSR 292, support for dynamically typed languages, JSR 334, small enhancements to Java language and JSR 203, more new I/O APIs (NIO.2), all passed with unanimous support in the final approval ballot. The only note of dissent was from Google in the final approval vote for JSR 336, the umbrella JSR which incorporates all the JSRs required for Java 7.
Google's objection is, ostensibly, on the issue of Oracle's continued use of restrictive licensing on the Test Compatibility Kit (TCK) for Java 7, which restricts its use to Java implementations destined for general purpose computers. Google is currently in a courtroom patent battle with Oracle, but the issue they cite is one that has been the basis of long-standing dispute with Java's owners – the Apache Software Foundation quit the JCP because of it.
While other executive committee members voted yes they did express similar concerns in the comments associated with their votes. Red Hat, IBM, VMWare and SouJava expressed general concerns over the licensing of Java 7. Other members, Werner Keil and the London Java Community, used the comments to object to the lack of transparency in some of the expert groups.
The JCP's work on Java 7 is now complete. According to Mark Reinhold, Oracle's Chief Architect of the Java Platform Group, although the "abstract Java SE7 platform" is complete, the implementation of it in JDK7 is not quite finished. Oracle are currently working on final testing of the release candidate and if all goes well will release that as the general availability (GA) build on 28 July.