OpenJFX: The Open Source Repository Behind JavaFX
JavaFX mainline development
At a glance
- What is it?
- OpenJFX is the open source project where JavaFX is developed, maintained under the OpenJDK charter and licensed under GPL v2 with the Classpath exception. The GitHub repository holds the source code and build infrastructure, while pre-built SDK downloads are available at openjfx.io, and contributing requires signing the Oracle Contributor Agreement.
- Who is it for?
- OpenJFX is the right starting point for Java developers who need to build from source, study the JavaFX implementation, or contribute fixes. Developers who only need the runtime or SDK for application development should go to openjfx.io for pre-built downloads rather than this repository.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What OpenJFX Provides and the Two Ways to Use It
OpenJFX is the open source client application platform for desktop, mobile, and embedded systems built on JavaSE. The README describes it as a collaborative effort with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications. The repository at openjdk/jfx is where JavaFX development happens.
There are two different audiences for this repository. The first is developers who want to use JavaFX in their applications. For them, the README points to openjfx.io as the community site for information on downloading and using JavaFX. The GitHub repository contains source code, not the pre-built SDK. The second audience is contributors, porter teams, and researchers who want to work with the source, file patches, or build the toolkit themselves. The README points this group to the Building OpenJFX wiki page at wiki.openjdk.org for build instructions. The repository uses a Gradle build system, as shown by the build.gradle, settings.gradle, and gradlew wrapper scripts in the repository root, along with a modules/ directory where the toolkit's modules live.
Governance Under the OpenJDK Charter
OpenJFX operates as a project under the OpenJDK charter, not as a standalone independent project. The README states that the OpenJDK Bylaws and the OpenJFX License govern all work in the repository. Project membership is tracked on the OpenJDK Census at openjdk.org/census#openjfx.
This governance structure has practical consequences for contributors. The README notes that anyone contributing to an OpenJDK project for the first time must review the rules on becoming a Contributor as defined in the OpenJDK Bylaws. The contributor process in an OpenJDK project involves a sponsor relationship with a project member before contributions can be formally committed. The README also notes a README-code-reviews.md file in the repository, which documents the code review process specific to this project. The process reflects a mature open source project with defined roles and review requirements rather than an informal community repository.
The Oracle Contributor Agreement Requirement
Contributions to OpenJFX require signing the Oracle Contributor Agreement (OCA) before any patch can be merged. The README directs contributors to oca.opensource.oracle.com to sign it. This is a legal agreement between the contributor and Oracle that grants Oracle the rights to include the contribution in the codebase.
The OCA requirement is a meaningful barrier for developers who want to submit a single bug fix. Unlike projects that use a Developer Certificate of Origin (DCO), the OCA is a formal agreement with a specific corporation. Individual contributors must sign individually; contributions from employees on behalf of a company require a corporate agreement. The README acknowledges this by providing the direct link to the signing process. Not signing the OCA means contributions cannot be accepted into the mainline, regardless of their technical quality. Anyone porting OpenJFX to a new platform faces this same requirement.
License: GPL v2 with the Classpath Exception
OpenJFX is licensed under GPL version 2 with the Classpath exception, identical to the OpenJDK license. The README states this explicitly and notes the parallel with the JDK.
The Classpath exception is the detail that matters for most application developers. A standard GPL v2 license would require that any application importing and using GPLed classes also be distributed under the GPL. The Classpath exception removes this requirement: an application that uses OpenJFX classes can be distributed under any license the developer chooses, including a proprietary one. This is what makes it possible for commercial Java applications to use JavaFX without releasing their own source code. The exception applies specifically to the act of linking (importing and using) the library, not to modifying the library itself. Modifications to the OpenJFX source code must still be distributed under GPL v2. The README notes that the license is the same as the JDK's, which reinforces this interpretation, since commercial Java applications have always been able to use the JDK without GPL obligations.
Reporting Issues and Following Development
The README directs bug reports to the Java Bug System (JBS) at bugs.openjdk.org, not to GitHub Issues. The repository does not use GitHub Issues for tracking. The README recommends checking against the latest version before filing a report, since fixes already may be in the current codebase. It also recommends searching the JBS issues list to avoid duplicate reports. The general Java bug reporting interface at bugreport.java.com is listed as an additional resource with guidance on the process.
The repository has published no GitHub releases. The openjdk/jfx repository tracks mainline development. Build artifacts and versioned releases are distributed through the OpenJDK and OpenJFX distribution channels rather than GitHub. The last push to the master branch was recorded on 2026-09-26. The repository is not archived and is under active development.
Comparing with Swing for Desktop Application Development
Swing is the older Java GUI toolkit that ships as part of the Java standard library. It has been part of the Java platform for decades and is available to any developer with a standard JDK installation without any additional download. Swing applications run on any platform where the JDK runs, and there is no separate SDK to manage or OCA to sign for using it.
OpenJFX is distributed separately from the JDK and requires an explicit download or dependency declaration, which adds a setup step that Swing does not. In exchange, the README describes OpenJFX as a modern toolkit targeting desktop, mobile, and embedded systems, including use cases that extend beyond what Swing covers. The README explicitly names port contributions to other platforms and devices as a welcomed form of participation, suggesting active work to broaden the platform coverage. Teams maintaining existing Swing applications have no immediate pressure to migrate, since Swing remains in the JDK. Teams starting new projects should evaluate both options based on the target platforms and the tooling ecosystem they plan to use.
Editorial conclusion
OpenJFX is the right starting point for Java developers who need to build from source, study the JavaFX implementation, or contribute fixes. Developers who only need the runtime or SDK for application development should go to openjfx.io for pre-built downloads rather than this repository. Before contributing any code, review the Oracle Contributor Agreement at oca.opensource.oracle.com, since no pull request can be merged without it.
Frequently asked questions
Is JavaFX still used?
Yes. OpenJFX is under active development as an OpenJDK project. The README describes it as a collaborative effort aimed at producing a modern toolkit for rich client applications, and the last push to the master branch was recorded on 2026-09-26. Pre-built SDKs are available at openjfx.io.
How do I install JavaFX?
For using JavaFX in an application, the README points to openjfx.io as the community site for downloads and usage documentation. Building JavaFX from source requires following the Building OpenJFX wiki page at wiki.openjdk.org, which documents the Gradle-based build process.
Does using OpenJFX in my application require my application to be open source?
No. OpenJFX is licensed under GPL v2 with the Classpath exception, the same license as the JDK. The Classpath exception means that applications which import and use OpenJFX classes can be distributed under any license, including proprietary ones. Modifications to the OpenJFX source code itself must still be distributed under GPL v2.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/openjdk-jfx)