Official specifications for upcoming releases of Java have been approved by an executive committee of the JCP (Java Committee Process), although the votes were not unanimous.
JSR (Java Specification Request) 336, for Java SE 7 (Java Platform, Standard Edition), and JSR 337, for Java SE 8, were given initial approvals after a one-week extension of voting by the JCP executive committee for the standard and enterprise editions of Java, according to Oracle representatives on Tuesday. Two other JSRs, number 334, for small enhancements to the Java programming language, and JSR 335, for Lambda expressions, were approved as well. The specifications, which were submitted about a month ago, now go to a testing and finalization phase, with Java SE 7 due in 2011, followed by Java SE 8 in 2012.
JSRs 336 and 337 were approved by a vote of 12 to 3. Oracle, HP, IBM, SAP, and Red Hat voted for them, as did the Eclipse Foundation, while the Apache Foundation, Google, and committee member Tim Peierls voted against them.
The JCP has been embroiled in controversy about first Sun Microsystems’ and now Oracle’s refusal to grant a TCK (technology compatibility kit) for Java to the open source Apache Harmony version of Java. Apache has objected to field-of-use restrictions over Harmony and has threatened to leave the JCP. Oracle has been backing the OpenJDK open source version of Java.
“The Apache Software Foundation must vote no on this JSR. While we support the technical contents of the JSR, and earnestly support the need for the Java platform to move forward, we cannot in good conscience vote,” for the JSRs for Java SE 7 and 8, Apache said in the official comments sections. Apache also slammed Oracle for being in breach of obligations under the Java Specification Participation Agreement.
Google, which is being sued by Oracle over supposed use of Java technology in the Android mobile platform, said it supported technical contents of the specifications but objected to licensing terms. Others who voted affirmatively also expressed disappointment with licensing issues.
“While we are disappointed that Oracle has decided to deny Apache a TCK license for Java 7, SAP’s vote is strictly based on the technical merits of the Java 7 specification, not on its license terms,” SAP said in its comments on the voting for Java SE 7.
IBM expressed similar concerns even though the company recently endorsed OpenJDK.
“IBM’s vote is based on the technical merits of this JSR and is not a vote on the licensing terms. IBM supports licensing models that create an open and level playing field by allowing third parties to create independent implementations of Java specifications and that do not allow individuals or companies to exercise unnecessary control for proprietary advantage,” IBM said.
Java SE 7 features capabilities for multi-core processors and dynamic scripting, while Java SE 8 is set to offer modularity and productivity enhancements.