Hello Jason, On Tue, May 7, 2019 at 1:15 PM <[email protected]> wrote:
> Given the relatively recent Oracle Java licensing changes you all are > aware of, what is the plan for GOCD? > > Will users/clients be expected now to pay for any installation of Java > needed for an agent? > > Here is a faq for those interested: > https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html > > ==== *DISCLAIMER*: I am not a lawyer. This does not constitute not legal advice. You should consult your legal counsel. ==== Yes, we were supposed to mention this as a part of the release notes of 19.3, but missed it. You're right: Because of all the changes around the JVM, we've had to make some changes in our support for different versions of Java. Other relevant FAQs are: - https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later - https://www.oracle.com/technetwork/java/java-se-support-roadmap.html The main aspects of these decisions from Oracle which apply are: 1. There will be a new major release of Java every 6 months. 2. Security updates will be provided only a few times within that timeframe (twice, I believe). 3. A new (non-LTS) release of Java supersedes the previous version (and it becomes "unsupported" by Oracle). 4. Oracle JDK is released under a commercial license, whereas Open JDK is released under GPL+CPE (GPL + Classpath exception) <http://openjdk.java.net/legal/gplv2+ce.html> Given all of this, and the fact that GoCD bundles the JRE in certain cases (Windows and Mac OS), we wanted to make sure that we were compliant and weren't causing anyone any undue distress. Based on conversations with our legal counsel, we believe that it is safe to bundle OpenJDK with GoCD. Given the 6-month release cycle and the lack of security updates, GoCD will support the *last 3 versions* of JRE. This will mean that users can use (approximately) an 18 month-old JVM. The rationale is that upgrading JVM versions on agents may be painful for sysadmins that don’t have automation in place, or there’s too much regulatory overhead. The compiler target will be adjusted every 6 months when a new Java release is out. The compiler target will be (LATEST_VERSION - 2). For example: if the current GA Java version is 15, the compiler target will be set to 13. The main reason is that it's not feasible to keep up with more than three releases of Java at the same time, ensuring tests have run on all of them. Also, those releases do not get security updates and it's unsafe to recommend them. *The impact for sysadmins:* Java 13 is expected to be out in about 5-6 months from today, around the same time this policy kicks in. This will mean that in the GoCD release 6 months from now, GoCD will support Java 11, 12, 13 only. If this is not already obvious: Support for java 8, 9, 10 will be completely dropped in 6 months from now. There are others who have thought about this more deeply (/cc Ketan). So, this post might be corrected (both technically and legally). Please don't use this as an official statement. My preference is for us to make a blog post about this and mention it on the mailing list, as the official stance. ==== *DISCLAIMER*: I am not a lawyer. This does not constitute not legal advice. You should consult your legal counsel. ==== Regards, Aravind -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CACxychGOmyVOq_ir2xK36xhrkZEnoPP1J-ZRUxd0EmXO3v6nXQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
