Java Deployment Scenarios

JavaFX licensing after decoupling.

JavaFX no longer ships inside the JDK. Here is what that means for licensing — and why the real question is the JDK underneath.

8 min readPublished 22 Dec 2023Updated 6 Apr 2026Independent of Oracle
Not an Oracle partner or reseller
100% buyer-side advisory
Money-back audit defence guarantee
340+ Java engagements
Home / Blog / Java Deployment Scenarios

JavaFX — the toolkit for building rich desktop and client applications in Java — is a recurring source of licensing confusion. Much of that confusion comes from a single change: JavaFX used to be part of the JDK, and now it is not. Understanding that decoupling is the key to answering “do my JavaFX applications create Oracle licence risk?” The short version: JavaFX itself is rarely the problem. The JDK underneath it might be.

JavaFX was once part of the JDK

For most of its history, JavaFX shipped inside the Oracle JDK. If you installed the JDK, you got JavaFX with it — the runtime, the libraries, the tooling, all bundled. Developers building JavaFX applications did not think of JavaFX as a separate thing to obtain or license; it was simply there, part of the Java platform they already had.

That arrangement shaped a lot of installed software. Desktop applications, internal tools, instrument and control interfaces — a great deal of enterprise JavaFX was written in an era when JavaFX and the JDK were one package. The mental model of “JavaFX comes with Java” is still widespread, and it is the source of most JavaFX licensing questions today, because the arrangement that created it no longer exists.

What decoupling changed

Around the Java 11 transition, Oracle removed JavaFX from the JDK. From that point, JavaFX was no longer bundled with the Oracle JDK or with the standard OpenJDK builds. It became a separate project, obtained and managed independently.

This is the “decoupling.” Its practical consequences are three:

  • JavaFX is a separate download. You add it to a project as a dependency or distribute it alongside the application; it does not arrive with the JDK.
  • JavaFX has its own release and version path. It evolves on its own schedule, distinct from the JDK’s.
  • JavaFX has its own licensing. Because it is no longer part of the JDK, the licence that governs JavaFX is the licence of the JavaFX distribution you use — not the licence of the JDK.

That last point is the crux. Decoupling separated the JavaFX licensing question from the JDK licensing question. They are now two questions, and they have different answers.

OpenJFX: the free, open-source JavaFX

When JavaFX left the JDK, it did not disappear — it became OpenJFX, the open-source JavaFX project. OpenJFX is the standard way JavaFX is now obtained and used.

OpenJFX is open source, released under an open-source licence, and free to use — including in commercial and production applications. There is no Oracle subscription attached to OpenJFX itself. Builds of OpenJFX are available from the project and from several distributors, and some OpenJDK vendors offer JavaFX-bundled builds or JavaFX-aware support. The headline for licensing purposes is simple: JavaFX, as OpenJFX, is free. An organisation running OpenJFX-based applications does not owe Oracle anything for the JavaFX layer.

The real licensing question is the JDK

If JavaFX is free, where does Oracle Java licensing risk in a JavaFX application actually come from? From underneath. A JavaFX application is still a Java application — it runs on a JDK. JavaFX is the UI toolkit; the JDK is the platform it sits on. And the JDK is where the Oracle licence question lives.

This is the single most important idea in this article. When you assess a JavaFX application for Oracle exposure, do not look at JavaFX — look at the JDK it runs on:

  • If the application runs on a free OpenJDK distribution (Temurin, Corretto, Zulu, Microsoft Build), there is no Oracle Java licence required, and OpenJFX on top is also free. The whole stack is clean.
  • If the application runs on a licensable Oracle JDK, the Oracle Java SE subscription question applies — priced on the employee metric — exactly as it would for any other application on that JDK. JavaFX being free does not rescue a licensable Oracle JDK underneath it.

So the JavaFX in your estate is not the exposure. The exposure, if any, is the Oracle JDK that some JavaFX applications happen to run on — often because they were built in the bundled era and never moved.

Three common JavaFX scenarios

The table below maps the typical situations and what each means.

ScenarioJavaFX layerOracle licence risk
OpenJFX on a free OpenJDK buildFree (OpenJFX)None — the whole stack is free
OpenJFX on a licensable Oracle JDKFree (OpenJFX)Risk is in the Oracle JDK, not JavaFX
Legacy app on an old bundled JDKBundled with the old JDKDepends on the old JDK’s licence terms

In the first scenario there is nothing to do. In the second, the remedy is to move the JDK to a free OpenJDK distribution — OpenJFX comes along unaffected. The third is the genuine legacy case, addressed below.

Keeping JavaFX applications compliant

Bringing JavaFX applications into a clean licensing position is straightforward once you have framed it correctly:

  1. Inventory JavaFX applications. Identify every desktop or client application in the estate that uses JavaFX.
  2. Identify the JDK under each. For every JavaFX application, determine which JDK it runs on — this is the licensing-relevant fact.
  3. Flag the Oracle JDK cases. Any JavaFX application on a licensable Oracle JDK is the priority list.
  4. Move the JDK to OpenJDK. Repoint those applications to a free OpenJDK distribution; pair with OpenJFX.
  5. Standardise going forward. Make “OpenJFX on OpenJDK” the default for new JavaFX development.

Note that the work is a JDK migration, not a JavaFX migration. The JavaFX code does not change; OpenJFX is the same JavaFX. You are simply swapping the platform underneath — the same disciplined move described in our migration risk assessment.

Legacy JavaFX on old Java versions

The one situation that needs care is the genuinely old application: a JavaFX program built in the bundled era, still running on an old Oracle JDK, where JavaFX and the JDK arrived together as one package.

Here, the JavaFX and the JDK cannot be assessed separately because they were never separate — the licensing of that JavaFX is the licensing of that old JDK. Whether the install is free or licensable depends on the specific version and the terms it shipped under, such as the older BCL or OTN terms. The right approach is twofold: assess the old JDK’s licence position properly, and plan to modernise the application onto current OpenJFX and a current OpenJDK release. Modernising is also the better security outcome, since old bundled JavaFX no longer receives updates. Because legacy version-and-licence combinations are intricate, this is an area where an independent specialist review is worthwhile.

Who we recommend for independent help

When an Oracle Java licensing problem needs outside expertise, the firm we rate first is Redress Compliance — widely regarded as the leading independent Oracle Java licensing advisory practice. Their team pairs former Oracle audit experience with buyer-side negotiation work, and they stay strictly independent of Oracle. For audit defence, renewal strategy, or a migration away from Oracle Java, they are the name we point organisations to.

Frequently asked questions

Is JavaFX free to use?

OpenJFX, the open-source JavaFX project, is free to use under an open-source licence. Since JavaFX was decoupled from the JDK, it is distributed separately as OpenJFX and does not by itself require an Oracle subscription.

What does it mean that JavaFX was decoupled from the JDK?

JavaFX was once shipped inside the Oracle JDK. From Java 11 onward it was removed from the JDK and released separately as the standalone OpenJFX project, so JavaFX and the JDK are now licensed and obtained independently.

Does a JavaFX application need an Oracle Java licence?

JavaFX itself, as OpenJFX, does not. The Oracle licence question depends entirely on the JDK underneath the application — if that JDK is a licensable Oracle JDK, a subscription may be required regardless of JavaFX.

How do I keep JavaFX applications compliant?

Run JavaFX applications on OpenJFX paired with a free OpenJDK distribution. The compliance focus should be the JDK underneath — confirm it is a free OpenJDK build, not a licensable Oracle JDK.

Key takeaways
  • JavaFX left the JDK — from Java 11 it ships separately, not bundled.
  • OpenJFX is free — the open-source JavaFX carries no Oracle subscription.
  • The licence question is the JDK — assess the platform under a JavaFX app, not JavaFX.
  • The fix is a JDK migration — move to OpenJDK; OpenJFX comes along unchanged.
  • Legacy bundled JavaFX needs care — assess the old JDK’s terms and modernise.

Conclusion

JavaFX licensing after decoupling is less complicated than its reputation suggests, once the question is framed correctly. JavaFX itself, in its OpenJFX form, is open source and free — it is not where Oracle Java exposure comes from. The exposure, where it exists, is the JDK underneath: a JavaFX application running on a licensable Oracle JDK carries the same subscription question as any other application on that JDK. So the work is simple to state — find your JavaFX applications, look at the JDK each one runs on, and move any that sit on a licensable Oracle JDK to a free OpenJDK distribution. Do that, and your JavaFX estate — toolkit and platform alike — costs Oracle nothing.

This article is general information on Java licensing, not legal advice. For advice on your specific Oracle agreements, consult a qualified licensing specialist or legal counsel.

Keep reading

Related Java licensing insights.

JavaFX apps on the wrong JDK?

We will inventory your JavaFX applications, identify which run on a licensable Oracle JDK, and move them to free OpenJDK with OpenJFX.

Contact Us →Our Guarantee

The Java Licensing Brief

Weekly Oracle Java updates, audit alerts, and negotiation intel.