Apple Joins Oracle, IBM on OpenJDK
Apple announced on Friday plans to work with Oracle on the OpenJDK project to provide a Java SE 7 implementation on Mac OS X.
According to a joint announcement from the two companies, Apple will contribute "most of the key components, tools, and technology required" for that implementation, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack, and the foundation for a new graphical client.
"OpenJDK will make Apple’s Java technology available to open source developers so they can access and contribute to the effort," the companies said.
OpenJDK is the free, open source implementation of the Java Standard Edition (Java SE) specification, licensed under the GNU General Public License (GPL) with a linking exception. (The GPL linking exception exempts components of the Java class library from the GPL licensing terms.)
Apple also confirmed that Java SE 6 will continue to be available for Mac OS X Snow Leopard and the upcoming release of Mac OS X Lion. Java SE 7 and future versions of Java for Mac OS X will be available from Oracle.
Apple is the second big tech industry player to support Oracle's plan to make OpenJDK what Hasan Rizvi, SVP for Oracle Fusion Middleware and Java, called "the premiere location for open source Java development." On October 11, IBM announced plans to work with Oracle on OpenJDK "to improve the rate and pace of innovation" in the Java community.
"Combined with last month’s announcement of IBM joining the OpenJDK, the project now has the backing of three of the biggest names in software," Rizvi said in a statement. He also gave a pointed shout out to Java jocks: "The Java developer community can rest assured that the leading edge Java environment will continue to be available on Mac OS X in the future."
Assured, and maybe a bit confused. The announcement came on the heels of Apple's decision just over two weeks ago to deprecate the Java runtime ported by Apple to Mac OS X. "Deprecating" the custom-ported Java packages for the Mac leaves them in place, but without support, and with a strong recommendation for developers to avoid them.
Oracle's Henrik Ståhl, who is responsible for product strategy in the Java Platform Group at Oracle and lists himself as an official spokesperson for Oracle on Java SE, almost apologized for his company's silence on the deprecation matter in a blog post.
"I understand that the uncertainty since Apple's widely circulated 'deprecation' of Java has been frustrating," he wrote, "but due to the nature of these things we have neither wanted to or been able to communicate before. That is as it is, I'm afraid."
The reasons for Apple's ostensible U-turn were not readily apparent on the day of the announcement -- neither Apple nor Oracle returned repeated calls for comment -- but Forrester analyst John R. Rymer suspects that the company simply couldn't afford to abandon such a large population of developers.
"The Java development community is huge," Rymer said. "Ignoring them would have been bad for business, long term. It also probably made economic sense to participate in the OpenJDK project that everybody is lining up to get behind, and to which Apple can now contribute. It frees them from having to build it all themselves. Building system software and maintaining it is really hard and expensive. Why not get on the OpenJDK bandwagon?"
The addition of Apple to the lineup of OpenJDK supporters is definitely good news for Java developers, said IDC analyst Al Hilwa.
"It means that Java will continue to be available on the Mac and that Apple and Oracle will collaborate on it," Hilwa said, "which is about as good a situation as developers are likely to get. Oracle has done all the right things, getting key software players behind OpenJDK, which it is trying to emphasize as the main path for the evolution of Java. But this announcement says nothing about whether Java will ever come to iOS. I happen to think that such a development, while seemingly unlikely, might happen as the smartphone market gets even more competitive and platform owners look for every angle to attract developers."
Gartner analyst Massimo Pezzini agrees that this is good news for codederos, but adds that, even with Apple and IBM onboard, Oracle has yet to earn the full trust of Java developer community.
"There was a risk of fragmentation in the Java community driven by concerns about its future now that it is in the hands of Oracle," Pezzini said. "That risk is not fully over -- remember Oracle's lawsuit against Google -- but IBM's and Apple's commitment to OpenJDK seems to indicate that a fragmentation is less likely now." It doesn't hurt that IBM is no longer a strong supporter of the Apache Harmony project, Pezzini added.
Among those with demonstrably little faith in Oracle's stewardship is the Apache Software Foundation (ASF), which last week threatened to quit its position on the Executive Committee of the Java Community Process if Oracle continues to offer that group a license on the test kit for Java SE (TCK) that "imposes additional terms and conditions that are not compatible with open source or Free software licenses." Harmony is a free and open source implementation of Java SE, and the ASF needs the TCK to demonstrate the compatibility of the Apache Harmony project with the Java spec.
"Java went through a period of malaise under Sun," Rymer added. "Now Oracle is consolidating the community, getting a roadmap together, herding the cats, and pulling it all together. The results should be largely positive. The only people who are really not part of it are over at Google. They bet on Harmony, but they should have bet on OpenJDK."
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].