Java licensing

How to Prepare for an Oracle Java License Expiration

How to Prepare for an Oracle Java License Agreement Expiration

How to Prepare for an Oracle Java License Agreement Expiration

Oracle Java subscriptions must be managed proactively. If your agreement is ending soon, start planning immediately. First, set a timeline.

Find the exact expiration date in your contract. Mark it on a shared calendar. Include buffer time to gather data and make decisions.

Read Is Your Java License Agreement Expiring? 10 Things You Must Know.

Early Discovery Steps

Identify all Java products in use. Check both servers and desktops. Teams often use Java in hidden ways, such as embedded in middleware or internal tools. Use a mix of manual checks and tools:

  • Search file systems: Look for common Java binaries (java.exe, java, jvm.dll, etc.) on servers and workstations.
  • Environment paths: Query PATH variables for Java installation paths.
  • Inventory tools: Use SCCM, JAMF, or similar tools to list installed software packages containing Java.
  • Version and vendor: Record each Java instanceโ€™s version and vendor (Oracle, OpenJDK, Azul, etc.) and note who uses it.

Create a spreadsheet of your findings. For example:

MachineJava VersionVendorUse Case
srv-db011.8.0_351OracleAccounting App
dev-laptop-1217.0.7OpenJDKBuild agent

This inventory highlights potential licensing needs. You will need to act if you find more Oracle Java installations than you have licenses for.

Perform an Internal Audit

Audit your license entitlements. Review contracts and purchase records:

  • Check current licenses: Look up Java SE subscriptions or maintenance agreements in your contract repository.
  • Count licenses: Note if past agreements used Named User Plus (NUP) or per-processor metrics. For example, an old contract might list “100 NUP Java SE” or “2 CPU licenses.”
  • Employee count: If you have a Java subscription, count all employees (full-time, part-time, contractors). Under Oracleโ€™s current model, you pay per employee. For example, 500 employees at $15/employee/month is a $90,000/year cost.
  • Identify gaps: Compare your Java inventory to the licenses you hold. Any excess usage is a compliance issue.

If you find more Oracle Java usage than licenses, plan how to close the gap. Options include removing Oracle Java from some systems, negotiating more licenses, or moving some workloads to free alternatives (see our migration guide).

Use the Right Tools

Leverage software asset management (SAM) and discovery tools. These can speed up audits and find hidden instances:

  • Oracle LMS scripts: Oracle provides free scripts to scan networks for installed products, including Java. Use them to find untracked installations.
  • Third-party scanners: Tools like Snow Software or Flexera can inventory installations across your environment. Set them to identify Java runtimes.
  • Log analysis: Check your network logs. For example, Oracleโ€™s download site records can show who downloaded Oracle Java.
  • Container scans: If you use Docker or Kubernetes, scan images and containers for Java components.

Such tools catch instances missed by manual checks. For example, a thorough scan might uncover a forgotten test VM or CI/CD pipeline image. Document everything you find.

Engage Stakeholders

Coordinate with all teams using Java:

  • Development: Developers know which Java versions their apps need and which features are in use.
  • Operations: Ops teams manage servers and cloud instances with Java. They can run scans and interpret results.
  • Security: The security team cares about patching Java. They often have data on which versions have known vulnerabilities.
  • Procurement/Finance: They handle budgets and contracts. Keep them informed of timelines and costs.
  • Legal/Compliance: They ensure plans meet regulatory and contractual obligations.

Hold a kickoff meeting. Share your audit results and discuss next steps. Align on goals like minimizing cost or avoiding risk. If some teams prefer open-source Java, note that plan. If not, prepare to meet with Oracle for renewal options.

Establish Governance

Create a project plan and team to manage the process. Assign roles and responsibilities:

  • Project Lead: Coordinates tasks and timeline.
  • Technical Lead: Understands Java deployments and dependencies.
  • Finance Lead: Tracks budgets and contract details.
  • Compliance Advisor: Checks legal and licensing issues.

Set milestones and track progress. Example timeline:

PhaseTimelineMilestone
Discovery & AuditMonth 1 – 2Complete Java inventory and license audit
Decision PointMonth 3Decide: Renew vs. Migrate
Pilot (if migrate)Month 4 – 5Test OpenJDK on development servers
Negotiation (renew)Month 4 – 5Obtain quotes from Oracle
Final PrepMonth 6Ready for cutover or contract renewal
DeadlineMonth 6Java license expires

Keep a shared document or dashboard updated. Report status to leadership regularly.

Real-World Example

Acme Corp discovered during an internal audit that they had Oracle Java on 120 servers but licenses for only 50 users. They risked heavy penalties. Finding this early, they removed Oracle Java from unused machines and planned to migrate the rest to Eclipse Temurin (a free OpenJDK build). They also engaged Oracle in advance to discuss extending coverage until migration was done.

Practical Advice

  • Hidden installs: Check for Java in places like build agents and test servers, not just live production servers.
  • Version needs: Identify if any apps require a specific Java version (e.g., Java 8 vs. Java 17).
  • Patch policy: Know that you will not get Oracle security patches without a subscription after the license expires.
  • Hybrid approach: You may renew Oracle Java for critical workloads and migrate others to reduce cost.
  • Document actions: Keep detailed records of your inventory and decisions. This documentation shows due diligence if Oracle asks questions.

See Also

Recommendations

  • Start early: Begin Java usage scans at least 6 months before the contract ends.
  • Inventory vs. licenses: Cross-check your inventory with all active Java licenses and contracts.
  • Set clear roles: Form a project team with technical, SAM, and legal leads.
  • Test alternatives: Run a pilot with a free OpenJDK distribution, even if you plan to renew, to see how your apps behave.
  • Maintain evidence: Keep all audit reports, spreadsheets, and meeting notes. This documentation is invaluable if Oracle inquires.

Do you want to know more about our Oracle Java Audit Advisory Services?

Please enable JavaScript in your browser to complete this form.
Name
Author
  • Fredrik Filipsson has 20 years of experience in Oracle license management, including nine years working at Oracle and 11 years as a consultant, assisting major global clients with complex Oracle licensing issues. Before his work in Oracle licensing, he gained valuable expertise in IBM, SAP, and Salesforce licensing through his time at IBM. In addition, Fredrik has played a leading role in AI initiatives and is a successful entrepreneur, co-founding Redress Compliance and several other companies.

    View all posts