Java 9 steals the spotlight, OpenJDK Project takes it back
OpenJDK Project was under the gun during this year’s FOSDEM event for its misfire regarding the JIRA Bug-Tracker while Java 9 remained at the centre of developers’ attention as open discussions tipped the balance in its favor. The audience also had a chance to witness a conflict between Committers from SAP working on the Hotspot VM and Oracle.
Last weekend, like almost every year, the FOSDEM event was held in Brussels, attracting almost 5000 visitors. Included in this event was the Java Developer Room, which has been transferred to a larger location on site at the Université Libre de Bruxelles due to increased interest. The most likely reasons for the growing popularity are the many talks presented by the Oracle Team and OpenJDK-Community. Additionally it was possible to talk to many renowned members of the java-community in between presentations: Mark Reinhold, Christian Thalinger, Stephen Chin and Dalibor Topić (all from Oracle); Andrew Haley (RedHat) or Volker Simonis (SAP) also attended the event.
Java Developer Room
The upcoming release of Java 9 naturally became one of the central and most prominent elements of this year’s Developer Room. Some of the presentations on this topic were already familiar from JavaOne, including talks about new features such as the jigsaw-modularization. Additionally, lots of workshops were offered. Contributors from different Open-Source-Projects presented the ongoing preparations for modularization in Java 9: As for Apache Maven, transitions are already underway, Robert Scholte from the Apache Maven Project announced. Maven will soon be ready for development of Java 9 modules and their deployment on Maven Central.
In a separate meeting, Apache Maven Developers and Mark Reinhold discussed about a new Maven-Project-Layout to support the production of multi-release JAR files (JEP 138). This type of file allows developers to add classes with the same name, which will use different varieties of classes from the JAR-archive to run depending on the java runtime in use. Projects still using sun.misc.Unsafe in Java 7 or 8 may automatically switch to VarHandles in Java 9 by adding a second implementation of certain classes to the multi-release JAR file, which are automatically chosen by the runtime.
Uwe Schindler presented the ongoing work on Apache Lucene and the Randomized Testing Framework, which has been very helpful with finding bugs in the Java VM in the past and will continue to do so in Java 9. He also offered attendees some advice regarding problems that may appear due to the migration of projects to java 9 and explained how to prepare code for them
The increased commitment of Oracle to the community was highlighted around his presentation, since it is essential for Java 9 to be extensively tested and adapted before release.
Lars Vogel from Eclipse Project gave insight into the work on the new release of the Eclipse environment. Sadly, the adjustments on the compiler and IDE necessary to meet Java 9 requirements won’t be finished soon.
JRuby and Scala, both JVM languages, were also discussed and talks on development of a new complier for Scala were given. Charles Nutter additionally gave insights into the bytecode-optimization in JRuby runtime, developed as a workaround for the weaknesses of OpenJDK’s Hotspot Optimizer.
OpenJDK Project under pressure
Last but not least, another highlight: In their session “Meet the Governing Board”, the Board of the OpenJDK Project took questions from the audience. Board member Doug Lea,well known to may readers from his books on Java concurrency, attended the session via internet from New York. A lot of topics from the community came up. The bug reporting was heavily criticized by attendees, especially because outsiders cannot open new reports in the JIRA Bug-Tracker of the OpenJDK Project. Additionally, it is impossible to use the “Watch”-Feature known from JIRA that would make it easier to follow changes. Andrew Haley promised to look into it soon. Still, Mark Reinhold is afraid this could slow down work on the project because users would open too many “useless” bug reports (“my Java Plug-in suddenly stopped working in Google Chrome!”). However, examples from well-known Open Source Projects of the Eclipse Foundation or Apache Software Foundation prove him wrong.
Finally, the audience had the chance to witness a conflict between Committers from SAP working on the Hotspot VM and Oracle. The procedure necessary for adding new patches to the Hotspot VM was harshly criticized. According to Volker Simonis, the number of external patches in the OpenJDK project has now reached 20 % in total, but complex workflows make it hard to fix fatal errors fast. The process is especially slowed down because a committer from oracle needs to pose as a “sponsor” for every patch. This demonstrates how OpenJDK is still not completely “free”. Oracle had not changed its mind regarding the TCK (Technology Compatibility Kit – a test-suite for java-implementations) -the reason why the Apache Software Foundation left the Java Community Process in 2010.