As InfoQ previously reported, the AdoptOpenJDK project has recently announced that its build farm is now fully operational and is producing community OpenJDK binaries as free software.
InfoQ recently sat down again with Martijn Verburg, leader of the London Java Community, co-founder of AdoptOpenJDK and CEO of jClarity to discuss several topics: the overall aim of the AdoptOpenJDK build farm and early feature builds; his thoughts on Nestmates and Java 11; and the 2018 plans for AdoptOpenJDK and how developers can get involved.
InfoQ: Could you briefly introduce yourself, your role on the AdoptOpenJDK project, and the overall mission of AdoptOpenJDK?
Martijn Verburg: I'm Martijn Verburg (aka "The Diabolical Developer") who's currently the CEO of jClarity and leads various Java ecosystem initiatives including AdoptOpenJDK. At AdoptOpenJDK, I'm one of the team members that's setting out the strategic vision of the AdoptOpenJDK build farm and guiding the nearly 300 volunteers towards the build farm's common goals. I also put in some technical work around build scripts and documentation, kindly guided by engineers who are far more capable than me!
AdoptOpenJDK started as an advocacy and onboarding programme for OpenJDK (the OSS project behind Java itself) and still fulfils that role. However, it has more recently focused its efforts on providing a long-term stable build platform for OpenJDK (as well as producing professionally tested Java binaries).
InfoQ: AdoptOpenJDK has a build farm that is fully operational and is producing community OpenJDK binaries as free software. What is the overall aim of the build farm?
Verburg: The overall aim is to give the ecosystem of millions of Java developers continued access to professionally tested Java binaries with a free Long Term Service (LTS) plan of at least 4 years. This will ensure that Java developers can continue to develop on Java without concerns over licensing or long-term support. Organisations that want the extra comfort of commercial support can still do so via vendors like Oracle, IBM, Azul, Red Hat et al.
Another strong goal is that we want Java to remain in fulfilling its Write Once Run Anywhere (WORA) promise for platforms beyond just the mainstream of Linux x86, Mac OS X, and Windows. So, we provide build scripts and build nodes to support platforms like zOS, AIX, Linux z390, ARM 32 and 64 etc.Last but not least, we want to support OpenJDK development itself by building Early Access (EA) builds for experimental projects like Valhalla and Amber.
The AdoptOpenJDK About page has further details.
InfoQ: Can you talk to us about the "OpenJDK amber with Hotspot" build and the specific features contained like raw string literals, etc.? Can developers expect any other new Project Amber features/builds soon, such as Switch Expressions, Lambda Leftovers, etc.?
Verburg: The raw-string-literals branch in project amber is an early implementation of JEP 326. We are building it for the 3 main platforms so that developers can try it out early and give the OpenJDK team early feedback.
We'll be adding the other branches with the other features you mention shortly as well!
InfoQ: What are your thoughts on the proposed changes to the Java Virtual Machine Specification to allow access to private class members from related "nestmate" classes?
Verburg: It's a small but good enhancement for Java both in terms of security and reducing confusion. Currently, the JVM has to create bridges in order for classes declared in the same file to have shared access control. To quote the JEP, "These bridges subvert encapsulation, slightly increase the size of a deployed application, and can confuse users and tools!" There's a lot of these small internal JEPs that need to be completed in order to make large work like Value Types possible.
I'm always happy to see items like this go in as it increases security and crucially gives the OpenJDK team some extra data points and knowledge to work on the bigger, harder problems.
InfoQ: What is your view on Java 11? What does it bring to developers?
Verburg: Some really significant changes here including but not limited to:
- Improved performance on Aarch64 (ARM 64) - great for that fast-growing platform!
- The early release of ZGC Garbage Collector for low latency behaviour on really large heaps, similar to what Azul's commercial Zing JVM does today.
- The removal of Java EE and CORBA modules (developers will need to replace these with their 3rd party lib equivalent in their build tools).
- A new HTTP2 client which was long overdue! I can see 3rd party WebSocket and HTTP libraries also building on top of this.
- Flight Recorder is open sourced and can be used in production with no restrictions. This is a huge benefit to performance monitoring the JVM!
There are several additional changes planned for the Java 11 release.
InfoQ: What are the plans for the AdoptOpenJDK project in 2018?
Verburg: To have professionally tested and TCK'd Java 8 and 11 binaries made available on all major and most minor platforms with an LTS policy of 4 years.
InfoQ: Thanks for taking time to speak to us today. Is there anything else you would like to share with the InfoQ readers? What is the best way to get involved with the AdoptOpenJDK project?
Verburg: I believe that the build farm is an important cornerstone with regards to the long-term viability of Java. It is also a really good place to pick up skills around a modern build, test and deployment environment, it's really good for your career! The best way to join is via the Slack Channel - we have nearly 300 volunteers signed up and there are hives of activity on everything from low-level shell scripting to website design, documentation, marketing and advocacy and much, much more.
Additional information on Nestmates and AdoptOpenJDK can be found on InfoQ:
Readers can also keep up to date with all Java-related news by visiting the InfoQ Java homepage.