Nichtrassistische Sprache: Python und GitLab schicken Master aufs Abstellgleis
Das Python-Release-Management-Team und die Betreiber der Versionsverwaltung GitLab setzen künftig auf Main als Branch-Namen für den Hauptzweig eines Projekts.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/3/0/7/0/1/4/3/Hassrede-4b031a0dc42fc046.jpeg)
(Bild: sebastianosecondi / Shutterstock.com)
In den letzten Monaten hat in vielen technischen Bereichen eine Sensibilisierung für Begriffe mit einem rassistischen Hintergrund stattgefunden. Nicht zuletzt hat die Bewegung Black Lives Matter dazu beigetragen. Im Fokus stehen vor allem die in zahlreichen Bereichen anzutreffenden Master/Slave-Architekturen – unter anderem bei Netzwerken, Bussystemen oder Steckdosen, die einen deutlichen Bezug zur Sklaverei widerspiegeln.
In der Versionsverwaltung findet sich ebenfalls traditionell der Begriff master
für den Hauptzweig eines Projekts, dem allerdings im weit verbreiteten Git kein Slave-Zweig direkt gegenübersteht. Blickt man jedoch weiter zurück, findet sich dieselbe Master-Bezeichnung bereits in der Versionsverwaltung Bitkeeper, die darunter stehende Slave-Repositories kennt. Über den direkten Bezug dazu – inklusive der Unterscheidung zwischen Zweigen bei Git und Repositories bei Bitkeeper – haben in der Vergangenheit zahlreiche kontroverse Diskussionen stattgefunden, unter anderem auf der Gnome-Mailing-Liste.
Git, GitHub und GitLab auf der Main Street
GitHub-CEO Nat Friedman hatte bereits im Juni 2020 in einer Antwort auf einen Tweet der Chrome-Entwicklerin Una Kravets erklärt, dass die Plattform zur Versionsverwaltung daran arbeite, die Struktur von Repositories zu überarbeiten, um den Begriff "master" zu ersetzen.
Die im Juli 2020 veröffentlichte Version 2.28 von Git ermöglicht das Ändern des Standardnamens für den Hauptzweig, der bis dahin fest als master
im Tool kodiert war. Der GitHub-Wettbewerber GitLab hat ebenfalls in den letzten Monaten Anpassungen vorgenommen, zuletzt im November mit der Steuerung des Namens durch Gruppenadministratoren.
Mit einem frischen Blogbeitrag kündigen die Betreiber der Versionsverwaltungsplattform weitere Maßnahmen an. So lässt sich der Name künftig nicht nur ändern, sondern der Standardname für den Hauptzweig neu angelegter Repositories wechselt von master
zu main
.
Die Umstellung soll in zwei Phasen erfolgen: Im für den 22. April geplanten Release 13.11 soll die Namensänderung als Feature-Flag enthalten sein, aber in der Standardeinstellung weiterhin master
als Standardname für neue Repositories gelten. Die nächste Hauptversion GitLab 14.0, die am 22. Mai erscheinen soll, wird schließlich für neue Projekte den Standardnamen main
verwenden.
Wer Projekte beispielsweise in CI/CD-Jobs (Continuous Integration, Continuous Delivery) eingebunden hat, muss womöglich Konfigurationen anpassen. GitLab erlaubt zudem das Festlegen individueller Standardnamen, sodass Teams ebenso den alten Begriff festlegen können wie sie schon jetzt davon abweichen dürfen.
Python: Euer Master-Arm ist ab
Bei dem Team hinter der Programmiersprache Python steht dieselbe Namensänderung an. Die Änderung betrifft lediglich diejenigen, die an der Weiterentwicklung der Programmiersprache beteiligt sind. Wer Anwendungen in Python schreibt, muss keine Breaking Changes befürchten.
Das Python-Release-Management-Team hat einen konkreten Zeitplan für die Umbenennung des Hauptzweigs vorgelegt. Die Änderung von master
auf main
erfolgt, wenn die Beta 1 des kommenden Python 3.10 erscheint. Das geplante Datum dafür ist der 3. Mai 2021.
Dabei kümmern sich die Projektbetreiber um die Umstellung der von der Änderung betroffenen Software wie CI-Systeme und Buildbots. Im Zuge der Namensänderung werden alle offenen Pull Requests auf den neuen Zweig verweisen. Web Requests für den alten Zweig werden automatisch umgeleitet. Wer ein git push
auf den alten Zweig versucht, bekommt eine Mitteilung über die Änderung.
Wer sich an der Weiterentwicklung von Python beteiligt, muss den Namen der lokalen Kopie anpassen:
$ git branch -m master main
$ git fetch origin
$ git branch -u origin/main main
Daneben gilt es, sämtliche master
in Skripten zu ersetzen. Python steht ebenfalls nicht alleine da: Parallel zur Diskussion im Juni zu GitHub hat das Team hinter Googles Programmiersprache Go erklärt, alle Referenzen zu Master, Slave, Whitelist und Blacklist anzupassen.
Weitere Details zu den Plänen lassen sich dem Blog von GitLab und der Nachricht des Python-Release-Management-Teams entnehmen.
(rme)