The technical specifications for both Java 7 and Java 8 have been passed by the Java Community Process (JCP) in an executive committee vote. The vote for both JSR-336 on Java 7 and JSR-337 on Java 8 was 12 in favor and three opposed.
The new Java 7 and 8 releases will include multiple technical innovations including new modularity and productivity improvements. While the majority of executive committee members of the JCP voted in favor of Java 7 and 8, there are a number of concerns. The most vocal concerns have come from the Apache Software Foundation (ASF) which voted againsts JSRs 336 and 337. Apache's concerns are not however about the technical merits of Java 7 and 8 but rather about the open source licensing implications. Those concerns could lead to a split between Apache and the JCP and potentially the fragmentation of Java.
"In terms of the technical merits of the JSRs, we absolutely support them," Apache Software Foundation member Geir Magnusson Jr. told InternetNews.com.
Where Apache has an issue is with the license under which Oracle is offering the new versions of Java. In Magnusson's view, the JSR is in conflict with the license that Oracle is offering. The license for theTechnology Compatibility Kit (TCK) for Java 7 and 8, precludes implementers from targeting embedded systems, according to Magnusson.
"It really shouldn’t be the case that somebody can implement the JSR, but then be prevented from distributed and using it because the TCK terms prevent that later on," Magnusson said.
An Oracle spokesperson was not available for comment by press time.
The other issue that Apache has is about the restrictions in the TCK package that prevent an independent implementation from being distributed. The Apache Harmony project is one such independent implementation of Java.
"It arguably prevents any open source implementation of the Java specification because there is no way to distribute an implementation of Java SE under an open source license that also complies with the terms of the TCK license," Magnusson said.
Oracle does however support the OpenJDK effort which now also has the support of IBM for an open source Java implementation.
Magnusson noted that the TCK license as offered by Oracle, prevents distribution under an open source license in that it requires the distributor to limit the uses under which the software could be used.
"Oracle put up one license for us to vote on and it appears that the only way anyone will get anything done is if they go back to Oracle and negotiate other licenses that will allow them to distribute under the GPL or any open source license without field of use restrictions," Magnusson said.
Apache has threatened to leave the JCP over the dispute, though a final decision from Apache has not yet been made.
"We're now discussing the topic inside the Apache Software Foundation and we will come to a conclusion on this very soon," Magnusson said.
Magnusson noted that the Apache Harmony project has been working on having a compliant implementation of the Java SE specification for years.
"The way we look at it now, Oracle is preventing us from demonstrating the compatibility of Apache Harmony," Magnusson said. "Oracle is now ensuring that we can’t prove compatibility, although it our sincere intention and desire to do so."