chris - Fotolia
Oracle has moved the OpenJDK repository from the Mercurial version control system over to Git and GitHub in an effort to reach more enterprise and open source developers.
The move is part of an effort known as Project Skara, which the OpenJDK website describes as an effort to "investigate alternative SCM [source code management] and code review options for the JDK [Java Development Kit] source code, including options based upon Git rather than Mercurial."
Work on Project Skara has been going on for a couple of years. The project -- and OpenJDK's move to GitHub -- is related to Java 16, which will come six months after Java 15, set for release next week. Project Skara spawned JDK Enhancement Proposal (JEP) 357, which calls for moving all OpenJDK source code libraries to Git from Mercurial. JEP 369 specifies GitHub as the hosting platform.
"The Skara project has done a bunch of work, looking at the tooling and the workflow and making sure that the way that we work in OpenJDK is supported on GitHub," said Georges Saab, vice president of development in the Java Platform Group at Oracle.
Riding the developer momentum wave
Earlier this month, Oracle moved the main line of JDK 16 from Mercurial to Git and GitHub, Saab said.
Sun Microsystems, which owned Java before being acquired by Oracle in 2009, decided to use Mercurial as the version control system for the JDK in 2006.
"Mercurial is a better-designed source control system, so the Java team decided to standardize on it," said Cameron Purdy, CEO of Xqiz.it in Lexington, Mass., and former senior vice president of development at Oracle.
However, "they realized, eventually, that it made no sense to go against the developer tide, so they're switching to Git," he added.
Indeed, although the right decision may have been made to go with Mercurial in 2006, in 2020 all the developer momentum -- particularly among those who favor open-source -- is around Git and GitHub.
"In a nutshell, this move brings Oracle into alignment with the enterprise and open source developer ecosystems, which have unanimously declared Git to be the platform of choice for managing collaborative software projects," said Brad Shimmin, an analyst at Omdia in Longmeadow, Mass. "So far, Microsoft's stewardship of Git has been solid with investments in areas like cloud-native development tooling picking up steam, for instance."
Moving OpenJDK to GitHub could be a step in the right direction for the Java SE platform community, as GitHub is the leading developer infrastructure and hosting the projects there should result in greater participation and more contributions.
The move also adds heft to Oracle's partnership with Microsoft, which owns GitHub. Last year, the companies teamed up on a dedicated interconnect between Oracle Cloud Infrastructure and Microsoft Azure, saying they wanted to serve their many joint customers better.
Still, Oracle is hedging its bets by making sure the tooling it is using for GitHub also works on GitLab, a competing Git-based repository.
Meanwhile, OpenJDK is not adopting all of the GitHub infrastructure such as issue tracking and its wiki, said Mike Milinkovich, executive director of the Eclipse Foundation.
"But more importantly, the complexity of contributing to OpenJDK remains high because Oracle's current workflows, legal requirements and developer permission models are being retrofitted on top of GitHub," he said. "Time will tell whether use of GitHub will achieve greater levels of community contribution in OpenJDK."
Oracle certainly hopes so.
"Open source, more and more, is about removing obstacles," Purdy said. "By switching to Git, the Java team is removing an unnecessary obstacle for the vast majority of developers."
Breaking barriers to entry
In addition to the momentum around Git and GitHub, the tooling for the platform is now more mature and likely to be more familiar to developers, particularly new developers, who come to the industry with Git experience.
Georges SaabVice president of development, Java Platform Group, Oracle
Indeed, new developers are much more likely to know and be familiar with Git, Saab said.
"It removes a potential barrier to entry for more developers who could join in contributing to OpenJDK," he said. In the past, new developers would face not only the learning curve of OpenJDK but also having to learn a completely different source code management system, Saab said.
Moreover, Git has found its way into key enterprise use cases such as operational machine learning, Shimmin said.
"Oracle's move to this platform, therefore, will greatly help Java remain relevant with the developer communities -- such as AI and beyond -- that it relies on for that relevancy," he said. "In other words, it's a win-win-win for Oracle, for Java and for developers."