Le blog du projet WebKit annonce une transition importante : le moteur de rendu web d’Apple, utilisé notamment par Safari, adopte pleinement l’outil Git pour le suivi des versions et le service GitHub pour héberger son code source. Jusque-là, le projet utilisait Subversion (svn pour les intimes), un logiciel de suivi de version créé en 2000, en guise de source principale, même si le code était déjà dupliqué sur GitHub en guise de sauvegarde.
Apparu en 2005, Git n’existait même pas quand Apple s’est lancée dans la création d’un moteur de rendu web, en juin 2001. Subversion était à l’époque un choix logique, mais en matière de suivi de version, Git s’est imposée comme la référence, ce qui justifie en grande partie le choix de faire cette transition. Les développeurs de WebKit avaient déjà tendance à utiliser la copie stockée sur GitHub pour travailler au lieu de partir de la version originale stockée sur le serveur Subversion, ce qui a certainement contribué à la décision.
Git présente un autre avantage : c’est un outil de suivi de version distribué, où chaque serveur et client a l’intégralité des données. Cela apporte plusieurs gros bénéfices pratiques, comme la possibilité de passer rapidement d’une branche à l’autre, ou de remonter le temps facilement, sans avoir à solliciter le serveur à chaque fois. En contrepartie, les identifiants uniques associés aux commits (modifications du code) sont aléatoires et non plus séquentiels comme avec svn, ce qui a nécessité quelques ajustements.
Quant à GitHub, c’est aussi le choix par défaut pour l’écrasante majorité des développeurs. Le service géré par Microsoft est utilisé par la plus grande communauté de développeurs et c’est la plateforme de prédilection pour un projet open-source, justifie l’article de blog qui met aussi en avant l’API complète de GitHub, bien utile pour les tâches d’automatisation liées à WebKit.
Le moteur de rendu web d’Apple est ouvert et tout le monde peut participer, même s’il ne faut pas se faire trop d’illusion si vous voulez le mener dans une direction qui ne convient pas à l’entreprise. C’est d’ailleurs sans doute en partie pourquoi Google a fini par abandonner WebKit au profit de son propre moteur de rendu, un fork (clone), avec Blink.