OpenWebStart for Java Distribution
If your application is distributed via Java Web Start (JWS) and you are not yet concerned by the decision Oracle made regarding Java Web Start, you might not be paying attention: JWS has been deprecated in Java 9:
“Java Applet and WebStart functionality, including the Applet API, the Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including the javaws tool, are all deprecated in JDK 9 and will be removed in a future release.”
The whole story began when Java applets and almost all NPAPI plugins became obsolete and were replaced by Web-based technologies. Although JWS was advertised as an alternative to the deprecated applet technology, the days of JWS applications are now counted.
With the release of Java 11, which happened on September 2018, Oracle removed JWS from their JDK distributions. On the Java Client Roadmap Update it has been announced that
“Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later.”
Oracle argues that vendors of the most popular desktop operating systems push for applications to be delivered in bundles together with integrated, sandboxed runtimes. In addition, they increasingly require desktop applications to be distributed through their own private application stores.
This leads to the problem that clients that have the latest version of Java installed can no longer use JWS-based applications. From Java 11 on, JWS does not exist any longer and, therefore, JWS based applications cannot be used with Java versions newer than Java 8. Organizations have to look for alternative deployment solutions which might require substantial migration efforts.
Since public support of Java 8 has ended in Q2/2019, updates and security fixes for Java Web Start are not available without a paid support contract with Oracle. Staying with Java 8 also builds up technical debt and only postpones the urge to face the situation.
What are the Options?
To address this situation, two options have been available so far:
- Buy Oracle support and stay with Java 8 for the next few years
As commercial support is guaranteed by Oracle until 2025 (see the Java Release Train), one can stick with Java 8 until then. But this also means to build up technical debt and postpones the situation only for a small amount of time. Also, one needs to take care that the licensed Java 8 is not used with other applications which is impossible for publicly distributed software. Liable for violations of this constraint is the distributor which makes this aspect a high risk. Renouncing commercial support is dangerous because of potential security flaws.
- Removing JWS as fast as possible in order to be ready for Java 11.
Remember: with users installing Java 11 or newer as default JRE on a target machine, JWS cannot be used anymore.
Any of the above options requires resources, devotion and money. The first suggestion buys time but does not address the core of the problem and carries potentially serious risks, the latter requires a radical change regarding software delivery.
Our Solution
Fortunately, there is a third option. Karakun initiated the development of OpenWebStart, an open source reimplementation of the JWS technology. OpenWebStart will be based on IcedTeaWeb, an open source project initiated by RedHat-developers years ago and now resurrected as starting point for a new open source alternative for JWS. Our replacement will provide the most commonly used features of JWS and, up to the required scope, the JNLP standard, so that customers can continue using applications based on JWS and JNLP without any change.
Our vision and goal is that nothing will change from your users point of view. OpenWebStart will provide exactly the same JNLP-based workflow as Java Web Start. The included App Manager will manage all JNLP-based application that OpenWebStart has downloaded and started. It will also regularly check whether updates are available for its managed applications, and downloads updates automatically. The Control Panel lets you configure workflows to start JNLP-based applications by hand – just like the well-known Java Control Panel which was also removed by Oracle.
Besides those, there are two completely new modules that will simplify your life: The JVM Manager and the Updater.
The JVM Manager downloads Java versions from a dedicated server and manages versions internally. With OpenWebStart, it will be easy for developers to specify the Java version to run JNLP-based applications. The Updater will download and install new versions of OpenWebStart.
Timeline and Costs
OpenWebstart 0.2.0 has already been released in July and is publicly available for download on the project website https://openwebstart.com/download/. Our goal is to have a release candidate ready in Q3/2019
While in the ramp-up phase the project is financed by some substantial sponsors, OpenWebStart will be open sourced and therefore freely available.
OpenWebStart Sponsors enjoy the following benefits:
- Sponsors have an influence which features are implemented and how feature requests are prioritized.
- To make sure that sponsor-specific software works with OpenWebStart, we offer the possibility to run tests with those applications and JNLP files. It’s up to the sponsor to accept this offering or to run own tests.
Thanks to the organizations who already fund this development we are able to develop a first release of OpenWebStart. In order to develop the full functionality of JWS and to ensure sustainable maintenance of the tool we are still looking for additional sponsors. Feel free to get in touch with us at OpenWebStart@karakun.com and help us to make a great product and a successful story out of it.