IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Git va changer le nom par défaut de sa branche « master » en « main » dans la version 3.0, prévue pour fin 2026, afin de promouvoir un langage inclusif dans le contexte des changements sociaux de 2020

Le , par Alex

42PARTAGES

10  1 
Git prévoit de changer le nom par défaut de sa branche « master » en « main » dans la version 3.0, attendue fin 2026, afin de promouvoir un langage inclusif dans le contexte des changements sociaux de 2020. Cela affectera les nouveaux référentiels, qui devront être mis à jour au niveau des scripts et des workflows afin d'éviter toute perturbation. Parmi les autres améliorations, on peut citer le hachage SHA-256 et l'intégration de Rust. Cette décision permet d'équilibrer progrès technique et sensibilité culturelle.

Faut-il opérer le retrait de termes comme blacklist, whitelist, master, slave ou encore kill (longtemps utilisés au sein de bases de code et de documentations) au motif de ce qu’ils véhiculent des stéréotypes raciaux ? C’est l’un des débats qui divisent le plus la communauté des développeurs informatique à date. Avec les développements en lien avec la mort de Georges Floyd en 2021, il a pris plus d’ampleur. Désormais, le passage à des termes considérés comme plus inclusifs se généralise pour lutter contre le racisme dans le monde de l’informatique.

En 2021, l’équipe de mainteneurs de Gitlab a annoncé une mise à jour du nommage de la branche par défaut des projets sur la plateforme. « Les mainteneurs du projet Git, en coordination avec la communauté au sens large, ont écouté les commentaires de la communauté de développement pour déterminer un nom plus descriptif et plus inclusif pour la branche par défaut et offrir aux utilisateurs des options pour changer le nom de la branche par défaut (généralement maître) de leur dépôt », indique-t-elle.

En 2020, GitHub a annoncé faire usage du terme « main » en lieu et place de « master » pour désigner la branche par défaut des projets. L’explication des responsables de la plateforme en lien avec ce changement tranche avec l’habituel en s’appuyant sur une terminologie elle-même politiquement correcte : « Main est le remplacement de master le plus populaire que l'on rencontre sur GitHub. Nous l'aimons parce qu'il est court, qu'il garde la mémoire musculaire intacte et qu'il se traduit bien dans la plupart des langues. »

En 2018, la communauté Python avait déjà fait de même et a enclenché le processus de suppression des termes es termes "master/slave" dans sa documentation et dans sa base de code. En outre, des projets comme Django (2014), CouchDB (2014), Drupal (2014) et Redis (2017) ont fait de même. Tous avaient le même argument : bien que ces termes aient été utilisés depuis des décennies, ils peuvent avoir des significations à caractère raciste, entre autres, pour les utilisateurs. Il serait donc bon de les éviter.

Récemment, c'est Git qui a annoncé changer le nom par défaut de sa branche « master » en « main » dans la version 3.0, prévue pour fin 2026. Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre et gratuit, créé en 2005 par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Git est maintenu par Junio C Hamano depuis juillet 2005. Depuis les années 2010, il s’agit du logiciel de gestion de versions le plus populaire dans le développement logiciel et web, qui est utilisé par 12 millions de personnes, sur tous les environnements (Windows, Mac, Linux). Git est aussi le système à la base du célèbre site web GitHub, le plus important hébergeur de code informatique.


De Master à Main : la révolution silencieuse de Git dans les conventions de nommage des codes

Dans le monde en constante évolution du développement logiciel, peu d'outils ont atteint l'omniprésence de Git, le système de contrôle de version qui sous-tend tout, des projets de codage individuels aux référentiels d'entreprise massifs. Alors que Git approche de la version 3.0, un changement apparemment mineur mais symboliquement chargé est sur le point de redéfinir ses paramètres par défaut : le nom initial de la branche passera de « master » à « main ». Cet ajustement, attendu depuis longtemps, reflète une évolution plus large du secteur vers un langage inclusif et des pratiques modernes, mais il soulève également des questions pratiques pour les développeurs, les équipes et les organisations qui dépendent de l'écosystème Git.

Les origines de ce changement remontent à 2020, dans un contexte mondial de remise en question des préjugés systémiques. La Software Freedom Conservancy, l'organisme à but non lucratif qui gère Git, a annoncé son intention de mettre à jour le nom par défaut de la branche, invoquant des préoccupations liées à la terminologie ayant des connotations historiques d'oppression. Comme détaillé dans un récent article publié sur le blog de Thoughtbot, Git 3.0 imposera « main » pour les nouveaux référentiels initialisés avec « git init », sauf configuration contraire. Il ne s'agit pas seulement d'un changement cosmétique, mais d'un clin d'œil à l'évolution des normes sociales dans le domaine technologique, où les mots ont leur importance pour favoriser la diversité et créer des environnements accueillants.

GitHub, la plateforme dominante pour les référentiels Git, a pris les devants en remplaçant son nom par défaut par « main » en octobre 2020, influençant ainsi des millions d'utilisateurs. Cependant, Git lui-même a pris du retard, conservant « master » afin de ne pas perturber les flux de travail. Avec l'arrivée prochaine de Git 3.0, prévue pour fin 2026, l'outil principal rattrape son retard. Cette synchronisation pourrait rationaliser les opérations, mais exige également une préparation des systèmes existants.

Les répercussions techniques d'un changement de nom

Au-delà du symbolisme, ce changement a des implications concrètes pour les bases de code du monde entier. Pour commencer, les référentiels existants ne renommeront pas automatiquement les branches ; le changement ne s'applique qu'aux nouvelles branches. Cependant, les pipelines CI/CD, les scripts et les outils d'automatisation codés en dur avec des références « master » pourraient ne plus fonctionner. Imaginez qu'un script de déploiement échoue parce qu'il suppose que la branche principale est « master » — un scénario qui s'est déjà produit lors des migrations GitHub.

Les développeurs habitués à « git checkout master » devront adapter leurs habitudes, éventuellement en modifiant la configuration, par exemple en définissant « init.defaultBranch » dans les configurations Git. Les réactions mettent en évidence les pièges courants : téléchargements à distance oubliés, demandes de tirage incompatibles et même problèmes d'intégration avec des outils tels que Jenkins ou GitLab. Un message publié en 2021 fait état de la frustration suscitée par les poussées aboutissant dans des branches non souhaitées en raison d'incompatibilités par défaut.

De plus, ce n'est pas la seule refonte de Git 3.0. La version promet le passage du hachage SHA-1 au hachage SHA-256 pour une sécurité renforcée, de meilleurs formats de stockage pour des performances multiplateformes et une intégration plus poussée de Rust dans le processus de construction de Git. Ces mises à niveau positionnent l'outil pour un avenir où l'évolutivité et la sécurité sont primordiales. Pourtant, le changement de nom de la branche se distingue par sa résonance culturelle, faisant écho aux directives de GitHub de 2020 sur le renommage des référentiels.

Réactions de l'industrie et défis liés à l'adoption

La communauté des développeurs a des sentiments mitigés. Certains saluent cette mesure comme une avancée progressive, en phase avec les pratiques inclusives qui rendent la technologie plus accessible. D'autres la considèrent comme une perturbation inutile, un utilisateur déplorant les étapes supplémentaires imposées par les plateformes qui capitalisent sur les mouvements sociaux. Un ingénieur logiciel explique comment les modèles structurés tels que GitFlow, popularisés en 2010, doivent évoluer pour s'adapter à la nouvelle norme « main », ce qui pourrait simplifier les flux de travail mais nécessiterait une nouvelle formation.

Dans le monde de l'entreprise, l'impact pourrait être considérable. Les grandes organisations, des start-ups aux entreprises du Fortune 500, gèrent souvent des milliers de référentiels. Une migration forcée pourrait impliquer l'audit de scripts, la mise à jour de la documentation et la formation du personnel, ce qui représente des coûts supplémentaires. Ce changement officialise ce que beaucoup ont déjà adopté volontairement, mais pour les retardataires, c'est un signal d'alarme. Un rapport de 2025 décrit étape par étape les processus permettant de modifier les paramètres par défaut via l'interface web ou les commandes CLI de GitHub, soulignant la facilité pour les nouveaux référentiels, mais la complexité pour les anciens.

La résistance n'est pas seulement technique, elle est aussi philosophique. Les détracteurs affirment que le terme « master » dans Git fait référence à une copie principale, et non à l'esclavage historique, en s'appuyant sur des termes utilisés dans l'ingénierie audio ou les bases de données. Les partisans rétorquent que l'intention n'efface pas la perception, en particulier dans une industrie mondiale. Ce débat reflète des discussions plus larges dans le domaine technologique, comme le changement de nom de « blacklist » (liste noire) en « blocklist » (liste de blocage), comme on le voit dans les initiatives d'entreprises telles qu'Apple et Google.


Préparation à Git 3.0 : stratégies et meilleures pratiques

Pour atténuer les perturbations, les experts recommandent des mesures proactives. Commencez par configurer Git localement : « git config –global init.defaultBranch main » garantit que les nouveaux projets s'alignent sur la future norme. Pour les équipes, des outils tels que le guide de renommage de GitHub, disponible sur leur référentiel dédié, fournissent des scripts pour les mises à jour en masse, y compris l'ajustement des références distantes et symboliques.

L'intégration avec d'autres systèmes est essentielle. Dans les pipelines DevOps, la mise à jour des références dans les fichiers YAML ou les scripts Docker permet d'éviter les échecs. La fusion régulière de « main » dans les branches de fonctionnalités permet de tout synchroniser, réduisant ainsi les conflits de fusion. Pour les responsables de l'open source, une communication claire dans les documents du projet peut guider les contributeurs, évitant ainsi toute confusion dans les demandes d'extraction.

À l'avenir, ce changement pourrait accélérer l'adoption de stratégies de branchement modernes. Le développement basé sur le tronc, qui favorise les branches de courte durée issues de « main », pourrait gagner du terrain par rapport à des modèles complexes comme...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de steel-finger
Membre confirmé https://www.developpez.com
Le 25/11/2025 à 20:29
Il faut m'expliquer en quoi changer le nom d'une branche rendrait le monde plus inclusif.
23  1 
Avatar de kain_tn
Expert éminent https://www.developpez.com
Le 27/11/2025 à 18:30
Citation Envoyé par Alex Voir le message
[B][SIZE=4]
Quel est votre avis sur le sujet ?
L'utilisation du mot "master" dans git ne vient pas de "master/slave" (les branches ne sont pas des "slaves" mais des copies).
Ça vient tout simplement de la "master copy" - en gros l'original à partir duquel sont faites les copies.
On retrouve ce terme dans les industries du livre, de la musique, et tout ce qui touche à la donnée à la base.

Ça montre à quel point les personnes qui ont poussé pour ce changement (parce que oui, ça n'est pas venu tout seul) sont cultivées et à quel point elles ne comprennent même pas leur propre langue et ses nuances.

Franchement, cette mode de supprimer des termes sous prétexte qu'ils choquent est pathétique, car ça ne changera ni le passé, ni le présent.
L'esclavagisme existe toujours, tout comme la prostitution forcée, les enlèvements, les viols, etc.
Si ces mots vous choquent / vous mettent mal à l'aise, faites en sorte de changer le monde au lieu supprimer les mots pour vous sentir mieux dans votre bulle.
14  1 
Avatar de Artaeus
Nouveau Candidat au Club https://www.developpez.com
Le 25/11/2025 à 22:45
Citation Envoyé par steel-finger Voir le message
Il faut m'expliquer en quoi changer le nom d'une branche rendrait le monde plus inclusif.
Facile, dès que gens voient "master" ils pensent aux esclaves ...

Il y a aussi les changements de nom de "primary-replica" plutôt que "master-slave" pour les BDD. Idem pour les firewall ...
Bref, le wokisme est un délire improductif.
10  1 
Avatar de SofEvans
Membre émérite https://www.developpez.com
Le 27/11/2025 à 17:16
Citation Envoyé par Uther Voir le message
Un esclave est une personne qui effectue un travail pour que le maître n'ait pas a le faire lui même.
Non, un esclave est une personne privée de ses droits (comprendre : liberté) et devant obéir à son maitre.
Le fait qu'usuellement le maitre soit suffisamment riche pour ne pas avoir à travailler n'implique pas que la raison d'être d'un esclave soit de faire en sorte que son maitre ne travail pas.

Autant pour la branche "master" de git, je comprends qu'on puisse vouloir changer le nom par défaut par un truc plus neutre en terme de sens, autant toute cette histoire de whitelist/blacklist, master/slave relève du fait qu'une poignée de personne a décidé de casser les couilles au reste du monde parce qu'ils n'arrivent pas à se gérer sans tout ramener à eux.
Le thème de l'esclavagisme est un exemple fort, car l'esclavagisme qu'a subit les blancs (et d'autres peuple, en fait) est généralement bien mis sous le tapis pour ne parler qu'uniquement de l'esclavagisme des noirs pratiqué aux USA.
On oublie aussi de manière bien pratique de dire que les blancs qui ont débarqué en Afrique se sont rapidement aperçus qu'il était plus facile d'acheter des esclaves noirs aux seigneurs de guerres locaux (donc des noirs) plutôt que de se lancer eux-même dans une chasse aux esclaves.

Bref, tout ça pour dire que ceux qui hurlent au racisme en voyant "master/slave" sont des ignares et que malheureusement ils arrivent à nous les briser jusqu'ici.
Heureusement que cette fois-ci, les changements n'ont pas l'air ultra-violent et sans impact majeur (n’utilisant pas git, je ne vois pas ce que changer "master" par "main" implique pour les projets déjà existant).
12  3 
Avatar de foreman
Membre à l'essai https://www.developpez.com
Le 26/11/2025 à 15:48
ça me fait bien marrer cette histoire.... Du temps des disques durs IDE, vous imaginez si les constructeurs devaient refaire les circuits imprimés (car Slave et Master était écris aussi dessus) et même les étiquettes à côté du jumper ? Bref.... Ah oui le dessin animé Masters of the Universe avec Musclor... Main of the Universe ?
9  1 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 26/11/2025 à 8:39
Perso, je ne pense pas que ce changement ait un impact significatif en soi pour l'inclusivité. Mais il n'y a pas matière a s'offusquer pour autant : l'mpact est vraiment minime (ce n'est qu'une valeur par défaut) et même en dehors de toute considération d'inclusivité, le terme "main" est tout de même bien plus correct que "master", tout comme "primary/replica" est plus parlant que "master/slave".
Par contre, le fait qu'il y ait des levées de boucliers pour des détail sans impacts alors qu'il y a tous les jours dans l'informatique des changements autrement plus significatifs sans que grand monde ne se plaigne et assez symptomatique du fait que quand on attaque ces sujets, on est pas dans le rationnel, de tous les cotés.
8  3 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 27/11/2025 à 17:47
Uther,

Citation Envoyé par Uther Voir le message
Un esclave est une personne qui effectue un travail pour que le maître n'ait pas a le faire lui même. Donc oui Primaire/Réplique est un nom bien plus parlant vu que c'est le primaire qui effectue le travail le plus critique, alors que dans une relation maître/esclave, le maître se défausse de son travail sur l’esclave.
Vu ainsi, tout salarié est donc un esclave (c'est d'ailleurs un peu vrai). Mais pour moi "Primaire/Réplique", ça ne veut rien dire... On est pas obligé d'avoir d'accord sur tout.

Citation Envoyé par Uther Voir le message
Comme leur nom l'indique, les replica sont des répliques du primary. Il en est de même pour git, la branche principale n'a aucune notion d'autorité comme le laisse entendre master. C'est juste la branche principale par défaut : le nom "main" est parfaitement adapté.
Là, je suis d'accord avec toi, "main" (qui pour moi veut dire principal), et mieux adapté que "master", même si pour moi dans ce contexte, les 2 sont logiques. Même si pour moi, dans ce contexte, "master" veut également dire "principal" pour moi. "main" ou "master" sont (pour moi dans ce contexte), équivalant.

Citation Envoyé par Uther Voir le message
L'origine du jargon est bien une métaphore de l'esclavagisme. Certes techniquement ça n'a rien a voir, et c'est une raison de plus de le changer. Si la transition était problématique, ça pourrait ce discuter, mais c'est transparent. Les projets peuvent tout a fait continuer a utiliser le nom master s'ils le souhaitent.
Tu as des sources pour affirmer que "l'origine du jargon est une métaphore de l'esclavagisme" ? Parce que même si on ne veut pas l'admettre, les personnes qui ont le plus pratiqué l'esclavagisme sont les "blacks" entre-eux. Certes, les "Blancs" ont aussi fait usage de l'esclavage, et l'un et tout aussi abominable que l'autre.

Il y a eu une "poussée" de fièvre en Belgique et en Hollande, parce que Saint-Nicolas (qui originellement n'avait rien d'un "Saint"), était accompagné du "Père Fouêtard", qui était "noire". Des gens scandalisés ont crié au racisme, sans savoir que le "Père Fouêtard" n'était pas "un noir", mais un "ramoneur", d'origine "Blanche", mais "sale" (désolé de le dire, mais quand un homme blanc et noire de suie, il est sale, cela n'est pas du racisme), car il entrait le premier dans toutes les cheminées avant Saint-Nicolas qui suivait avec les cadeaux...

Qu'on laisse les gens tranquille avec toute ces foutaises. Nous, les occidentaux, les "Blancs", avant une histoire, une culture, des habitudes, et je ne vois pas pourquoi on devrait changer cela, tout comme je ne demande pas aux autres de changer leur culture ou leurs habitudes, sauf si ces habitudes ne sont pas conforme à nos loi.

Sinon, BàT et Peace & Love.
Quand on peut changer le terme pour à la fois éviter cette métaphore et avoir quelque chose de plus juste descriptivement, c'est censé être gagnant/gagnant.[/QUOTE]
6  1 
Avatar de Metal3d
Membre habitué https://www.developpez.com
Le 27/11/2025 à 22:37
Vraiment le don d'inventer des problèmes. Mélanger les définitions pour ne voir que du racisme, du sexisme ou n'importe quoi... Putain faut vraiment avoir rien d'autre à faire de ses journées...

Master c'est "maître". Super... Donc les anglophones ne devront plus dire "master piece" ? C'est ça me monde de 2026 ?
5  1 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 26/11/2025 à 13:28
... une époque formidable. Bientôt on ne devra plus dire UN "PC", mais UNE "Machine Informatique".

Heureusement que le ridicule ne tue pas...

master/slave est utilisé depuis des décennies, dire que "primary/replica" est plus parlant que "master/slave" je ressens comme un peu de mauvaise fois ;-).

Si on doit éliminer tout ce qui "offusque" ceux qui se sentent "offusqués" par tout et par rien, ce n'est pas leur rendre service que d'aller dans leur sens. Si quelqu'un voit dans l'expression "master/slave" appliqué dans le "jargon" informatique, de quoi s'offusquer, il vaudrait mieux lui expliqué l'origine de ce jargon, ça lui sera plus utile.

Attention, dans 10 ans, "replica" offusquera les "Humanoïdes", car comme ces humanoïdes seront peut-être nommés "des répliquant", faudra encore changer ?

Moi, je me sens offusqué qu'on dise de moi que je suis "catalogué" dans le lot décrit "Par contre, le fait qu'il y ait des levées de boucliers pour des détail sans impacts alors qu'il y a tous les jours dans l'informatique des changements autrement plus significatifs sans que grand monde ne se plaigne et assez symptomatique du fait que quand on attaque ces sujets, on est pas dans le rationnel, de tous les cotés."

C'est vrai quoi, tu me dis que s'est "symptomatique", je ressens là comme une interdiction d'exprimer mon point point de vue et en plus je ne suis pas "rationnel" ? Je me sens offusqué, nom d'un p'tit bonhomme.

@Uther, c'est de l'humour

Bon, j'ai perdu 10 minutes de ma vie à cause de ce "n'importe quoi"...

BàT et Peace & Love.
6  3 
Avatar de popo
Expert confirmé https://www.developpez.com
Le 28/11/2025 à 10:43
Tant qu'on est là à pinailler...
Je suis français, donc j'aime bien râler de temps en temps.

Je sous donc outragé par l'utilisation du terme "main".
Donc il faut imposer à git de se baser sur la langue du serveur sur lequel se trouve le dépôt et de choisir un nom adapté.
La branche "principale", puisque qu'apparemment on est raciste si on l'appelle "maître", devrait s'appeler "principale".

Edit : autre proposition.
Et si on l'appelait "SiTuPoussesSurCetteBrancheSansPR_JeTeFaisBoufferTesDents".
3  0