JavaFX Open Source

I signed the petition to Open Source the JavaFX Platform. I think the benefits of Open Sourcing JavaFX can be huge, both for Oracle and the JavaFX community. The example of Glassfish, where the open community-approach leads to high quality software while still allowing a commercial model, can be followed by JavaFX.

First of all, I should stress that I'm not in a position to dictate what Oracle should or should not do with JavaFX. They inherited the platform through their acquisition of Sun, and they have spent lots of resources in JavaFX. The idea of the petition is rather to convince Oracle that it would be in the best interest of Oracle, the JavaFX developers and the Internet in general to open-source the JavaFX platform.

The ideas behind JavaFX are great: use the power, the maturity and the availability of the Java platform to create a client-side language that allows the rapid creation of highly interactive and rich client applications, that run on all Java-based systems. At this moment, JavaFX is the only RIA platform that is entirely based on the Java platform.
I see a growing interest from Java Enterprise developers in client-side development and vice versa. Without JavaFX, these Java (Enterprise) developers have to choose between a non-Java based RIA or a few thousands specific web-based frameworks for their client development. With JavaFX, it becomes much easier for them to create rich and interactive client-applications.

JavaFX entered the RIA market pretty late. Competition from Flex and Silverlight was already on the market, attracting developers and companies. In order for JavaFX to be successful, time to market is a crucial factor.

The JavaFX platform specification is already pretty ok, but the runtime ports need to be improved. I remember from my first Java-days (in 1995) the problems with lack of Java support on different platforms, and that was exactly the reason I joined the Blackdown team. We had to sign a license with Sun Microsystems, received the source code, and we could work on a port that we could distribute. While this was still a rather closed process, it allowed third party enthusiasts to speed up the availability of Java.

A great example of how open-sourcing a project can enhance its quality and acceptance is Glassfish. The Glassfish project was announced at JavaOne 2005 as the open source Reference Implementation of the Java Enterprise specification. It is a huge project, and Sun and Oracle have spent lots of resources in it. It is difficult to quantify the community input, but there are many people outside Sun/Oracle involved with Glassfish by writing/reviewing code, documentation, working on the Quality Assurance (e.g. via FishCat), working with early access versions etc.
The result of the combination Open-Source with "backed-by-a-company" is in this case a great Application Server, leading edge and still very mature, easy to use and highly configurable.
As a developer, one of the main benefits of the Glassfish community is that I can easily debug issues I run into. If those issues are Glassfish-related, I can report this to the community, I can write a patch myself and commit it to the community. And, very important, while waiting for a released version that contains a fix, I can patch my own version and run my customer projects that require the fix.

I would recommend a similar approach for JavaFX. Strategic and commercial decisions probably belong to Oracle. But opening the Runtime (including ports to mobile and TV) can create a boost in JavaFX quality and enthusiasm. It is important to have a company that is backing the development, and that provides steering and infrastructure. It is also important to have enthusiastic people in the community that are allowed to contribute and to enhance the quality and adoption.

written on 30 Jul 2010 15:36.

no comments

Create comment