Par Philippe Magne | 19 mars 2020

Pourquoi GIT?

Il y a énormément de buzz autour de cet outil. Dans cet article, nous allons essayer de comprendre d’où vient ce succès et s’il est bien justifié. Nous verrons ensuite comment il peut se positionner dans le monde IBM i.

GIT est à la base un simple outil open source pour gérer le code source de multiples projets. Il a supplanté son ancêtre, CVS. Entre les deux SVN a lui aussi connu son heure de gloire dans les années 2000 mais perd régulièrement du terrain sur GIT. Tout cela pour dire que jusque là rien de bien nouveau sous le soleil.

Alors pourquoi tant de succès ? Est-ce parce qu’il apporte des fonctionnalités révolutionnaires par rapport à ses compétiteurs ? La réponse est clairement non. Il nous faut chercher ailleurs les raisons de ce succès. Est-ce parce que son père fondateur n’est autre que Linus Tordwald, le père de Linux ? Il y a peut-être bien là un début de réponse. Le succès de Git s’est développé à peu près au même niveau et au même moment que celui de Linux lui même…

1. Un standard de facto

Git est devenu un standard de facto. C’est quoi un standard ? C’est un outil ou un langage qui, même s’il n’est pas parfait, présente l’énorme avantage d’être connu du plus grand nombre. La conséquence de cela, c’est que les transferts de compétences se font beaucoup plus naturellement dans les diverses équipes. On peut citer par exemple SQL comme standard de facto. Existe-t-il aujourd’hui un autre langage pour exploiter une base de données ? Non.

Pour Git, ce phénomène va même bien au delà de la gestion du code source. Le cas le plus typique pour l’illustrer, c’est la gestion des configurations hardware. Depuis l’avènement des architectures Cloud, on ne parle plus que « d’infrastructure as a code ». Qu’est-ce que vient faire GIT dans tout cela ? Il permet de tracer tous les changements de configuration. Les acteurs dans ce domaine auraient pu développeur leur propre gestionnaire de versions. Ils ont plutôt décidé de s’appuyer sur un standard.

Mais l’on pourrait citer aussi un point tout aussi symbolique : Microsoft qui, quoiqu’on en dise ou en pense, est l’un des principaux acteurs dans les outils de développement, l’a adopté comme standard depuis de nombreuses années. Ils ont été encore plus loin il y a deux ans en rachetant GitHUB. Ont-ils fait l’acquisition de cette entreprise pour sa technologie ? Certainement pas. Ils auraient pu développer le même produit en peu de temps. Non, c’est pour sa communauté de 32 millions de développeurs et la capacité à influer leurs choix techniques.

Ce succès de Git n’aurait pas été aussi massif sans ses déclinaisons commerciales : GitHub, Bitbucket et Gitlab. Utiliser Git en ligne de commande est plutôt réservé à l’étudiant et au geek, mais quand il s’agit de l’établir comme standard dans une entreprise, autant se diriger vers des interface web un peu « sexy ».

2. Notion de « Social coding »

Ce qu’ont apportés ces outils, c’est un changement radical dans le comportement du développeur. Il n’est plus seul dans son coin. Il fait partie d’une équipe mais aussi d’un réseau. Les développeurs sont devenus aujourd’hui beaucoup plus extravertis qu’auparavant. Ils se forment en partageant plus facilement avec leurs pairs. Ce partage est un facteur clé de qualité et de productivité. Le développeur qui s’enferme pendant des jours pour finir de mettre au point son algorithme est (presque) révolu.

Certains grands groupes achètent ces outils sans même se poser de question sur leur capacité à les implémenter dans leur organisation, simplement parce qu’ils leur servent de support pour attirer de nouveaux développeurs. Avec la transformation digitale, la compétition entre les entreprises pour recruter et garder des développeurs va se faire de plus en plus rude. Créer une structure d’accueil conviviale et surtout déjà connue ne fait pas tout le travail, certes, mais apporte sa pièce à l’édifice.