The echo of 2017 has dissipated, but the Java community will still need time to digest all of Oracle's end of the...
year announcements -- from embracing OpenJDK to moving forward with six-month release cycles. Plenty of questions remain about the future, and what Oracle has in store for the JDK and the Java platform.
"I think Oracle has seen the light, recognizing that open source is a good thing," Red Hat VP of engineering Mark Little said.
Red Hat has a history of rapid software development using innovative, community-based techniques. On the Java front, Oracle has taken a similar approach, merging their commercially licensed JDK with the OpenJDK initiative, and bequeathing previously closed source features such as Java Flight Recorder and Java Mission Control to the open source community.
"Rather than compete with the community, Oracle is realizing it's better to get involved, leverage the community, do things at a faster pace and perhaps even be a bit more innovative than a single company would be," Little said.
Of course, Oracle is no stranger to community contributions. Under Oracle’s management, the Java platform may not have been as community-driven as open source projects such as Linux or Jenkins, but it hasn't been a completely one-sided affair. Oracle leads the Java Community Process (JCP) to determine which new APIs to include in the JDK, along with how APIs will evolve and be updated.
The JCP is a largely democratic process in which organizations such as IBM, Red Hat, Google and Azul are invited to take part. But despite the process's egalitarian appearance, many in the community feel Oracle has occasionally acted with a heavy hand.
Mark LittleVP of engineering, Red Hat
"Despite the fact that other vendors and other people in the community have been actively involved in defining various Java specifications over the years, there was still a single-vendor dominated perception," Little said.
Oracle doesn't just plan to embrace the OpenJDK, though, it has detailed plans to follow through with a six-month release cadence. That surprised many. Historically, Oracle has had a very hard time following through with biennial distributions.
"I'm having trouble imagining releases every six months," said Jeanne Boyarsky, software developer at CodeRanch and author of Oracle Certified Associate Java SE Programmer I Study Guide. "Oracle says the six month cadence will replace the two-year release cycle, but they've never done a two-year release cycle. They merely wanted to do a two-year cycle," she said, pointing out Java's longstanding history of delays. "It's been a three-year release cycle, so getting from that to six months in one go may be rough."
Folks are wondering how the six-month schedule will impact both creators and contributors. What exactly can be achieved in just six months? How will the six-month cadence impact the culture of the contributor community?
If a feature targeted for a given release isn't quite ready, Oracle might simply remove it from the feature list and re-target it for the following release. But will that create a lax mentality? Will developers and engineers brush these targets and milestones off, as contributors shrug their shoulders and just shift their deadlines to the next release? A daisy chain of this behavior may paradoxically result in features delayed longer than they were during the old way.
Fortunately, nothing Oracle proposed in 2017 is impossible to achieve in 2018 and beyond. But in order for the OpenJDK to be a success and for six-month release cycles to provide value, the Java community will have to get involved and get active.
"This is going to succeed or fail not because vendors are driving it," Little said. "It's going to succeed or fail because the wider community gets involved in it. If they don't get involved, if they don't put their money where their mouth is, then in some ways things may not be any better than it was under Sun and Oracle."
If one wonders, though, if the Java community has enough fortitude and wherewithal to follow through on aggressive enterprise goals, one need only look to the fast progress made to describe, develop, publish and then make available the Eclipse MicroProfile.
In less than 18 months, the open source community delivered a full-fledged platform for developing microservices, all based on the Java EE platform.
"If it's of value to the community and to vendors, then people step up and get involved," Little said.