Oracle formally proposes open source JavaFX
At the recent JavaOne conference, Oracle had said that it intended to open source JavaFX. Now Oracle is formally proposing that the JavaFX user interface toolkit be open sourced under the OpenJDK project and is looking for it to be incorporated into Java 9. Oracle's Richard Bair made the proposal on the OpenJDK mailing list, saying the company had talked about it for a long time, "but finally (finally!) we're ready to act on it". JavaFX was originally created by Sun as a standalone technology with its own scripting language, but since Sun's acquisition by Oracle, it has been revamped and repositioned as a general Java user interface toolkit with a modern architecture, supporting features such as hardware acceleration and CSS styling.
The project will be called JFX and Oracle hopes the process will see a community develop around it; the code includes 6000+ public API members, 11,500 unit tests, core libraries, scene graph, effects, CSS support, hardware acceleration support and UI controls and charts. It also hopes that the increased transparency from open sourcing the code and governance will improve adoption. Code already exists for a porting layer which supports Linux, Mac OS X and Windows.
Bair hopes that there will be a JSR (Java Specification Request) for JFX in time for Java 9, which could include JFX as "a proper part of the JDK". Bair's proposal was further formalised by Iris Clark who has put the proposal to the vote. The project, which is proposed to be lead by Bair, will initially involve Oracle publishing the JavaFX code, starting with the UI Controls, over a number of months, while developers use Oracle's public JavaFX binaries; by the time the complete code has been published, OpenJFX will no longer depend on the binaries. The vote is due to close by 16 November.
Oracle's long term plan is to see JavaFX supercede the existing UI toolkit, Swing, but it is not planning to remove Swing from Java and it is possible to use both in one application. The source code for JavaFX is expected to be released under the GPLv2 with the Classpath exception.