Java License Fallout Continues Impacting IBM i Shops
October 23, 2019 Alex Woodie
Oracle’s decision to restrict the previously free distribution of Java version 8 tools and runtimes is impacting the entire IT industry. In our little neck of the woods, the decision to charge businesses for using Oracle’s Java has forced IBM i shops to take a hard look at the technology platform, and in some cases look for alternative solutions.
Oracle ruffled feathers in the Java community in 2017, when it made substantial changes to its Java roadmap. The company announced that Java Standard Edition (SE) version 8, which is a legacy version of Java but is still in widespread use, “will not be available for business, commercial or production use without a commercial license” after January 2019. Licenses for Java SE 8 could be purchased for $30 per desktop per year or $300 per processor for server licenses.
Oracle’s stated plan for the move was to accelerate the development and release cycle for Java in a bid to keep up today’s fast-paced DevOps environments (and perhaps part of its unstated plan, which was to squeeze Java users for revenue). The tech giant and the Java community hammered out Java SE versions 9 and 10 in quick fashion, in late 2017 and early 2018, respectively.
The delivery of Java SE 11 in September 2018 provided the next long term release (LTR) that customers could count on being around for years, just as Java SE 8 is an LTR. Support for Java SE 11 has still not been brought to IBM i, thanks in part to big changes that the new version will bring to IBM i users and the possibility that it will break applications, according to IBM i open source guru Jesse Gorzinski.
It’s doubtful that many IBM i shops have made the move to Java SE 11 on the desktop. But if they have, the situation is similar to Java SE 8. According to this Oracle FAQ, Oracle is sponsoring OpenJDK for Java SE 11 under the GPL open-source license. Java SE 11 essentially is an Oracle version of the OpenJDK – but one that comes with professional support and a fee.
The Java situation presents a dilemma for IBM and its enterprise customers running IBM i, AIX, Linux, and z/OS. IBM uses Java extensively in its enterprise platforms, and ships a number of Java-based products with each enterprise server. The third-party software community also relies heavily on Java, which is intertwined into enterprise software in ways no other technology is.
The tech firm Forrester analyzed the situation earlier this year and came up with a few good pointers. First, it observed that Oracle’s tactics is putting pressure on the OpenJDK community, of which IBM is a major sponsor. “As Java transitions to a community-based model, it necessarily requires more active participation from companies beside Oracle,” it says. “Software companies like Amazon, Azul, IBM, and Red Hat are stepping up . . .”
Forrester also recommends users conduct an audit of Java usage to assess the extent to which Java is relied upon, and highlight Java dependencies. If Java is omnipresent, Forrester advises users pay Oracle the license fees – which could be millions of dollars for a large firm – with an eye toward easing off Java with strategic products in the future.
Java is heavily used in client and server components of enterprise applications, which makes the situation doubly painful. For IBM i shops, the Access Client Solutions (ACS) product is of particular concern, since it is the strategic replacement for older IBM i clients, including Access for Windows, Access for Web, and Access for Linux. ACS, of course, is based entirely on Java.
IBM has addressed the changes to Oracle’s Java licensing (see here and here), and we covered it in an April story. IBM’s recommended path is to use OpenJDK, which IBM assures customers will work with ACS.
There are two main OpenJDK distributions that IBM recommends, including the OpenJ9 JVM from AdoptOpenJDK and the HotSpot distribution from the OpenJDK organization. IBM is working with both of these distributions, the company says, and both will be maintained for the long term.
IBM i shops can lean on the open source community for support and patches to security flaws. Or they can choose one of two “IBM Runtimes for Business” support offerings, including 5737-F61 and 5737-J49.
Presented with Oracle’s heavy-handed approach, some IBM i shops are vowing to go Java free throughout their organization. This is a tough route to go, especially with IBM’s continued devotion to Java, as well as its decision to stop developing Windows-specific distributions of the client. Access for Windows was put on life support a few years back, and while it supports Windows 7, it is not supported on Windows 10. With Windows 7 going out of support in January 2020, that puts Access for Windows devotees in a bind.
Companies going “Java clean” will need a Java audit that can automatically detect any instances of Java running throughout a company’s network. There are various such tools available on the market, including one from Oracle that you can pay for.
However, the ubiquity of the Java platform poses difficulties for those trying to stay true to their “no Java” pledge. Some IBM i shops, in attempt to avoid Java, have attempted to install ACS on the IBM i server and use the IFS to provide users with access to ACS from client workstations.
Tim Rowe, IBM’s business architect for application development and systems management for IBM i, said that while ACS runs on Java, Java does not have to be installed on a Windows PC to use it.
“If I’m on a Windows machine, I don’t need Java with ACS,” he tells IT Jungle. “I can have it packaged with ACS and have it on the network share. It will launch.”
The anti-Java trend also could be a boon to software vendors who develop proprietary client interfaces for IBM i servers. The Danish firm Mochasoft provides a TN5250 environment for a variety of client devices, including desktops, phones, and tablets. There is Rocket Software‘s BlueZone emulator, and Red Oak‘s Legacy Integrator, which features “100% Java.”
The British software giant Micro Focus offers an array of host connectivity options for 5250 access, ranging from RUMBA to Reflection to Extra! Then of course there’s Micro Focus’ Host Access for the Web, which features “no Java in sight,” the vendor says on its website.
We’d be remiss if we didn’t mention Trilosoft, which continues to develop the old Synapse IP Client code that was originally created by Joe Frank. Frank, of course, was the IBM system engineer who developed the first 5250 emulator for a PC the S/38 back in 1980. IBM didn’t think their midrange server had any business connecting to “toys,” so Frank went off and created the terminal emulator.
ASNA, which had an interesting blog post on Frank a few years ago, is also selling Browser Terminal (BTerm), a browser-based 5250 emulator terminal emulator. In a nod to the fact that green screens will likely never go away, CNX just added a 5250 emulator to its Valence suite.
Java is clearly not dead on the platform. But Oracle’s decision to restrict access to Java is definitely putting a crimp in IBM i shops’ plans, particularly when it comes to ACS.
RELATED STORIES
IBM Clarifies Java Options Following Oracle License Crackdown
For those folks looking for the easiest path forward using the OpenJDK placing the Java JRE folder next to the acslaunch program is quite simple and works well. As Alex mentioned, this link gets more into the details and other options. https://www.ibm.com/support/pages/java-options-ibm-i-access-client-solutions
With its 20 years experience in promoting and developing Java and with 10 years leading development of OpenJDK, IBM can’t make OpenJDK available on IBM i? Something smells fishy.