At Seki Java '18 July New Release Model Related & JCP [Osaka], there was a session about the new Java release model, so I participated. It was. Regarding the Java release model, Good article has been uploaded in various ways, but I will summarize it as my memorandum.
Material has been uploaded.
--Conventional (up to JDK8) source development by the OpenJDK community. No binary provided. Oracle was building and generating binaries. At this time, JavaFX, installer, etc. (outside Java standard specifications) were also packed at that time. The form of provision is JDK / JRE. The license is BCL (binary code license). Copying / distributing inside the company is OK, but copying / distributing outside the company is NG. --Actually, the libraries and tools (compiler, etc.) are the same. ――This was surprising. I thought it was completely different ... --Oracle carries out security updates four times a year and also includes bug fixes. --Since OpenJDK had its own update, it has not been released in perfect agreement with Oracle JDK.
--Short-term version upgrade ――I want to use one version for a long time --Needs from user companies --Adaptation to IT trends and infrastructure evolution --Release with stable cycle --JDK9 has been postponed for about 2 years ... ―― 6 → 7 is 4 years and 7 months, 7 → 8 is 2 years and 8 months, 8 → 9 is 3 years and 6 months ――The longer the period, the more new functions will be installed. ―― 8-9 also has 91 functions (jigsaw, etc.) ... --Developer needs to release new features sooner
--Oracle offers two patterns of releases --Binaries as openJDK are provided free of charge --A binary containing only the installer is provided as an Oracle JDK. This is paid. --The only difference is the presence or absence of the installer. JFR / JMC, which was previously only available in Oracle JDK, will be included as an OpenJDK specification from JDK11. --OpenJDK released in 6 months, Oracle JDK released in 3 years --OpenJDK allows you to take advantage of new features faster --Oracle JDK supports fixed version needs (LTS) --Updates are applied in the same cycle. 4 times a year. Since security updates can be applied, OpenJDK is also available for commercial use. --About support --OpenJDK is free support from the community. --Oracle JDK is paid support by Oracle. However, it will be available free of charge for development, testing, trial production, etc. (planned). --It will be similar to WebLogic ――In the future, OracleJDK / OpenJDK will have a life cycle together, but OracleJDK will be provided with LTS (for update release) with 8 year support once every 3 years. --LTS will have a 5-year overlap. --Releases occur 6 times a year. --The upgrade release is fixed in March and September. New features are added. --Update release is fixed at 1,4,7,10. Targets are vulnerability countermeasures and bug FIX. No new features added. --Get release information from OpenJDK. --Deprecated / removed targets are listed in the release notes. --After being deprecated, it may be deleted in the next version upgrade at the earliest. Deprecated → There is a possibility that deletion will be completed in one year. --If you can't add the function in time, go to the next release.
--Java 9 and 10 should not be used for commercial purposes. ――11 is LTS, so updating from 8 to 11 is recommended. 11 is support until September 2026. --If you miss 11, the commercial recommended version will skip up to 17LTS. --There is also a non-Oracle JDK option --Old JDK is still available. Both Oracle JDK / OpenJDK are available.
--Proposal of planning specifications. Over 380 so far. --JSR proceeds by voting. If it is less, it will be rejected.
――We have been trying to make it transparent for several years and open our activities. --The minutes are open to the public. --The recording of the questionnaire to EC is also open to the public. --One EC. --Previously, SE / EE and ME were separated. --Efforts to increase the number of participants --Free membership added ――It is now possible to participate with an electronic signature instead of paper --Lower barriers to entry --Since Associate Seats has been added to EC, individual seats are secured. --Registration is in English. Japanese characters are garbled ... ――When registering, support in Japanese is also possible. --First, let's join from Associate! ――Until now, I wrote the specs first, but I proposed JSR387 so that it can be developed code first.
Q&A ――If you want to become a member, is there a review? --If you live in Japan, there is no examination -Is it mandatory to attend the monthly meeting? --Only EC is required to attend the meeting ――I want you to participate only in the annual election ――I want you to participate in the activities you want to participate in and freely support Java.
Material has been uploaded.
--Java 9 is already EOL. ――One year ago: Java is slow. ――The slowness of the cycle could be a weak point. --Now: Java is moving too fast ――The life cycle has become faster ――When it comes to changing the Java life cycle, it's not the essence of paying or making it free, but it's important that the update speed is faster. ――Everyone in the world is confused! ――If the life cycle becomes faster, you can follow it, but it's not easy.
--Response to security issues ――In the old days, you had to wait until it died, but recently the speed of attackers has increased. --A well-known vulnerability should not be left unattended. The patch should be applied immediately. -It is out of the question to wait until it withers. --Technical follow-up ――By continuing to update, you can follow modern. ――For that reason, it is necessary to work on microservices and test automation, which improves the target environment as a side effect. --Java is highly backward compatible, so it's unlikely that something will get stuck with the update. You can update with confidence. --There are some things like JavaFX that disappear ...
--About retesting --There is no choice but to test. ――Security risks cannot be left unattended and must be done. ――Isn't it easier to secure a budget if you plan to add functions at the time of version upgrade? —— Test automation as much as possible to minimize manual testing. --Support for peripheral libraries and frameworks --Spring 1.x is not supported from Java 9. --When the Java version goes up, the library / FW must also follow. --Depending on the version of the library / FW, the version to be used may be automatically bound. --Since support for Java 9 or later is delayed for lombok, there are some patterns that cannot be mentioned. --Support for new grammar --A sense of unity --Automatic conversion with IDE? --Mixed old and new
--JDK options - OpenJDK - OracleJDK - AdoptOpenJDK --Providing an original built OpenJDK --Sponsored by IBM, Microsoft, etc. ―― LTS for 4 years --Red Hat JDK --OpenJDK built by Red Hat ――There is no official announcement, but it seems that a reasonable LTS will be provided
--Choice -① Follow the latest -② Follow LTS -③ Do not follow ――Until now, there were only options (2) and (3), but with this change in the release model, options (1) have increased. There was no negative impact, simply more options ――The actual route is ②, but I definitely want you to try ①
There was a person in our company who said "Java is over" ahead of the story that "Java will be charged". However, I have never received support in case of trouble (fortunately), and although I may not have paid for Java, it seems that I use Java on an expensive AP server for a fee. However, all you really need is vulnerability countermeasures. The conclusion is that there is no negative effect because the vulnerability countermeasures are provided for a fee or free of charge. However, if you want to use free Java, use AdoptOpenJDK instead of OpenJDK.