Java : Oracle migre OpenJDK vers Git et GitHub

Alors que Git et GitHub gagnent du terrain auprès d’une majorité de développeurs, Oracle a déplacé le dépôt OpenJDK vers le système de gestion de code source Git et la plateforme d’hébergement GitHub.

Oracle a migré le dépôt OpenJDK du système de contrôle de version Mercurial vers Git et GitHub. Ce transfert s’inscrit au sein d’un projet baptisé « Project Skara », que les responsables de l’OpenJDK décrivent sur leur site Web comme un effort pour « étudier des options alternatives de SCM [gestion du code source] et de révision de code pour le code source du JDK [Java Development Kit], y compris des options basées sur Git plutôt que sur Mercurial ».

Cette initiative se poursuit depuis quelques années. Le projet – et la migration du JDK vers GitHub – est lié à Java 16, disponible cette semaine, six mois après la release de Java 15. Le projet Skara est à l’origine de la proposition d’amélioration du JDK (JEP) 357. Celle-ci demande la migration de toutes les bibliothèques de code source d’OpenJDK vers Git, à partir de Mercurial. La proposition JEP 369 stipule que GitHub est la plateforme d’hébergement choisie.

« Le projet Skara a permis d’effectuer un travail considérable, en examinant l’outillage et le flux de travail et en s’assurant que la façon dont nous travaillons avec OpenJDK est supportée par GitHub », assure Georges Saab, vice-président du développement du Java Platform Group chez Oracle.

Surfer sur la vague Git

Au début de ce mois, Oracle a déplacé la branche principale du JDK 16 de Mercurial vers Git et GitHub, selon Georges Saab.

Sun Microsystems, qui possédait Java avant d’être racheté par Oracle en 2009, a décidé d’utiliser Mercurial comme SCM pour le JDK en 2006.

« Mercurial est un système de contrôle de version efficace, l’équipe Java a donc décidé de le standardiser », explique Cameron Purdy, PDG de Xqiz.it à Lexington, dans le Massachusetts, et ancien vice-président senior du développement chez Oracle.

Cependant, « ils ont finalement réalisé que cela n’avait pas de sens d’aller à contre-courant des développeurs, alors ils sont passés à Git », ajoute-t-il.

En effet, bien que le fait d’adopter Mercurial était la bonne décision pour Oracle en 2006, en 2020 toute la dynamique des développeurs – en particulier parmi ceux qui sont en faveur de l’open source – tourne autour de Git et GitHub.

« Cette décision aligne Oracle sur les écosystèmes des entreprises et des développeurs open source, qui ont déclaré que Git était la plateforme de choix pour la gestion des projets de logiciels collaboratifs. »
Brad ShimminAnalyste, Omdia

« En bref, cette décision aligne Oracle sur les écosystèmes des entreprises et des développeurs open source, qui ont unanimement déclaré que Git était la plateforme de choix pour la gestion des projets de logiciels collaboratifs », estime Brad Shimmin, analyste chez Omdia à Longmeadow, Massachusetts. « Jusqu’à présent, la gestion de Git par Microsoft est solide, avec des investissements dans des domaines comme les outils de développement cloud natifs, par exemple ».

Le transfert d’OpenJDK vers GitHub pourrait être un pas dans la bonne direction pour la communauté de la plateforme Java SE, car GitHub est la principale infrastructure de développement et l’hébergement des projets qui y sont réalisés devrait se traduire par une plus grande participation et davantage de contributions.

Cette décision renforce également le partenariat d’Oracle avec Microsoft, propriétaire de GitHub. L’année dernière, les entreprises ont présenté une interconnexion dédiée entre Oracle Cloud Infrastructure et Microsoft Azure, en disant qu’elles voulaient mieux servir leurs nombreux clients communs.

Cependant, Oracle couvre ses arrières en s’assurant que l’outil qu’il utilise pour GitHub fonctionne également sur GitLab, un référentiel concurrent basé sur Git.

En attendant, OpenJDK n’adopte pas toute l’infrastructure de GitHub, comme le suivi des problèmes et son wiki, note Mike Milinkovich, directeur général de la Fondation Eclipse, qui, elle, a entamé sa migration vers l’Europe et la création d’une Forge sur Gitlab.

« Mais plus important encore, la complexité de la contribution à OpenJDK reste élevée parce que les flux de travail actuels d’Oracle, les exigences légales et les modèles de permission des développeurs sont en train d’être mis à jour sur GitHub », ajoute-t-il. « Le temps nous dira si l’utilisation de GitHub permettra d’atteindre des niveaux plus élevés de contribution communautaire dans OpenJDK ».

Oracle l’espère certainement.

« L’open source consiste maintenant à supprimer les obstacles », indique Cameron Purdy. « En passant à Git, l’équipe Java supprime un obstacle inutile pour la grande majorité des développeurs ».

Briser les barrières à l’entrée

En plus de l’élan autour de Git, la chaîne d’outils disponibles dans GitHub gagne en maturité. Les développeurs juniors ont plus de chance d’être familiers avec cet environnement de développement, selon les responsables chez Oracle.

« Cela élimine une barrière potentielle à l’entrée pour des développeurs qui souhaiteraient contribuer à OpenJDK. »
Georges SaabVP développement du Java Platform Group, Oracle.

Les nouveaux développeurs sont beaucoup plus susceptibles de connaître et d’utiliser Git, selon Georges Saab.

« Cela élimine une barrière potentielle à l’entrée pour des développeurs qui souhaiteraient contribuer à OpenJDK », considère-t-il. « Par le passé, les nouveaux développeurs devaient non seulement apprendre à utiliser OpenJDK, mais aussi apprendre un système de gestion du code source complètement différent », reconnaît-il.

De plus, Git a trouvé sa place dans des cas d’usage clé en entreprise, comme le déploiement de modèles de machine learning en production, selon Brad Shimmin.

« Le passage d’Oracle à cette plateforme aidera donc grandement Java à rester pertinent auprès des communautés de développeurs », prédit-il. « En d’autres termes, c’est un choix gagnant-gagnant pour Oracle, pour Java et pour les développeurs ».

Pour approfondir sur Open Source