9 problems with replacing "master" in Git
Tags: blm, github, racism, words
Published: 2020-06-15 22:27:46

---
title: 9 problems with replacing "master" in Git
published: true
description: Reasons why GitHub's move is worse than a cheap PR stunt
tags: BLM, GitHub, racism, words
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/xyioyl2cw7d1e6u4bv0u.png
---
[Background for those unfamiliar with this debate: in summer 2020, as if the world didn't have enough real problems (Covid-19, the George Floyd protests), some activists craving social signalling, started to argue that the word "master" must be cancelled in all areas of human endeavor, because at some old point in time, it referred to the master of black slaves. One of those areas is software engineering, where the word master never had any association with slavery, but simply meant "primary", as opposed to "secondary". Why this particular war was started now, and not a continuation of the one [against Master's degrees](https://yaledailynews.com/blog/2015/12/02/harvard-princeton-abolish-master/), I don't know.]

------

This post started as a comment reply to ["Replacing master in git"](https://dev.to/damcosset/replacing-master-in-git-2jim) but it turned into a longer topic. The line that sparked my reaction was this:

> "Master/slave is an oppressive metaphor"

There so many problems with that statement. First off...

## 1. There's no "slave" in Git

Maybe [MongoDB has this problem](https://api.mongodb.com/internal/current/commands.html), but not git. So there's no "master/slave" metaphor in Git to speak of.

## 2. Words change meanings over time

"Master" is a [term used the recording industry](https://dev.to/icatalina/comment/10b1c), or to talk about skill ("Master of Science", "Kung Fu Master" etc.). I'm not a native English speaker so "master" was strange to me too, but in American English "master" has been far more commonly used in the past 50 years to talk about vinyl records and CDs and degrees and expertise, than slavery. As someone else [said](https://dev.to/rolfstreefkerk/comment/10cii),

> These terms have existed for decades and now suddenly we feel they're racially loaded? I think this is a knee jerk reaction to a problem that doesn't exist. 

## 3. Nothing is oppressive by itself

People *choose* meanings. Epictetus famously said this of insults (and "master" is far from an insult, but to illustrate the point):

> “Remember, it is not enough to be insulted to be harmed, you must believe that you are being harmed. If someone succeeds in provoking you, realize that your mind is complicit in the provocation. It is not he who reviles you who insults you, but your opinion that these things are insulting."

## 4. Who does the word "master" in Git really offend?

The vast majority of developers have nothing to do with oppression, and have never intended to oppress anyone.

[Has anyone ever complained of being offended](https://dev.to/assertnotnull/comment/10cma) when they saw a "master" branch in a Git repo? From what I've seen so far, black developers haven't felt offended by this word.

{% comment 10cci %}

![Blacks don't give a damn](https://dev-to-uploads.s3.amazonaws.com/i/xyioyl2cw7d1e6u4bv0u.png)

{% comment 10dm5 %}

Thanks to Ben Calder for [pointing out](https://dev.to/blindfish3/comment/10dka) that some Drupal contributors felt offended by **master/slave**. That's different from `master` in the Git world.

If nobody is *actually* choosing to be offended by this word, then all we're doing is wasting time changing a perfectly working process just to virtue-signal that we're ["woke"](https://www.urbandictionary.com/define.php?term=woke), while annoying far more people in the process and wasting their time when "master" will no longer work and its replacement will break things.

## 5. What are the downsides of this rename?

When making a decision of this scale, we need to realize that it invalidates [15 years](https://en.wikipedia.org/wiki/Git) of scripts and build pipelines and CI processes and Git tutorials using the word "master". What is [its ROI](https://dev.to/habereder/comment/10bc4)? That's a legitimate question. We *think* "master" *may* offend the sensibilities of some black developers, and OK, there might be some I haven't seen yet, but what about the actual pain inflicted on those who have to deal with the change? Broken builds, staying up al night fixing a P0 caused by the change, getting fired because you haven't exhaustively tested before deploying, downtime caused to customers who have no fault in this - these are **real pains** the change *will* cause, as any DevOps person will tell you.

## 6. Is this purely a PR move?

By being outspoken against "master", brands benefit from stoking the fires of racial conflict to elevate themselves in the eyes of consumers. Sony, an organization using cobalt mined by literal black slaves, including children, is in favor of BLM. GitHub renaming a branch seems like a [cheap PR stunt](https://dev.to/jdmg94/comment/10cgm) by comparison, when they could do far more meaningful things, like [not working with the ICE](https://github.com/drop-ice/dear-github-2.0/blob/master/README.md):

![Github contact with the ICE](https://i.imgur.com/9anGA7L.png)

...or not [banning Iranian developers](https://github.com/1995parham/github-do-not-ban-us), suggesting they [use GitHub to develop nuclear weapons](https://medium.com/@hamed/github-blocked-my-account-and-they-think-im-developing-nuclear-weapons-e7e1fe62cb74).

## 7. What shall we rename next?

Slaves were hanged from branches at some point, should the word "branch" be changed? How about the [Lighthouse](https://developers.google.com/web/tools/lighthouse) web speed auditing tool? Light is usually white... Going forward, we could realistically decide to rename "Master Degree"s.

I know this is a slippery slope. We've been on it! In 2015, the **file extension** [".bro" was deemed offensive](https://www.ghacks.net/2015/10/11/bro-file-extension-offensive-changed-to-br-instead/) was deemed offensive and had to be changed to `.br`. In various cultures (Australia, New Zealand), "bro" is a very positive term. But one irritated person was offended. The point of the slippery slope is, where will it stop? I bet whoever found "bro" offensive didn't stop at that. 

Have we, by changing the extension, helped that person be more tolerant, inclusive, resilient, calm, or in any way better than before?

I wonder how that person reacted to this parody:

{% github ErisBlastar/cplusequality %}

Anyway, odd fact about me: I actively dislike being called "bro". It's irrational, and I have no explanation for it. But I don't mind it when my Aussie friends call me "bro". They don't mean anything bad by that; on the contrary, "bro" is a term of fraternity, of endearment. Someone being offended **by a file extension**, which doesn't mean anything but short for the compression algorithm "Brotli", is quite puzzling to me.

A slippery slope is a fallacy when it's used to support an argument. Here, it's merely a fact. I'm not arguing we should not rename "master". Go right ahead, rename it. I'm just pointing out some problems with getting up in arms about it.


## 8. Don't we have better things to worry about?

Could the time collectively spent on this debate have been better spent in other ways? Or do we like the illusion of doing something useful? I think that arguing about how we *think* black people (should?) feel about a word takes attention away from real issues.


## 9. Is this humiliating to black developers?

{% twitter 1272283853617459200 %}

Last, and worst, by removing the word "master" blindly, we're uncritically reproducing a narrative that diminishes black agency in favor of a white-centric explanation. We're making the assumption that a black developer can't take the word "master" as simply a label and nothing more. Don't you think black developers may find that assumption humiliating?

PS: I've looked at reactions to similar moves in the past. The [founder of Ruby on Rails pontificated about renaming master](https://twitter.com/dhh/status/1032050325513940992) back in August 2018. The reaction of the developer community was pretty much the same as mine.