Analyze Java files on servers & clients Java Roadmap – Oracle License Management Oracle Java files NON ORACLE JAVA – No subscription needed Old Java (BCL) Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM New Java (Java SE OTN) Need subscription
Java License Training updated 2019-09-27 Let’s go w w w . r e d r e s s c o m p l i a n c e . c o m
What has sparked the interest in Java licensing? News reports of Oracle auditing customers for Java Oracle tripling the number of sales reps focusing on Java usage Direct contacts by Oracle to company CFO/CIO about Java usage. Oracle announced - no more free access to support and security updates
Sun releases Java under GPL (Open Source)
2010 - Oracle buys SUN Microsystems
Oracle removes Java and releases Java under a license agreement (BCL) Source: Oracle.com
Opensource Java = is released/downloaded at Openjdk.java.net Oracle Proprietary Java = is downloaded on oracle.com
BCL AGREEMENT - 2010 • For all Oracle.com Java downloads to Java 10 • ”Online-acceptance” agreement. • ”Free” Java is on openjdk and not under the BCL. • Companies have D/L the wrong Java JDK (if they wanted free Java) • All usage classified as ”General Purpose” is free per the agreement. • Usage of Commercial features are never free. Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED. 1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees and/or those portions of such software produced by jlink as output using a Program’s code, when such output is in unmodified form in combination, and for sole use with, that Program, as well as any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. The Java Linker (jlink) is available with Java 9 and later versions. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function- specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java- enabled General Purpose Desktop Computers and Servers; and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “Java SE LIUM” means the Licensing Information User Manual – Oracle Java SE and Oracle Java Embedded Products Document accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. “Commercial Features” means those features that are identified as such in the Java SE LIUM under the “Description of Product Editions and Permitted Features” section.
Examples of ”General Purpose” Application must be under end user control. (So not a server application running on a server) Internet browsing Email (Lotes Notes, primarily) PowerPoint and Word General purpose office suite productivity tools, arguably meeting apps, web conference.
Analyze Java files on servers & clients Work-flow (process) Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM
Analyze Java files on servers & clients What does this mean to you? Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed
1. Which Java vendor’s JDK do you use in production for your main applications? We start the report with a core question. With so many vendors providing their own JDK implementations, which offerings are developers using in production for their applications? We can see the dominance that Oracle JDK and Open JDK have over everyone else. With 7 in 10 developers opting to use the Oracle JDK and a further 2 in 10 opting for the OpenJDK, there isn’t much competition. However, future licensing and support changes might cause these numbers to change in the future. Oracle JDK 70% Open JDK 21% Oracle JDK Open JDK Eclipse OpenJ9/IBM J9 Android SDK Azul Other None 4% 2% 1% 1% 1%Other None Java User - Survey – Which JDK do you use?
Java User - Survey – Java SE Version do you have deployed? 3% 9% 79% 4% 4% 0% 1% 6 or lower 7 8 9 10 11EA We don’t 2. Which Java SE version do you use in production for your main application? There were significant structural changes to the JDK in Java 9 which many predicted would affect migration and adoption. We can see from the result (note that the survey was open midway between the releases of Java 10 and Java 11) that Java 8 is still the most dominant version of Java – almost 8 in 10 respondents say their main application use it in production. Equally significant is that fewer than half the remaining non-Java 8 respondents are on a more recent version.
Java User - Survey - Java SE – Update schedule 8% 30% 34% 28% Always stya on the latest verion of Java Decide on a release- by-release basis Stay with long-term support (LTS) releases Don’t know yet 3. How do you plan to respond to Java’s new release cycle? While the Java 9 release brought with it some major architectural changes, it also introduced a new release cadence in which Java SE version ship every six months. Every two to three years, a Long Term Support (LTS) release offers longer- term support, such as security updates, and so forth. Note that Java 9 is not an LTS release. This question asks how development team will respond to this new release cadence. The responses were varied, suggesting there is still some uncertainty about how to proceed. In fact, almost in 3 developers don’t yet know how they will respond to new release cycle. We expect that in the forthcoming years, best practices will emerge and companies will settle into a preferred migration cycle, which likely will vary considerably by industry. As a result we expect that the “Don’t’ know yet” figure will drop, but we don’t’ know which of the other buckets will see increases.
Java Security Updates – release schedule.
Java OTN SE replaces BCL agreement when: • You download Java 11 and upwards • Patch Java 211+ Java Technology Network License Agreement for Oracle Java SE SUMMARY For example: If you patch older versions of Java downloaded under BCL, those deployments will now be Java OTN SE and not the BCL.
Java se OTN • Development usage (for prototype) targeted at ISVs developing solutions based on Java for resell. • Program, it covers software, updates and documentaiton. • Third party providers might have made an agreement with Oracle. • No more general purpose usage > more restrictive since before. • Oracle have approved ”free usage” Oracle Middleware/Apps. “Development Use” refers to Your internal use of the Programs to develop, test, prototype and demonstrate Your Applications. For purposes of clarity, the “to develop” grant includes using the Programs to run profilers, debuggers and Integrated Development Environments (IDE Tools) where the primary purpose of the IDE Tools is profiling, debugging and source code editing Applications. "Program(s)" refers to Oracle software provided by Oracle pursuant to this Agreement and any updates, error corrections, and/or Program Documentation provided by Oracle. “Program Documentation” refers to the Licensing Information User Manual for Oracle Java SE for the applicable version accessible at https://www.oracle.com/technetwork/java/javase/documentation/ and other documentation provided by Oracle with the Programs or accessible at https://docs.oracle.com/en/java. “ “Separately Licensed Third Party Technology” refers to third party technology that is licensed under Separate Terms and not under the terms of this Agreement. “Application” refers to applications intended to run on the Java Platform, Standard Edition. “Personal Use” refers to an Individual's use of the Programs solely on a desktop or laptop computer under such Individual's control only to run Personal Applications. “Personal Applications” refers to Applications designed for individual personal use only, such as games or personal productivity tools. “Oracle Approved Product Use” refers to Your internal use of the Programs only to run: (a) the product(s) identified as Schedule A Products at https://java.com/oaa; and/or (b) software Applications developed using the products identified as Schedule B Products at java.com/oaa by an Oracle authorized licensee of such Schedule B Products. If You are unsure whether the Application You intend to run using the Programs is developed using a Schedule B Product, please contact your Application provider. “Oracle Cloud Infrastructure Use (“OCI Use”)” refers to Your use of the Programs on Oracle's Cloud Infrastructure with the Oracle Cloud Infrastructure products identified in the Oracle PaaS and IaaS Universal Credits Service Descriptions available at http://oracle.com/contracts during the period in which You maintain a subscription for such Oracle Cloud Infrastructure products. License Rights and Restrictions Oracle grants You a nonexclusive, nontransferable, limited license to use the Programs, subject to the restrictions stated in this Agreement and Program Documentation, only for: (i) Personal Use, (ii) Development Use, (iii) Oracle Approved Product Use, and/or (iv) Oracle Cloud Infrastructure Use. .
Questions? If I run Oracle EBS and it requires a Java web applet to start – do I need to license Java on EBS or desktops? No, review Oracles - ORACLE APPROVED PRODUCT USE LIST https://www.oracle.com/technetwork/java/javase/terms/oaa.html How do I know what agreement to follow? Most likely most of your server estate is on BCL agreement (slower updates) Desktops can already be on Java OTN SE agreement if you have applied security patches. Long term your strategy will be that everything will be on Java OTN SE. (the more you patch and the more you download the more will be on Java OTN SE) What about commercial features? They become irrelevant to licensing if you are NOT using Java for general purpose. Java licensing is not about data measurement or reviewing commercial features, it is about how you use Java compared to the contract. How do Oracle audit my usage? Most Oracle products there is now measurement tool, Oracle simply uses interviewing.
What is Oracle doing? AFTER 2018 • Hired Java Sales reps (and 300% increase from 2018-2019) • Many CFO/CIO are recieving letters from Oracle asking about the Java issue. • Not seen formal audits on any scale • Oracle are prioritizing larger companies. • Larry Elisson on earnings qall ”Java had a very good quarter”. BEFORE 2018 • No Java sales rep, only sales reps for OEM Java business. • No formal audits.
Java licensing is user based on CPU Java SE Subscription Processor-based Metric Oracle Licensed Server Cores Per Server Oracle Processor Core Factor Processor Licenses Required Java SE Desktop Subscription Named User Plus-based metric NUP Licenses Required
Java Subscription – Price list Java SE Platform Products Monthly Subscription Price Subscription Metric Volume Java SE Subscription $25.00 Processor 1-99 $23.75 Processor 100-249 $22.50 Processor 250-499 $20.00 Processor 500-999 $17.50 Processor 1,000-2,999 $15.00 Processor 3,000-9,999 $12.50 Processor 10,000-19,900 Contact Oracle Sales 20,000+ Java SE Desktop Subscription $2.50 Named User Plus 1-999 $2.00 Named User Plus 1,000-2,999 $1.75 Named User Plus 3,000-9,999 $1.50 Named User Plus 10,000-19,900 $1.25 Named User Plus 20,000-49,999 Contact Oracle Sales 50,000+
Starting points If you can establish which applications requires Java We have established that we have Oracle Java, what should we do? Review Contract, Involve Legal + Review usage. • Review the license agreement with your contract specialist and your corporate legal if needed. • Compare your own Java usage and get your own interpretation if it falls under general purpose usage. • Review how you use Java – If not general purpose – it should be licensed. • If you determine it is general purpose – you will be running unpatched. (does your IT security allow this?) • If you run Oracle Java and do not want to purchase a license you should uninstall Oracle Java. • Is it Oracle? Then check the schedule for pre-approved applications. • Is it non-Oracle – ask the reseller if they have an OEM agreement with Oracle and that you are covered • by licensing from the vendor.
Commercial features FAQ What is it? Primarily its is functionality that allows companies to manage and monitor Java applications MSI Enterprise Installer Most commonly used and dont leave any trace of usage. You need to ask who is responsible for updating and updating Java if they are using it. If they are this requires a license (regardless if you use Java for general purpose) Once you patch Java on 211 or download Java 11? Reviewing this is irrelevant, as Java is not allowed for commercial usage at all.
When do you need to have a license/subscription? Oracle Java 6,7,8,9 & 10 All Java installed that are not defined as “General Purpose” General Purpose usage: If you patch Java with update 211 (April 2019) If you have used commercial features. Oracle Java 11 and patch 211+ No more general purpose, only Java free usage is prototype/testing (building your own solutions on Java
Java license optimisation for desktop usage • If you don’t need Java on desktops you can try uninstall Java on desktops (create a project plan) • The users who need Java, can reinstall. • OpenJDK is free, but no support and not the same patch/security levels. (no zero-day fix) • Remember licensing is not per desktop but per user. (public computers with multiple users) • General Purpose computing is ”free” pre-patch 2011 t.om Java 8. After that you need a license or run unsecured. • Consider blocking: https://www.oracle.com/technetwork/java/javase/downloads/index.html • Create a check list for future applications: 1) Ask future application providers to sign OEM with Oracle for Java. 2) Ask future applications if they use OpenJDK.
4 Step Data Analysis
For a java analysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: Java • Java publisher. 1. Oracle and Sun being the primary focus. 2. OpenJDK 3. Other 3rd party 4. If no info available assume Oracle Java versions • Document the different Java versions • Patches /updates Platform • Physical • CPU type • # of CPUs • # of cores • Virtualization technology in use, If VMware collect using Rvtools • # of desktop/users • Cloud Data output example: Interviews systems/applications owners • Quick step to understand the most critical Java use cases • Commercial features needs activation in one way or another • Are you doing any in-house development • Are you embedding any Java libraries or source files I - DATA COLLECTION 1
For a java analysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: II, III - DATA ANALYSIS 2 From problem: • Multiple Java versions • Multiple Java vendors • Commercial features • Multiple Java patches/updates • 100+ or 1000+ applications using Java • Integration and other Java dependencies • Detailed technical analysis • Support or not support • Mix of proprietary/open source Java distributions • Security need • Other Oracle Java usage (ebusiness suite, weblogic…) • OpenSource vs Paid To solution: • Identify usage of Oracle – # of instances in % • Understand versions and patches • Identify main application/system usage of Java – typically just a few • Support is a must in 95% of cases • Support freeze unlikely or impractical • Shift to opensource or other vendor is impractical in majority of cases Via • BCLA to OTN • Java v. 11 • Java 8 update 211 • Java publisher 3 Only dedicate time to: • Large homegrown applications/systems • Align with application owners • Get legal perspective on special use of Java
For a java analysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: Other considerations: Consolidation vs. unlimited IV - JAVA LICENSE OPTIMIZATION 4 Client consolidation and clean up in virtualized environment • 70+ % reduction in Java subscription costs • 1100+ Java instances spread across a mix of virtual and physical servers • Consolidated to Physical servers 10 Evaluate # of Java instances and distribution across servers If use of virtual environments, explore moving to physical servers and/or clusters with separate storage Java clean up activities. Examples of up to 70% of Java is unused!
Analyze Java files on servers & clients Java Roadmap – Oracle License Management Oracle Java files NON ORACLE JAVA – No subscription needed Old Java (BCL) Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM New Java (Java SE OTN) Need subscription
General Purpose Not General Purpose Analyze Java files on servers & clients Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input DO NOTHING: Need subscription for all servers & desktops where Java is Pro-actively – How to reduce Call your application vendors about Java need Yes, require Java No, java need Ask vendors about Java road map & support non Oracle Java Uninstall Migrate to non Oracle Java Need subscription BCL - Roadmap
Java uninstall vs paid subscription • Cost of migrating to new Java technology • Cost of new keeping up with OpenSource release cadence • Security risks • Cost/risk of freezing systems and applications • Cost of reviewing and identifying potential Java dependencies • Cost of 3rd party support • Cost of compliance review • Cost/risk of vendor lock-in • Multiple Java strategies and advisory services • Cost of vendor support • Vendor lock-in • Right to audit • Stability = ? = $25 per processor
… Other Considerations – Data Analysis
COMMERCIAL FEATURES Commercial features should be your last consideration. Need for support or organic progression to new updates or new versions of Java will automatically push you paid subscription with Oracle or 3rd party. Commercial features becomes irrelevant almost once you patch Java or use Java 11 and onwards. OPENJDK Alternative is to follow 6 months release cadence on OpenJDK – Not support, but ensures latest patches/updates Commercial features, Installer and Support Commercial features • Java SE Enterprise (MSI) Installer • Java Flight Recorder – needs to be unlocked • Java Mission Control – Initiated from JDK • Java Advanced Management Console • JRockit Flight Recorder – No need to unlock • JRockit Mission Control – initiated from JDK • JRockit Real Time, Deterministic GC… • JRE Usage Tracking… Java SE Enterprise (MSI) Installer • Enables mass install of JREs – Installer only availble via download from Oracle support • Often used, by system administrators/client platform owners. Commercial features • All commercial features needs to be activated or unlocked Consider your support requirements • 3rd party offering requires changes to install/new technology • Oracle is the developer, owner and primary contributor to Java • Vendor lock-in • Security risk
Commercial features FAQ
Thanks for listening VISIT US

Java Licensing Roadmap for Oracle License Management

  • 1.
    Analyze Java fileson servers & clients Java Roadmap – Oracle License Management Oracle Java files NON ORACLE JAVA – No subscription needed Old Java (BCL) Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM New Java (Java SE OTN) Need subscription
  • 2.
    Java License Training updated2019-09-27 Let’s go w w w . r e d r e s s c o m p l i a n c e . c o m
  • 3.
    What has sparkedthe interest in Java licensing? News reports of Oracle auditing customers for Java Oracle tripling the number of sales reps focusing on Java usage Direct contacts by Oracle to company CFO/CIO about Java usage. Oracle announced - no more free access to support and security updates
  • 4.
    Sun releases Javaunder GPL (Open Source)
  • 5.
    2010 - Oraclebuys SUN Microsystems
  • 6.
    Oracle removes Javaand releases Java under a license agreement (BCL) Source: Oracle.com
  • 7.
    Opensource Java =is released/downloaded at Openjdk.java.net Oracle Proprietary Java = is downloaded on oracle.com
  • 8.
    BCL AGREEMENT -2010 • For all Oracle.com Java downloads to Java 10 • ”Online-acceptance” agreement. • ”Free” Java is on openjdk and not under the BCL. • Companies have D/L the wrong Java JDK (if they wanted free Java) • All usage classified as ”General Purpose” is free per the agreement. • Usage of Commercial features are never free. Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED. 1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees and/or those portions of such software produced by jlink as output using a Program’s code, when such output is in unmodified form in combination, and for sole use with, that Program, as well as any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. The Java Linker (jlink) is available with Java 9 and later versions. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function- specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java- enabled General Purpose Desktop Computers and Servers; and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “Java SE LIUM” means the Licensing Information User Manual – Oracle Java SE and Oracle Java Embedded Products Document accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html. “Commercial Features” means those features that are identified as such in the Java SE LIUM under the “Description of Product Editions and Permitted Features” section.
  • 9.
    Examples of ”GeneralPurpose” Application must be under end user control. (So not a server application running on a server) Internet browsing Email (Lotes Notes, primarily) PowerPoint and Word General purpose office suite productivity tools, arguably meeting apps, web conference.
  • 10.
    Analyze Java fileson servers & clients Work-flow (process) Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM
  • 11.
    Analyze Java fileson servers & clients What does this mean to you? Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed
  • 12.
    1. Which Javavendor’s JDK do you use in production for your main applications? We start the report with a core question. With so many vendors providing their own JDK implementations, which offerings are developers using in production for their applications? We can see the dominance that Oracle JDK and Open JDK have over everyone else. With 7 in 10 developers opting to use the Oracle JDK and a further 2 in 10 opting for the OpenJDK, there isn’t much competition. However, future licensing and support changes might cause these numbers to change in the future. Oracle JDK 70% Open JDK 21% Oracle JDK Open JDK Eclipse OpenJ9/IBM J9 Android SDK Azul Other None 4% 2% 1% 1% 1%Other None Java User - Survey – Which JDK do you use?
  • 13.
    Java User -Survey – Java SE Version do you have deployed? 3% 9% 79% 4% 4% 0% 1% 6 or lower 7 8 9 10 11EA We don’t 2. Which Java SE version do you use in production for your main application? There were significant structural changes to the JDK in Java 9 which many predicted would affect migration and adoption. We can see from the result (note that the survey was open midway between the releases of Java 10 and Java 11) that Java 8 is still the most dominant version of Java – almost 8 in 10 respondents say their main application use it in production. Equally significant is that fewer than half the remaining non-Java 8 respondents are on a more recent version.
  • 14.
    Java User -Survey - Java SE – Update schedule 8% 30% 34% 28% Always stya on the latest verion of Java Decide on a release- by-release basis Stay with long-term support (LTS) releases Don’t know yet 3. How do you plan to respond to Java’s new release cycle? While the Java 9 release brought with it some major architectural changes, it also introduced a new release cadence in which Java SE version ship every six months. Every two to three years, a Long Term Support (LTS) release offers longer- term support, such as security updates, and so forth. Note that Java 9 is not an LTS release. This question asks how development team will respond to this new release cadence. The responses were varied, suggesting there is still some uncertainty about how to proceed. In fact, almost in 3 developers don’t yet know how they will respond to new release cycle. We expect that in the forthcoming years, best practices will emerge and companies will settle into a preferred migration cycle, which likely will vary considerably by industry. As a result we expect that the “Don’t’ know yet” figure will drop, but we don’t’ know which of the other buckets will see increases.
  • 15.
    Java Security Updates– release schedule.
  • 16.
    Java OTN SEreplaces BCL agreement when: • You download Java 11 and upwards • Patch Java 211+ Java Technology Network License Agreement for Oracle Java SE SUMMARY For example: If you patch older versions of Java downloaded under BCL, those deployments will now be Java OTN SE and not the BCL.
  • 17.
    Java se OTN •Development usage (for prototype) targeted at ISVs developing solutions based on Java for resell. • Program, it covers software, updates and documentaiton. • Third party providers might have made an agreement with Oracle. • No more general purpose usage > more restrictive since before. • Oracle have approved ”free usage” Oracle Middleware/Apps. “Development Use” refers to Your internal use of the Programs to develop, test, prototype and demonstrate Your Applications. For purposes of clarity, the “to develop” grant includes using the Programs to run profilers, debuggers and Integrated Development Environments (IDE Tools) where the primary purpose of the IDE Tools is profiling, debugging and source code editing Applications. "Program(s)" refers to Oracle software provided by Oracle pursuant to this Agreement and any updates, error corrections, and/or Program Documentation provided by Oracle. “Program Documentation” refers to the Licensing Information User Manual for Oracle Java SE for the applicable version accessible at https://www.oracle.com/technetwork/java/javase/documentation/ and other documentation provided by Oracle with the Programs or accessible at https://docs.oracle.com/en/java. “ “Separately Licensed Third Party Technology” refers to third party technology that is licensed under Separate Terms and not under the terms of this Agreement. “Application” refers to applications intended to run on the Java Platform, Standard Edition. “Personal Use” refers to an Individual's use of the Programs solely on a desktop or laptop computer under such Individual's control only to run Personal Applications. “Personal Applications” refers to Applications designed for individual personal use only, such as games or personal productivity tools. “Oracle Approved Product Use” refers to Your internal use of the Programs only to run: (a) the product(s) identified as Schedule A Products at https://java.com/oaa; and/or (b) software Applications developed using the products identified as Schedule B Products at java.com/oaa by an Oracle authorized licensee of such Schedule B Products. If You are unsure whether the Application You intend to run using the Programs is developed using a Schedule B Product, please contact your Application provider. “Oracle Cloud Infrastructure Use (“OCI Use”)” refers to Your use of the Programs on Oracle's Cloud Infrastructure with the Oracle Cloud Infrastructure products identified in the Oracle PaaS and IaaS Universal Credits Service Descriptions available at http://oracle.com/contracts during the period in which You maintain a subscription for such Oracle Cloud Infrastructure products. License Rights and Restrictions Oracle grants You a nonexclusive, nontransferable, limited license to use the Programs, subject to the restrictions stated in this Agreement and Program Documentation, only for: (i) Personal Use, (ii) Development Use, (iii) Oracle Approved Product Use, and/or (iv) Oracle Cloud Infrastructure Use. .
  • 18.
    Questions? If I runOracle EBS and it requires a Java web applet to start – do I need to license Java on EBS or desktops? No, review Oracles - ORACLE APPROVED PRODUCT USE LIST https://www.oracle.com/technetwork/java/javase/terms/oaa.html How do I know what agreement to follow? Most likely most of your server estate is on BCL agreement (slower updates) Desktops can already be on Java OTN SE agreement if you have applied security patches. Long term your strategy will be that everything will be on Java OTN SE. (the more you patch and the more you download the more will be on Java OTN SE) What about commercial features? They become irrelevant to licensing if you are NOT using Java for general purpose. Java licensing is not about data measurement or reviewing commercial features, it is about how you use Java compared to the contract. How do Oracle audit my usage? Most Oracle products there is now measurement tool, Oracle simply uses interviewing.
  • 19.
    What is Oracledoing? AFTER 2018 • Hired Java Sales reps (and 300% increase from 2018-2019) • Many CFO/CIO are recieving letters from Oracle asking about the Java issue. • Not seen formal audits on any scale • Oracle are prioritizing larger companies. • Larry Elisson on earnings qall ”Java had a very good quarter”. BEFORE 2018 • No Java sales rep, only sales reps for OEM Java business. • No formal audits.
  • 20.
    Java licensing isuser based on CPU Java SE Subscription Processor-based Metric Oracle Licensed Server Cores Per Server Oracle Processor Core Factor Processor Licenses Required Java SE Desktop Subscription Named User Plus-based metric NUP Licenses Required
  • 21.
    Java Subscription –Price list Java SE Platform Products Monthly Subscription Price Subscription Metric Volume Java SE Subscription $25.00 Processor 1-99 $23.75 Processor 100-249 $22.50 Processor 250-499 $20.00 Processor 500-999 $17.50 Processor 1,000-2,999 $15.00 Processor 3,000-9,999 $12.50 Processor 10,000-19,900 Contact Oracle Sales 20,000+ Java SE Desktop Subscription $2.50 Named User Plus 1-999 $2.00 Named User Plus 1,000-2,999 $1.75 Named User Plus 3,000-9,999 $1.50 Named User Plus 10,000-19,900 $1.25 Named User Plus 20,000-49,999 Contact Oracle Sales 50,000+
  • 22.
    Starting points If youcan establish which applications requires Java We have established that we have Oracle Java, what should we do? Review Contract, Involve Legal + Review usage. • Review the license agreement with your contract specialist and your corporate legal if needed. • Compare your own Java usage and get your own interpretation if it falls under general purpose usage. • Review how you use Java – If not general purpose – it should be licensed. • If you determine it is general purpose – you will be running unpatched. (does your IT security allow this?) • If you run Oracle Java and do not want to purchase a license you should uninstall Oracle Java. • Is it Oracle? Then check the schedule for pre-approved applications. • Is it non-Oracle – ask the reseller if they have an OEM agreement with Oracle and that you are covered • by licensing from the vendor.
  • 23.
    Commercial features FAQ Whatis it? Primarily its is functionality that allows companies to manage and monitor Java applications MSI Enterprise Installer Most commonly used and dont leave any trace of usage. You need to ask who is responsible for updating and updating Java if they are using it. If they are this requires a license (regardless if you use Java for general purpose) Once you patch Java on 211 or download Java 11? Reviewing this is irrelevant, as Java is not allowed for commercial usage at all.
  • 24.
    When do youneed to have a license/subscription? Oracle Java 6,7,8,9 & 10 All Java installed that are not defined as “General Purpose” General Purpose usage: If you patch Java with update 211 (April 2019) If you have used commercial features. Oracle Java 11 and patch 211+ No more general purpose, only Java free usage is prototype/testing (building your own solutions on Java
  • 25.
    Java license optimisationfor desktop usage • If you don’t need Java on desktops you can try uninstall Java on desktops (create a project plan) • The users who need Java, can reinstall. • OpenJDK is free, but no support and not the same patch/security levels. (no zero-day fix) • Remember licensing is not per desktop but per user. (public computers with multiple users) • General Purpose computing is ”free” pre-patch 2011 t.om Java 8. After that you need a license or run unsecured. • Consider blocking: https://www.oracle.com/technetwork/java/javase/downloads/index.html • Create a check list for future applications: 1) Ask future application providers to sign OEM with Oracle for Java. 2) Ask future applications if they use OpenJDK.
  • 26.
    4 Step DataAnalysis
  • 27.
    For a javaanalysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: Java • Java publisher. 1. Oracle and Sun being the primary focus. 2. OpenJDK 3. Other 3rd party 4. If no info available assume Oracle Java versions • Document the different Java versions • Patches /updates Platform • Physical • CPU type • # of CPUs • # of cores • Virtualization technology in use, If VMware collect using Rvtools • # of desktop/users • Cloud Data output example: Interviews systems/applications owners • Quick step to understand the most critical Java use cases • Commercial features needs activation in one way or another • Are you doing any in-house development • Are you embedding any Java libraries or source files I - DATA COLLECTION 1
  • 28.
    For a javaanalysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: II, III - DATA ANALYSIS 2 From problem: • Multiple Java versions • Multiple Java vendors • Commercial features • Multiple Java patches/updates • 100+ or 1000+ applications using Java • Integration and other Java dependencies • Detailed technical analysis • Support or not support • Mix of proprietary/open source Java distributions • Security need • Other Oracle Java usage (ebusiness suite, weblogic…) • OpenSource vs Paid To solution: • Identify usage of Oracle – # of instances in % • Understand versions and patches • Identify main application/system usage of Java – typically just a few • Support is a must in 95% of cases • Support freeze unlikely or impractical • Shift to opensource or other vendor is impractical in majority of cases Via • BCLA to OTN • Java v. 11 • Java 8 update 211 • Java publisher 3 Only dedicate time to: • Large homegrown applications/systems • Align with application owners • Get legal perspective on special use of Java
  • 29.
    For a javaanalysis using Xensam/Snow/Flexera/SCCM or similar inventory tools you need to consider: Other considerations: Consolidation vs. unlimited IV - JAVA LICENSE OPTIMIZATION 4 Client consolidation and clean up in virtualized environment • 70+ % reduction in Java subscription costs • 1100+ Java instances spread across a mix of virtual and physical servers • Consolidated to Physical servers 10 Evaluate # of Java instances and distribution across servers If use of virtual environments, explore moving to physical servers and/or clusters with separate storage Java clean up activities. Examples of up to 70% of Java is unused!
  • 30.
    Analyze Java fileson servers & clients Java Roadmap – Oracle License Management Oracle Java files NON ORACLE JAVA – No subscription needed Old Java (BCL) Analyze Usage Legal input General Purpose Not General Purpose (see next slide) Commercial Feature and support & update requirement Yes No Need subscription No subscription needed Pre-approved Java or OEM Java No Java SE subscription needed Oracle App/MW / OEM New Java (Java SE OTN) Need subscription
  • 31.
    General Purpose NotGeneral Purpose Analyze Java files on servers & clients Oracle Java files NON ORACLE JAVA – No subscription needed Review License Agreement Analyze Usage Legal input DO NOTHING: Need subscription for all servers & desktops where Java is Pro-actively – How to reduce Call your application vendors about Java need Yes, require Java No, java need Ask vendors about Java road map & support non Oracle Java Uninstall Migrate to non Oracle Java Need subscription BCL - Roadmap
  • 32.
    Java uninstall vspaid subscription • Cost of migrating to new Java technology • Cost of new keeping up with OpenSource release cadence • Security risks • Cost/risk of freezing systems and applications • Cost of reviewing and identifying potential Java dependencies • Cost of 3rd party support • Cost of compliance review • Cost/risk of vendor lock-in • Multiple Java strategies and advisory services • Cost of vendor support • Vendor lock-in • Right to audit • Stability = ? = $25 per processor
  • 33.
  • 34.
    COMMERCIAL FEATURES Commercial featuresshould be your last consideration. Need for support or organic progression to new updates or new versions of Java will automatically push you paid subscription with Oracle or 3rd party. Commercial features becomes irrelevant almost once you patch Java or use Java 11 and onwards. OPENJDK Alternative is to follow 6 months release cadence on OpenJDK – Not support, but ensures latest patches/updates Commercial features, Installer and Support Commercial features • Java SE Enterprise (MSI) Installer • Java Flight Recorder – needs to be unlocked • Java Mission Control – Initiated from JDK • Java Advanced Management Console • JRockit Flight Recorder – No need to unlock • JRockit Mission Control – initiated from JDK • JRockit Real Time, Deterministic GC… • JRE Usage Tracking… Java SE Enterprise (MSI) Installer • Enables mass install of JREs – Installer only availble via download from Oracle support • Often used, by system administrators/client platform owners. Commercial features • All commercial features needs to be activated or unlocked Consider your support requirements • 3rd party offering requires changes to install/new technology • Oracle is the developer, owner and primary contributor to Java • Vendor lock-in • Security risk
  • 35.
  • 36.