"Security vulnerabilities related to Java running inside Web browsers have lately received a lot of public attention. Here at Oracle we've mounted an intense effort to address those issues in a series of critical-patch update releases, the most recent of which we posted earlier this week," said Mark Reinhold, chief architect of the Java Platform Group, in a blog post. "We've also upgraded our development processes to increase the level of scrutiny applied to new code, so that new code doesn't introduce new vulnerabilities."
Oracle, however, was attempting to release the all-new Java 8 for general availability by September 2013. But Reinhold said that Oracle's focus on securing Java 7 -- with five related security updates being released since January -- has made it impossible to stick to previous Java 8 development milestones. In particular, Oracle is now facing a delay for Project Lambda, which "aims to support programming in a multicore environment by adding closures and related features to the Java language" and has been seen as a cornerstone of the new version of Java.
[ Critics are taking Oracle to task about the latest Java release. Read Java 7 Malicious App Warning System Draws Criticism. ]
"Maintaining the security of the Java Platform always takes priority over developing new features, and so these efforts have inevitably taken engineers away from working on Java 8," said Reinhold. "It's one of the reasons why some features slipped past Milestone 6 (M6), our original Feature-Complete target at the end of January."
Reinhold's assessment reflects that when it comes to refocusing development resources, something often has to give, and Al Hilwa, IDC's program director for application development software, said the lead Java architect is making the right call. "It appears that Oracle has shifted material resources to work on security in Java. The recent security response has been sizeable, and now we know that it represented an important shift of resources and priorities," Hilwa said via email. "In my opinion, the small delay in the Java release schedule is a worthwhile tradeoff.
Reinhold's comments reflect the fact that Oracle's Java development team seems to have been making cultural changes. "What is new in the security response is that Oracle is taking a long-term and systemic approach, which is absolutely the right thing to do for Java," Hilwa said.
Reinhold's assessment of the Java 7 and Java 8 situation represents the first major Java security status update to be issued by Oracle since its "Java EE/GlassFish evangelist," Reza Rahman, apologized for "Oracle's relative silence" on Java security in January, and Oracle published an audio recording of a call between Oracle security lead Martin Smith and Doland Smith from the OpenJDK team, with worldwide leaders of the Java user group.
Reinhold Thursday suggested moving the Java 8 release schedule from one focused on features, to one that focuses on getting Java 8 ready for public release, perhaps without as many features. "In general ... we'd use the additional time to stabilize, polish and fine-tune the features that we already have rather than add a bunch of new ones," he said. "We've been down that latter road before, and it's long and ugly."
In the hours after Reinhold posted his blog, comments from several readers to his suggestion to delay Java 8 appeared to be largely favorable. "I'm in. Shipping without lambda would be a _major_ letdown, and nobody wants half-baked, buggy features," posted "netmikey." "Do it right and just take the time you need."
Regardless of the approach that Oracle ultimately takes for developing Java 8, IDC's Hilwa cautioned that related changes won't happen overnight. "On a more technical level, we can say that the existing feature-driven Java release schedule is likely with us for a while," he said. "JDK8 is in many ways the Lambda release at this point. It is always a concern when release dates slip, but under the circumstances the team is prioritizing the right work, namely a deeper security review."
Reinhold's comments may also belie the fact that developing a new version of Java remains a complex task. "Platform technologies like Java are difficult to stabilize, and a shift to a schedule-oriented release strategy may not be easy to adopt in the short term," said Hilwa.