Open Sourcing Status Report
richard.bair at oracle.com
Thu Oct 18 11:42:04 PDT 2012
I wanted to give a status report on where we're at in the process of open sourcing JavaFX. Obviously we started this process earlier this year or late last year (UI Controls went out either last December or this January, I don't remember exactly), but it stalled awaiting internal approvals, but now that those have been cleared, we're moving forward as quickly as we can.
For each chunk of code that we open source, we need to perform the following work:
- Update the build system to build the open source bits
- Review for Security
- Sanity check headers
- Review rights (some parts like T2K are licensed and cannot be open sourced)
The long pole in this process is the "review for security". In some parts of the code, as we audit we may find a potential security hole. Much of the code we will be able to simply fix and then release (or may have no issues anyway in which case it can just be released after audit), but there will likely be some parts that need to wait until the next security release in February 2013 before we can even apply the patches to the workspace, let alone open source the code. I'm hoping this latter category will be small and that most if not all of our code will be clean and we can push before next February. But just a heads-up that it may take until February for the process to complete.
In addition, I'm engaged in a proposal for revamping the project structure and build infrastructure. My main goals are:
1) Make it trivial to develop JavaFX using an IDE
2) Allow for partial builds, cross builds (especially speaking of native compilation. Compiling WebKit can take an hour on my system)
3) Download dependencies dynamically
4) Reduce the number of lines in our build script(s)
5) Simplify the project structure
Over the last 4 years things have grown to be quite difficult and cumbersome, and on embedded David Hill said he is spending upwards of 40% of his time wrestling with the build system. Further, only a few of us use IDE's to their maximum potential, and only after wrestling quite hard with the system and coming up with our own "magic sauce" for how to build JavaFX. Clearly this isn't scalable or desirable.
To declare success, the process needs to be as simple as:
1) Download the Sources
2) Use your favorite IDE to open the project
3) Hit run
If I have to concede defeat, then there might be a 2b)
2b) execute a build step to download dependencies
I'll send a separate email in a moment discussing what I want to do around project structure (ie: source file layout etc) and the build. Most of our time at present is spent on Security audits, and as soon as we get those done for some chunk of code, we'll move it into the open.
More information about the openjfx-dev