All aboard the GitHub train

OpenJFX to follow Java and migrate to GitHub

Chris Stewart
© Shutterstock / Andrii Yalanskyi

OpenJFX is currently hosted on Mercurial, but with Project Skara in the pipeline and JavaFX already partially on GitHub, Kevin Rushforth thinks it’s time to talk about moving OpenJFX there as well. It couldn’t have come at a better time because Bitbucket announced this week that they are shutting down Mercurial for good next summer.

On Tuesday, August 20th, OpenJFX project lead Kevin Rushforth submitted a proposal to migrate OpenJFX to GitHub.

He cites Project Skara and its proposed JEP (JEP 357) as his motivation for putting this idea forward. JEP 357 wants to migrate all single-repository OpenJDK projects from Mercurial to Git.

Rushforth’s proposal suggests that OpenJFX be an “early adopter” in the Git transition, and he justifies his position further by saying that “since a large percentage of the JavaFX code reviews are already happening on GitHub as pull requests against the javafxports/openjdk-jfx (sandbox) mirror, the OpenJFX project would be a natural fit for this.”

OpenJFX would also benefit from the available Project Skara tooling, which has been available on GitHub for two months now. For now the tools will help reduce some of the steps currently required – for example they would automate the RFR email – but they will eventually automate even more tasks than right now.

There could be some teething problems if the migration does take place while users acclimatize themselves to GitHub, but even in the unlikely event the proposal does get shot down, they will have to find a new home for OpenJFX by June 1, 2020.

Putting Mercurial out to pasture

The pressure is on to find and agree on an alternative SCM, not just for OpenJFX, but for Java in general. On Tuesday, August 20 Bitbucket announced they were sunsetting Mercurial support. What does that mean? Well, for starters it means that as of February 1, 2020, it will no longer be possible to create new Mercurial repositories, but most importantly it means that all Mercurial features and repositories will be officially removed from Bitbucket and its API on June 1, 2020.

In a StackOverflow survey cited by Bitbucket, Mercurial is the least-popular SCM tool among polled developers, with only 3% using it, against the 90% who use GitHub. Furthermore, they state that only 1% of new Bitbucket users choose Mercurial. Denise Chan, Senior Product Marketing Manager said, “this deprecation will enable us to focus on building the best possible experience for our users.”

The announcement has drawn some criticism from the community, as those who still use Mercurial are either deeply locked in or making a conscious choice not to use GitHub. Thankfully, the repos that will be removed on June 1, 2020 will not simply vanish from the internet; Software Heritage seems to have taken care of that.

SEE ALSO: JEP drafts – removing Concurrent Mark Sweep garbage collector & ZGC support for macOS

Java’s new home

So the fallout of this decision is that the Project Skara process, along with all other Mercurial-hosted Java projects, now have a fixed timeline for when they need to have found a new home. JEP 357 this new proposal look set to unite OpenJFX with JavaFX and the JDKs on GitHub.

If you’d like to read more about this topic, we ran a short interview series last year asking whether Java 12 should stay on Mercurial or move to Git. We interviewed Java Champion Stephen ColebourneOpenJDK Author Patrick Reinhart, and Thomas Stüfe, senior developer at SAP.

Chris Stewart
Chris Stewart is an Online Editor for He studied French at Somerville College, Oxford before moving to Germany in 2011. He speaks too many languages, writes a blog, and dabbles in card tricks.

Inline Feedbacks
View all comments