The editions and what changed

GraalVM is a high performance Java runtime and polyglot virtual machine, best known for its native image capability that compiles Java applications ahead of time into standalone executables. Its licensing confusion comes from history. For years GraalVM came in two editions, a free open source Community Edition and a paid Enterprise Edition with additional optimisations, and the paid edition required a commercial licence. Oracle then restructured this, retiring the Enterprise branding and shipping Oracle GraalVM under free terms for recent versions.

The result is that the same name now covers products with different licences depending on the edition and the version, exactly the kind of ambiguity that produces accidental exposure. Understanding GraalVM licensing therefore starts with identifying precisely which build is deployed and under which terms it was obtained, the same discipline that governs Oracle JDK and is set out in the Oracle Java licensing pillar.

The GraalVM Free Terms and Conditions

For recent releases, Oracle GraalVM is distributed under the GraalVM Free Terms and Conditions, known as the GFTC. These terms deliberately mirror the Java No Fee Terms and Conditions: they permit free use, including commercial production use, for a defined window tied to the release cadence, after which continued updates to that version fall under Oracle's paid framework. An organisation reading the GFTC should read it alongside the No Fee Terms and Conditions guide, because the structure and the trap are the same.

GraalVM licensing by build and version status
BuildLicenceFree in production?
GraalVM Community EditionGPLv2 with Classpath ExceptionYes, no window
Oracle GraalVM (in window)GFTCYes, time limited
Oracle GraalVM (after window)Oracle commercialSubscription required
Legacy Enterprise EditionOracle commercialPaid licence

The free window is the part buyers miss. Just as with Java 17 under the NFTC, Oracle GraalVM is free at release and for a period afterward, but the window closes, and continued patching of that version then requires payment. Treating today's free status as permanent is the same planning error described in the Java version licensing guide.

GraalVM Community Edition and open builds

The clean route around all of this is GraalVM Community Edition, which is fully open source under the GPLv2 with Classpath Exception licence, the same licence as OpenJDK and Eclipse Temurin. Community Edition carries no time window and no Oracle commercial framework; it is free in the same unconditional sense that OpenJDK is free. For organisations whose use of GraalVM does not depend on the specific optimisations in Oracle's build, Community Edition removes the licensing question entirely.

There are also community led downstream builds and distributions of GraalVM that track the open source source, giving organisations options beyond Oracle's own binary. The decision mirrors the broader Java distribution choice: an open, foundation or community governed build avoids single vendor pricing power, while Oracle's build ties you to Oracle's commercial framework, the same trade off analysed in the OpenJDK versus Oracle JDK comparison.

Native image and the runtime question

GraalVM's signature feature, native image, compiles a Java application ahead of time into a self contained native executable, which changes the deployment shape but not the licensing logic. The licence that matters is the one attached to the GraalVM build used to perform the compilation and to any runtime components it embeds, not the fact of native compilation itself. A native image built with Community Edition inherits Community Edition's open terms; one built with Oracle GraalVM inherits the GFTC and its window.

This is a subtle but important point for teams adopting native image for microservices or serverless workloads. The performance benefits are real and edition independent for many use cases, so the licensing decision can be made on commercial grounds: choose the build whose terms you are comfortable with, recognising that Oracle GraalVM places you back inside Oracle's Java framework while Community Edition does not. The cost consequences of being inside that framework are the Universal Subscription mechanics.

Is Oracle GraalVM free to use?

Oracle GraalVM is free to use in commercial production for recent versions, but only within the GFTC window, and only as long as you do not need updates that fall outside it. Stated as a rule: Community Edition is unconditionally free; Oracle GraalVM is free now but on a clock; the legacy Enterprise Edition was always paid. The honest answer to "is it free" is therefore "which build, and for how long," precisely because Oracle has structured the free terms to expire.

The safe interpretation for planning is to assume that any reliance on Oracle GraalVM for a long lived production system will eventually intersect the paid framework, exactly as reliance on a free Oracle JDK version does once its NFTC window closes. If the goal is durable freedom from Oracle Java fees, Community Edition or another open build is the answer, and the migration logic is the same as for the JDK, covered in the migration guide.

The most important thing for a procurement or licensing team to understand is that Oracle GraalVM does not sit in a separate commercial universe from Oracle Java; it sits within the same Java SE entitlement framework. That means deploying Oracle GraalVM in production outside its free window can trigger the same Java SE Universal Subscription requirement, priced against the same total workforce employee metric, that Oracle JDK would. GraalVM is not a way around the Java subscription; for Oracle's build, it is a route into it.

For buyers, the implication is that GraalVM adoption must be governed with the same care as JDK adoption. An architecture team that standardises on Oracle GraalVM for its native image features may be quietly committing the organisation to the employee subscription once windows expire. Bringing GraalVM into the same governance, inventory, and distribution control as the rest of the Java estate, as a Java advisory engagement does, prevents that surprise.

The buyer side view

The practical takeaway is that GraalVM licensing is the Java licensing problem wearing a different name. Oracle GraalVM is free within a window and then paid, governed by Oracle and tied to the same employee sized Java SE subscription, while Community Edition is unconditionally open. The native image feature does not change this; the licence follows the build that produced the executable, not the executable's shape.

If you want GraalVM's capabilities without Oracle's commercial framework, standardise on Community Edition or another open build, and govern GraalVM downloads with the same discipline you apply to the JDK. Start with the No Fee Terms guide for the window mechanics, the version licensing guide for the lifecycle, and the Java advisory service to bring GraalVM under control.

Oracle GraalVM licensing: frequently asked questions

Is Oracle GraalVM free for commercial use?

Recent Oracle GraalVM releases are free for commercial production under the GraalVM Free Terms and Conditions, which mirror the Java No Fee Terms with a similar time limited window. Community Edition is separately free with no window.

What is the difference between GraalVM Community and Oracle GraalVM?

Community Edition is the fully open source build under GPLv2 with Classpath Exception, free without time limits. Oracle GraalVM is Oracle's build under the GFTC free terms for recent versions, governed by Oracle and subject to the same commercial framework as Oracle JDK.

Does using GraalVM require an Oracle Java subscription?

Community Edition requires no subscription. Oracle GraalVM is free within its GFTC window, but falls within Oracle's Java SE framework, so production outside the window can require the Universal Subscription with the same employee metric.