Project Proposal: JFX

cowwoc cowwoc at
Fri Nov 4 23:22:47 UTC 2011

Richard Bair-5 wrote:
> Hi OpenJDK community!
> As announced at JavaOne we (Oracle) would love to contribute JavaFX into
> OpenJDK as a new project called "JFX". For some who have been following
> along, we've talked about this for a long time but finally (finally!)
> we're ready to act on it and open source the platform. We are not just
> interested in open sourcing the code, however, we also want to move into
> an open development model. We already have an open bug database[1]. The
> project uses Mercurial, so we should fit in pretty well into OpenJDK.
> Our basic motivation for wanting to open source JFX is to built a
> community and ecosystem support and adoption around JavaFX by increasing
> transparency. Of course we are also interested in getting patches and
> early feedback from the community[2]! Our goal is to provide the
> next-generation Java client toolkit, and JFX would be the next step along
> that path, which hopefully culminates in a JSR for the Java 9 timeframe
> and including JFX as proper part of the JDK. I would be the initial
> Project lead for JFX.
> A little bit about our project:
> It is a significant contribution to the corpus of open source code
> It includes over 6000+ public API members (methods / constructors / etc)
> It includes over 11,500 unit tests
> Core libraries such as observable collections and binding
> Scene graph, effects, graphics
> CSS support for JavaFX
> Media
> WebView
> Prism (hardware accelerated graphics, including openGL and D3D and java2D
> implementations)
> Glass (windowing system, base porting layer, including mac, linux, and
> windows implementations)
> UI Controls and Charts
> Our builds are all Ant, with JUnit for testing (there is some 'make' in
> there for native parts). We also have NetBeans projects setup for each
> area. There is a lot of code that we'll be releasing, so as a matter of
> practicality we're going to release different parts of JavaFX over the
> course of the next few months, starting with UI controls followed by
> charts. We'll put up a full roadmap onto our project pages, should we be
> approved to become part of OpenJDK. We'll make sure that the open source
> code is always fully buildable by anybody using the sources + a binary
> plug (which will become unnecessary as we open source the remaining
> pieces). All of the above listed modules will be open sourced and fully
> buildable.
> What do you think? I'd love to hear any issues and hopefully be able to
> resolve those prior to requesting an official vote.
> Thanks
> Richard
> [1]
> [2] A good example of the sort of interesting stuff going on out there can
> be found here:


That's excellent news! I've only got two bits of advice for you:

1. Adopt a sane deprecation policy or freeze APIs much later than you think
is necessary.
2. Don't screw it up.

The JDK is plagued with problems that can't be fixed for backwards
compatibility reasons. Either adopt a sane policy ("we'll remove methods one
release after declaring they are deprecated" -- that's 3-5 years in OpenJDK
speak) or expose @Beta methods in public releases and freeze them much later
on (as Google does with Guava).

Historically most users ignore beta builds and as a result most design flaws
don't get caught until the API is already frozen.

Plan for failure (design flaws) and we will all be better for it :)

Kind Regards,
View this message in context:
Sent from the OpenJDK General discussion mailing list archive at

More information about the discuss mailing list