Enjeu majeur du cycle de vie d’une application, la gestion de configuration permet principalement de stocker et de tracer les modifications affectant son code source au cours du temps.
La gestion de configuration a toujours été une problématique centrale au sein des projets informatiques et dont la complexité est directement liée à la taille d’un projet. Plus celui-ci devient important, plus la gestion de configuration peut s’avérer périlleuse. De fait, les innovations dans ce domaine viennent souvent de projets open-source de grande envergure qui par le nombre important de développeurs engagés et leur répartition aux quatre coins du globe ont dû mettre en place des solutions particulières afin d’obtenir une gestion de configuration performante et flexible à la fois. C’est dans ce contexte que Linus Torvalds a lancé le logiciel Git afin de doter la communauté de développement du noyau Linux d’un gestionnaire de configuration répondant à ses besoins particuliers. En effet, si la première décennie de développement du noyau Linux avait vu les développeurs travailler de manière désordonnée via l’échange de patchs ou d’archives de fichiers, le projet s’était organisé de façon plus pérenne dès 2002 avec le basculement vers le logiciel de gestion de configuration distribué (DVCS) propriétaire, BitKeeper. Les tensions entre la communauté et l’éditeur de ce dernier qui remit en cause la gratuité de l’outil en 2005 poussèrent ainsi Linus Torvalds et la communauté du noyau Linux a développer Git pour s’affranchir de BitKeeper. La première version de Git se basait tout naturellement sur l’architecture de ce dernier en corrigeant le tir sur les différentes limites ressenties par les développeurs de la communauté avec Bit- Keeper. Les objectifs suivis étaient avant tout de fournir un outil simple de conception et totalement distribué qui supporterait les développements non linéaires pouvant compter des milliers de branches parallèles, tout en garantissant une vitesse d’exécution et une compacité des données optimales pour des projets de grande envergure tels que le noyau Linux.
Sylvain Saurel