9 problems with replacing "master" in Git

Dan Dascalescu - Jun 15 '20 - - Dev Community

[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, I don't know.]


This post started as a comment reply to "Replacing master in git" 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, 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, 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,

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 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.

I think it's a good gesture. But it feels a bit awkward as a person of color to see such things when I've never felt that way as from the time I knew about computer science and to where I am now. This feeling though is influenced by many things, partly being that I'm from a different place where some terms aren't as heavy hitting in terms of my history and that I cannot speak for other people of color from other locations in the world.

Re-purposing has more impact than renaming, in my opinion. Changing a branch name from 'master' to 'default' carries less weight compared to github just not working with government institutions like Immigration and Customs Enforcement's ICE. Removing "blacklist/whitelist" in favour of something which is probably more harder to remember has less impact than not blocking open source accounts and repositories from locations like Iran.

Historical names do way less harm than the inhumane practices corporations do today. But that's just my opinion

Blacks don't give a damn

I totally agree with your points, I think these kind of changes are only making things worse than they were before, I never heard anyone who ever complained about this term.

I am a developer and I am black(not speaking for anyone else of color) yet I have never felt offended by a word I see in a software that I use or don't use, I think there are far much better things we can do as a community if we agree to live with our different cultures.

Thanks to Ben Calder for pointing out 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", 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 of scripts and build pipelines and CI processes and Git tutorials using the word "master". What is its ROI? 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 by comparison, when they could do far more meaningful things, like not working with the ICE:

Github contact with the ICE

...or not banning Iranian developers, suggesting they use GitHub to develop nuclear weapons.

7. What shall we rename next?

Slaves were hanged from branches at some point, should the word "branch" be changed? How about the 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 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 logo ErisBlastar / cplusequality

Feminist Software Foundation C+=, a new language for us feminists

FSF C-plus-Equality

A project of the Feminist Software Foundation. Feminist software is a cornerstone of any modern free society. We build this foundation.

Trigger Warning, this repository uses satire and sarcasm and other types of humor that could trigger Feminazis into rage fits. Maintainer of this repository was gone for a while due to being source code raped by feminists who lack a sense of humor. Which is ironic as this language was written for feminists by women. We are trying to help out women and feminists to have a programming language not controled by the capitalist patricarchy and men.

Now hosted on BitBucket, as GitHub proves to be too misogynistic to support a feminist programming language.

C+=

C+= (pronounced either C-plus-Equality, or See Equality) is a feminist programming language, created to smash the toxic Patriarchy that is inherent in and that permeates all current computer programming languages.

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?

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 back in August 2018. The reaction of the developer community was pretty much the same as mine.

. . . . . . . . . . . . . . .
Terabox Video Player