En 2002, le noyau Linux — des milliers de contributeurs et des milliers de flux de modifications parallèles — avait adopté le logiciel propriétaire BitKeeper pour la gestion de versions. En 2005, les relations entre la communauté du noyau et l'éditeur de BitKeeper se sont dégradées, le statut gratuit de l'outil a été révoqué, et le plus grand projet logiciel collaboratif du monde s'est retrouvé privé de son outil de travail central.

Un VCS distribué conçu pour la vitesse et des milliers de branches parallèles — chaque clone est un dépôt complet, pensé à l'image des structures de données du noyau lui-même.

Torvalds a écrit lui-même la première version : le commit initial a été déposé le 7 avril 2005, avec le message « Initial revision of "git", the information manager from hell » — une poignée de fichiers C exposant sept commandes. Les objectifs de conception, tirés des leçons de BitKeeper, étaient la vitesse, une conception simple, un fort soutien au développement non linéaire et une distribution complète. Le 26 juillet 2005, il en a confié la maintenance à Junio Hamano, et Git 1.0 est sorti le 21 décembre 2005.

Git est devenu le système de gestion de versions que la plupart des développeurs utilisent : en 2022, près de 95 % des développeurs le déclaraient comme leur VCS principal, et les grandes forges logicielles — GitHub, GitLab, Bitbucket — sont construites autour de lui. Un outil interne écrit pour le flux de travail d'un seul projet est devenu le socle du développement logiciel collaboratif dans le monde entier.

Le noyau Linux est développé par des milliers de contributeurs réalisant des milliers de modifications parallèles, ce qui rend la gestion de versions exceptionnellement difficile. En 2002, le projet a adopté BitKeeper, un système distribué propriétaire dont l'éditeur autorisait l'usage gratuit. En 2005, cette relation s'est dégradée et le statut gratuit a été révoqué, et la communauté du noyau — Linus Torvalds au premier chef — a dû remplacer l'outil qui contenait tout son travail.

La réponse de Torvalds a été d'écrire lui-même le remplaçant. Le premier commit, le 7 avril 2005, s'annonce avec un clin d'œil : « Initial revision of "git", the information manager from hell. » C'était un petit ensemble de fichiers C exposant sept commandes de bas niveau, bâti autour des mêmes idées que le noyau : la vitesse avant tout, une conception simple, un branchement bon marché pour le développement non linéaire, et une distribution complète afin que chaque copie du dépôt porte l'historique entier.

Il a rapidement cessé d'être un outil privé. Junio Hamano a rejoint le projet en quelques semaines et a repris la maintenance le 26 juillet 2005 — Torvalds n'avait jamais eu l'intention de s'en occuper éternellement — et Git 1.0 est sorti le 21 décembre 2005. À partir de là, il s'est entièrement émancipé du noyau : en 2022, près de 95 % des développeurs déclaraient Git comme leur système de gestion de versions principal, et les forges qui organisent l'open source moderne, GitHub et GitLab entre autres, sont au fond des services Git.

Il a traité la gestion de versions comme un problème de performance : la vitesse était l'objectif numéro un, car un outil pour lequel on attend est un outil que l'on contourne.

La distribution complète signifiait que chaque développeur portait tout l'historique — aucun point unique de défaillance et aucune barrière d'autorisation entre une idée et une expérimentation locale.

Le branchement était une opération de premier ordre plutôt qu'un effet secondaire coûteux, si bien que les lignes de travail parallèles sont devenues le moyen bon marché et normal d'essayer des choses.

Il a été conçu contre la charge de travail réelle la plus difficile disponible — l'échelle du noyau — plutôt que contre une moyenne du marché, ce qui explique précisément pourquoi il s'est si bien généralisé.

Perdre un outil dont vous dépendez peut être un cadeau. Torvalds a conçu pour son propre cas le plus difficile — un historique énorme, des milliers de branches parallèles — et une conception qui convient au cas le plus difficile tend à convenir à tout le monde.

Junio Hamano est le mainteneur de Git depuis cette passation de juillet 2005, Torvalds continuant d'y contribuer. Vingt ans plus tard, la rétrospective de GitLab de 2025 sur le premier commit qualifie la phrase « information manager from hell » pour ce qu'elle est — la blague fondatrice d'une couche d'infrastructure par laquelle passe désormais presque tout le logiciel. BitKeeper lui-même a été open-sourcé en 2016 et n'est plus qu'une note de bas de page ; Git est la référence par défaut. La réponse à la crise du projet noyau s'est révélée être, à en juger par son adoption, l'outil interne le plus réussi jamais construit.

VÉRIFIEZ LES SOURCES

Les sources

  1. A Short History of Git Pro Git book (git-scm.com) · git-scm.com
  2. A journey through Git's 20 year history GitLab blog · about.gitlab.com ·
  3. Git Wikipedia · en.wikipedia.org