Git
En 2005, Linus Torvalds se retrouve dans une situation embarrassante. BitKeeper, le système de gestion de versions que la communauté Linux utilise depuis des années, n'est plus accessible gratuitement aux développeurs du noyau. L'histoire commence avec Andrew Tridgell, un développeur respecté, qui décide d'étudier le protocole de BitKeeper par rétro-ingénierie. Larry McVoy, le créateur de BitKeeper, considère cette démarche comme une violation des conditions d'utilisation et révoque la licence gratuite accordée aux développeurs Linux.
Torvalds tente une médiation pendant quelques semaines, sans résultat. Face à ce blocage, il doit trouver une alternative. Il examine les systèmes existants mais aucun ne le satisfait. Lui qui considérait les gestionnaires de versions comme l'un des domaines les moins intéressants de l'informatique, juste après les bases de données, se lance dans la création de son propre outil. Son expérience avec BitKeeper lui a au moins appris une chose : les avantages d'un système distribué où chaque développeur possède une copie locale du dépôt.
Torvalds disparaît alors pendant une semaine. Quand il refait surface, il présente la première version de Git. Le développement initial progresse à une vitesse remarquable. En dix jours, Git est capable de gérer son propre code source. Cette rapidité ne vient pas d'une quantité massive de code écrit, mais d'une réflexion approfondie sur l'organisation des données. Torvalds a conçu une architecture qui privilégie la simplicité conceptuelle et la performance.
Le système repose sur plusieurs choix techniques. Chaque développeur dispose d'une copie complète du dépôt, ce qui élimine la dépendance à un serveur central et résout les problèmes d'accès en écriture. Git utilise un hachage cryptographique SHA-1 pour identifier les objets dans le dépôt. Cette approche garantit l'intégrité du code et rend impossible toute modification de l'historique sans que cela soit détecté.
La gestion des branches et des fusions constitue l'une des grandes innovations de Git. Ces opérations, réputées complexes dans les systèmes précédents, sont simples et rapides. Torvalds réalise parfois des dizaines de fusions par jour durant les périodes intenses de développement du noyau Linux. Cette fluidité transforme la manière de travailler des développeurs.
Quelques mois après sa création, Torvalds confie la maintenance de Git à Junio Hamano. Il reconnaît en lui un développeur doté d'un excellent jugement technique. Sous sa direction, Git évolue pour devenir plus accessible tout en conservant ses qualités de rapidité, de fiabilité et de flexibilité.
L'adoption de Git se fait progressivement. Le projet Android de Google le choisit comme système de gestion de versions en 2009, ce qui apporte une validation importante de la part d'une grande entreprise. La création de GitHub en 2008 par Tom Preston-Werner, Chris Wanstrath et P.J. Hyett accélère la démocratisation de l'outil. La plateforme offre une interface web conviviale et des fonctionnalités de réseau social pour les développeurs.
Microsoft, longtemps réticent aux logiciels libres, change progressivement de position. En 2012, l'entreprise commence à contribuer à libgit2, une bibliothèque de développement Git. L'année suivante, elle intègre le support de Git dans Visual Studio et propose l'hébergement via Azure DevOps. En 2017, Microsoft migre le développement de Windows vers Git, créant le plus grand dépôt Git au monde avec 300 Go de code source.
L'acquisition de GitHub par Microsoft en 2018 pour 7,5 milliards de dollars marque un moment symbolique. Cette transaction illustre la transformation de Microsoft et confirme la position dominante de Git dans l'industrie du logiciel. Les statistiques de Stack Overflow en 2018 révèlent que 88,4% des développeurs utilisent Git, loin devant Subversion (16,6%) ou Mercurial (3,7%).
La conception de Git reflète les besoins spécifiques du développement du noyau Linux. La capacité à gérer un grand nombre de contributions simultanées, la rapidité des opérations, la robustesse face aux erreurs : ces caractéristiques, combinées à sa nature distribuée, en font un outil adapté aux projets open source de grande envergure. Les développeurs peuvent travailler de manière autonome sur leurs copies locales, puis synchroniser leurs modifications avec le reste de l'équipe quand ils le souhaitent.
En 2024, Git demeure le standard de fait pour la gestion de versions dans l'industrie du logiciel. Il a transformé la manière dont les développeurs collaborent et partagent leur code. Les principes de son architecture distribuée ont inspiré de nombreux autres outils et pratiques dans le domaine du développement logiciel.