Site iconJava PDF Blog

What is Skara (and why does it matter)?

Git logo

This month we are focusing on OpenJDK projects you should know about. In this post, we will be covering Project Skara. In other posts we cover Valhalla, Panama, Loom and Amber.

Project Skara is one of the official OpenJDK projects for developing Java. But is unusual in that it is not about adding new features but changing the way Developers can access the source code for Java.

You can currently download the source code for Java and compile it yourself from a Mercurial repository. It has been on Mercurial since 2008. This allows you to not only access the current source files, but to view the history of all the files (with comments). Version control also allows multiple users to work on the same code base co-cooperatively and add changes to it. It handles all the messy stuff of versions, merging changes and conflicts.

The reason for changing from Mercurial to Git is that Git is now by far the most popular system out there and many developers are very familiar with it. While Mercurial is arguably not technically inferior to Git, its use has dropped dramatically. Part of the attraction of Git is that you can easily host and access code on GitHub. Git and Github have substantially driven out other alternatives like Mercurial and hosting solutions such as Sourceforge. Even Google has closed down its competing offering.

So if you are trying to make it as easy as possible for developers to get involved in developing Java, it makes sense to make it as easy as possible. And that means being in Git and on GitHub.

So project Skara means that there is now a repository for the next version (Java 12) on GitHub. If you look closely, you will see this is actually a mirror of the JDK Mercurial repository.

So Oracle has dipped its toe in to see if moving to Git and GitHub makes sense. Should it take the plunge?