RealTime IT News

JCP Lets Java 'Mustang' Run Free

The Java Community Process (JCP) executive committee (EC) voiced its approval for the next version of Java, code named Mustang, earlier this week.

An early release snapshot of Mustang, otherwise known as Java 2, Standard Edition (J2SE) 6.0 or Java Specification Request 270 (JSR-270), was made publicly available in November 2004.

Mustang is scheduled for final release in the middle of 2006, the first update to the core Java language under the group's new delivery model. Officials expect to submit new feature releases every 18 - 24 months as opposed to the three-year cycle of the past and update releases every other month. In the past, the JCP launched a feature release roughly every three years, with a maintenance release every nine to 12 months and update releases three times a year.

J2SE 6.0 is also the first Java specification to operate under the Java Research License (JRL) from the beginning of its development cycle. The JRL was used for J2SE 5.0, code-named Tiger, after its final release, but never from the very beginning of the JSR process. Officials plan to have almost weekly drops of Mustang source code on its Java.net developer site.

Mark Reinhold, Sun Microsystems J2SE chief engineer and JSR-270 specification lead, was pleased with the unanimous vote of support, with 15 "yes" votes and a no-vote by Nortel Networks .

"That's very strong support from that group, which is sometimes quite contentious," he said. "So we're now in the process of fleshing out the JSR-270 expert group and get moving on the details of what will be in Mustang over the next several weeks."

While the EC group, which consists of companies like IBM , BEA Systems , Intel , JBoss and the Apache Software Foundation (ASF), was unanimous in their support, fellow EC member Google , used the vote to voice its displeasure over a missing JSR.

JSR-203, "More New I/O [(NIO)] APIs for the Java Platform (NIO.2)," is a proposed new input/output APIs. It was originally intended to appear in J2SE 5.0, which has been publicly available since September 2004.

"Google is disappointed that JSR-203 has missed two targeted J2SE releases and that it has not moved out of the 'Expert Group Formation' phase in the two years since it started," the company stated in the comment area of its vote on JSR-270.

Officials were not available at press time for more comment on its issue.

Reinhold, who was the specification lead for the first NIO, JSR-51, said JSR-203 was originally pushed back with the intent of placing it into the next feature release, but the faster release model meant it wouldn't be developed in time for Mustang.

"At the time we dropped it from Tiger, we were still operating under the old release model which would have placed Mustang three years after Tiger, but when the new release model came along, we looked at [JSR-203] and thought, 'hmm, well, we could rush and try to do this in Mustang,' but it's sufficiently big and sufficiently important that we thought it was better to hold it off until J2SE 7, [code named] Dolphin.

"It will still come out three years after Tiger, it just won't be in Mustang," he added.

Reaction to Mustang has been lukewarm. Many of the improvements to the Java language deal with back-office improvements to Web services and XML while making it easier to manage. The release of Tiger, by contrast, featured many core language improvements like generics, autoboxing of primitive types and enumerated types that were enthusiastically supported by the general Java community.

Shortly after Mustang went live on the JSR site, Java developer and author David Flanagan posted on his davidflanagan.com blog his reaction to the new technology to be found, stating, "overall, it looks like we have been spoiled by all the great usability features of Java 5.0. This next release is going to be much less dramatic (unless you love XML)."

Reinhold said he's read many of the blogs that find the upcoming J2SE under-whelming, but said the changes found in Tiger aren't common.

"Making a lot of dramatic changes to the core language and libraries is not something that is going to happen all that often," he said. "Prior to Tiger, the last big one was way back in [J2SE] 1.1, so dramatic changes to the core are not going to happen in every release or even every other feature release necessarily."