DEV Community

Cover image for 9 problems with replacing "master" in Git

9 problems with replacing "master" in Git

Dan Dascalescu on June 15, 2020

[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 pro...
Collapse
woubuc profile image
Wouter • Edited on

I agree completely with your 5th point. Updating all our legacy setups would be pain to say the least, and it shouldn't be necessary. So luckily, it isn't. Nobody in the BLM movement is asking you to go back and change history. The question is, once we know something is perhaps not 100% okay, should we be considerate and use a different term going forward when setting up new projects and repositories? To which the answer is simply that yes, we should. We can still use master in existing repos, while acknowledging that this is a legacy term from a time when we didn't know any better. Just like we're not going to banish the works by Lovecraft or Tolkien, but we can acknowledge today that they were written in a different time and a different context where racism was more widely accepted and prevalent.

One of the reasons this discussion is so high-profile right now in the developer community is not at all that it's critically important to change "master". It really isn't, it's silly and insignificant at best and there are so many other more important issues to focus on today. But vehemently defending something that people have flagged as problematic because "you didn't intend it that way" instead of acknowledging that you can do better, is not really accepting of other people's viewpoints and experiences.

This stance can also actively work towards silencing people (especially POC) who do speak up. And this goes much further than one silly version control term that barely anybody actually cares about.

Regarding your first couple of points, you are correct that "master" in the context of Git wasn't meant to be racist. It also wasn't meant to be anything significant, it was a quick decision made long ago by someone who now themselves feel that it should be changed. So arguing we should keep it because of historic context and "it's always been this way" doesn't really hold much ground either. Not to mention the fact that other version control systems use "trunk" or "main" so there are other alternatives out there that are just as valid, that don't invite this kind of inflammatory discourse.

I also want to note that your 7th point is a slippery slope fallacy bordering on reductio ad absurdum, an argument designed to evoke an emotional reaction against something completely ridiculous that nobody is actually saying, and doesn't hold any ground.

Your 8th point is absolutely valid, but it's not an or situation. It's a yes and, where we can simply change the wording to make our language more inclusive, and then continue to worry about and work on all the other issues.

Lastly, your 9th point shows some confirmation bias and even more so selection bias, considering the racial discrepancy in our developer communities (recruitinginnovation.com/blog/dive...) and the by now fairly well-documented trend of minorities not speaking up as much or simply being drowned out by the dominant (white-centric) discource (thecut.com/2017/03/the-spiral-of-s...).

So in conclusion: yes, changing master to main is silly. It's not a significant change for anyone (regardless of which side of BLM/racism they're on), and it's probably mostly a PR stunt by companies wanting to pat themselves on the back. And yes, we should still acknowledge it and change our terminology going forward, simply because continuing the discussion against it is pointless and actively helps to reinforce the implicit bias and inherent racism that's so entrenched in our culture, including in this case specifically the harmful stance that we don't need to listen to POC who speak up and that their claims and demands are "ridiculous". Because they're not, and we should collectively check our bias.

Collapse
dandv profile image
Dan Dascalescu Author

Thanks for pointing out that my list of slippery slope instance could be interpreted as an argument that we shouldn't rename "master". I've updated the post to hopefully clarify that.

I did search for evidence that black developers were offended by the word "master" in Git, but haven't found any so far. (Admittedly, I don't know a lot of black developers and I don't pretend to be their voice either or speak for them either). Happy to include evidence to the contrary if presented.

But let's say we did uncover a few who were offended by the term "master" used within git (and not trolling about it). Would that justify inflicting confusion and unnecessary effort on clearly many more developers, making some black developers directly uncomfortable, and ultimately being US-supremacist? I didn't see much pondering of this trolley problem; rather, knee-jerk initiatives and reactions.

Collapse
woubuc profile image
Wouter • Edited on

Thank you for updating your post. Point 7 reads a little more nuanced now, although I still believe it's a slippery slope.

Interesting about the .bro extension story, I hadn't heard about that! I haven't really read up on the impact of 'bro culture' (although I've heard that it can be toxic in some situations) so I don't know how valid the complaint was/is. But in general, my stance is that if someone takes issue with something (assuming it's at least somewhat tangentially valid), and it doesn't really mean anything to the other side, then why wouldn't we make our language more inclusive.

Here's a Twitter thread I came across earlier today asking black developers just that question. It turns out many of them are in favour, for various reasons (some of which I touched on in my reply). Very informative, I learned a lot from reading through the replies and subsequent discussions.

Regarding your linked arguments, the author of the first tweet you quoted immediately followed it up with "The people quoting this as an argument against the change are very clearly racist though." which is direct and maybe a little harsh, but it does drive his point home - people pushing back against this change are showing their inherent bias because there shouldn't be a logical argument that is stronger than "make our language more inclusive and less racist" unless they're actually racist and opposed to inclusivity. Even if we're just talking about something as silly and insignificant as the default name of a Git branch.

Regarding the US-supremacist argument, that's simply not true. European countries have just as much of a racism problem. There are BLM marches and protests in several major European cities, with for instance London experiencing white supremacist violence similar to what I've seen from the US.

It may not be as bad in Europe as in the US, because most European countries don't have an openly racist leader who actively incites and encourages violence against minorities, but all western countries have their own problems with race and discrimination. I live in Belgium and the same things do happen here - we also have white supremacist organisations that get in the news from time to time for attacking or killing POC, we have news stories about police killing innocent black people, and nationalist political parties lobbying for things like deporting non-white people and more use of force by police (wikipedia does not do the tone and impact of their propaganda justice but their own material is only in Dutch). I also know at least one coworker who recently argued that "negro" should still be an acceptable term because they "don't mean it pejoratively, it's just a word" - and that's very anecdotal but it shows that people like this do exist everywhere. Of course I can't directly speak to the general climate in other countries but racism is definitely not a US-only thing.

Collapse
lonelymoon profile image
Hung Luong

Are you sure you are not committing the straw man fallacy? Your arguments doesn't counter his; and you are making conclusion not really based on anything discussed.

Collapse
tdreid profile image
Trevor Reid

It's not exactly a straw man fallacy, it's actually a form of begging the question. When wouter says "there shouldn't be a logical argument that is stronger than 'make our language more inclusive and less racist," it implies the rejection of logic based on reaching an a conclusion that has been predetermined to be unacceptable.

To me, as a black software developer, the idea of making a "more inclusive and less racist" language sounds like a road to Newspeak and thought policing -- meanwhile it's distracting, wasteful and disrespectful of my professional time.

The time I spend renaming 'main' to 'master' to preserve compatibility with existing tools, workflows and established convention will be in the running to exceed even the time-tax of the Stoopid Cookie Rule.

Collapse
woubuc profile image
Wouter • Edited on

That's because I generally agree with most of his points (apart from 7 and 8 specifically which I did directly address), but I disagree with the implied conclusion that these points are valid reasons why we shouldn't change our terminology going forward.

Thread Thread
lonelymoon profile image
Hung Luong

Even if that's the case, I am saying that your arguments aren't conclusive either.

Saying that we should change even just to avoid this particular mess is exactly what makes the slippery slope a valid argument. What is next mess that need to be politically correct? Do we engineers now have to design/build/name things with the fear that 30 years later somebody would dig back our mail thread to determine if we were correct or not?

Besides, it was never mentioned that we should silence anyone. In fact, all of us should speak our mind. But do we have a choice in this? No. We (including non-US and non-English speakers) have to accept this. And every voice against it means the speaker is a racist? And you say that we should just silently accept it for the sake of not reinforcing some "implicit bias" about race?

Thread Thread
woubuc profile image
Wouter

No one is arguing that we need to vilify people who made decisions 30 years ago. This isn't a matter of "those people were wrong" because at the time, they weren't. Different time have different standards and it would be ridiculous to suggest that someone who lived X years ago should have behaved according to today's standards.

People are simply asking for everyone to start being more respectful and inclusive in the language we use, which to be seems fairly cut-and-dry. We're talking about a word that means something negative to one side, and that is "just a word" to the other side, so why would we not all agree to start using a term that's "just a word" to all sides, out of respect for everyone?

Let's take out the slippery slope argument for a second. Let's say this is literally the only change you ever have to make and then everyone is happy. Would you change it then? And if yes, then why is it so much more difficult to do while also acknowledging that there may be more work needed in the future to make our language and society inclusive, equal and just for everyone?

Thread Thread
lonelymoon profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
Hung Luong

And no one is arguing that we should not be respectful to anyone, black or white or yellow or whatever. Intentions are almost never bad. But it is always the action stemming from those intentions that is the problem.

How can you say that the name change is "more respectful and inclusive in the language we use" while at the same time, refuting that it is not significant at all for anyone? If you say that it should not matter to me to accept it, why does it matter to you that I have to accept it? You are free to name your branches however you like, for whatever agenda you pursuit. I like to name my branch master because it's the first thing I learned about Git. Do I not deserve that respect?

I'd also like to say that I am Asian, living in Asia. Not that my race matter, I am merely providing a context as to how I feel regarding all this US-central bullshit. Some black man died half the world away - a sad matter, yet now I have to be all respectful and inclusive and need to have all this SJ forced down my throat. Would you be happy if you were me?

Finally, I never argued that we are living in a perfect world. But accepting halfhearted political PR stunt is - in my opinion - doing more harm than good. I draw the line at policing my language to express myself or my work. This change maybe small and insignificant to you, but the frog got boiled alive.

Thread Thread
dandv profile image
Dan Dascalescu Author • Edited on

Perhaps strongly worded, but this is a valid point I also linked to: developers far away who are not and have never been involved in this US/UK/Germany racial/slavery debate, have to suffer its consequences.

There's one more thing in it. People blindly imply that all other world should care about US internal problems. There are lots of countries that just don't have these racial problems US has.

And for some reason we (non-US people) should also be affected. I have personally seen people forcing this change for projects made by Bulgarian, Russian, Kirgiz, and Indonesian people. It just makes no sense!

I'm not sure why @hung 's post was marked "low quality". I think collateral damage is an important point.

Thread Thread
lonelymoon profile image
Hung Luong

Could be my wording that is the problem and I apologise if that's the case. Although the CoC also seems to draw a very fine line regarding acceptable stance in matter like this.

Nevertheless, it is great to see you including our voices in yours as well. Non-US/non-English speaking engineers seem to be drowned in this debate for no good reason.

Collapse
tdreid profile image
Trevor Reid

The name master branch is 100% okay. Changing it is silly as you say. We should indeed resist silly changes because change itself is never without cost. Moreover acquiescing to silliness in the face of manufactured indignation merely invites the next even sillier and more pointless proposal.

Collapse
lonelymoon profile image
Hung Luong

Point 5 hit it hard for me. Imagine working for 5 years just to get people comfortable with using Git and all its convention then BAM! All that down the drain because some PR ass* wanted to cash in on the bandwagon.

And it wasn't even a thing here where I live, in Asia. We don't have that big of a race issue (hands full with nationalism I suppose) - yet now I have to deal with fallout of an event happening half the world away.

And it's not even relevant. Software development is the one field I feel to be immune from all the SJ madness that has been going on. Nobody cares who you are, just that the code works. But no, people have to write those pretentious article about BLM in software, and tech corporation have to chime in on racial equality. We brought this on ourself.

It's funny when I was among those who think it's fine that Microsoft acquired GitHub.

Collapse
spock123 profile image
Lars Rye Jeppesen • Edited on

Great points.

Also: slavery has nothing to do with color.

Romans didn't care about the skin color of their slaves. They used other romans, greeks, germans etc..
Black people enslave black people today in Africa
Japan took Chinese slaves by the millions
White people were enslaved by the Moslem occupation of Europe

Implying the term "master" is racial is narcissistic at best, stupidity at worst.

Collapse
romejanic profile image
romejanic • Edited on

Thank you.

It really does feel like a cheap PR stunt. I think a lot of companies believe that making everything squeaky clean and removing offensive terms is helping, but in reality, as those posts you linked to said, what it really does is make black developers feel like white people are deciding what is and isn't offensive for them.

It kind of sucks, that while Github is trying to be inclusive, they're actually making some of their users feel more uncomfortable, because they're making changes that they really don't need to.

Collapse
karolyi profile image
László Károlyi • Edited on

Just make sure you don't get canceled for this post.

And while people are virtue signaling like there's no tomorrow, Boko Haram is killing off black people in Nigeria: pulse.ng/news/local/how-boko-haram...

But hey, changing words in code lines is more important.

Collapse
bcowley1220 profile image
Brendan Cowley

Good questions, and thank you for asking them. Unfortunately most of these companies are self-flagellating for relevance. Expanding on #5, can you imagine the molten clucking storm if master actually gets renamed? Haha we've all got teammates that are writing code from 20yrs ago... Today.... Can you imagine the complete mess that would be?

Collapse
kodikos profile image
Jodi Winters

Not that it should matter greatly for the reasons that you say, but for #2, I went looking a bit further into the etymology to confirm this. From a quick look on etymonline reveals its earliest uses in old english, master was used to represent a chief or leader, then from 12th century as someone proficient in a skill. A bit more of a sense of people ownership develops in the 14th century, but in the 17th century it gained its association with slavery. As you say, we use it much more in skills mastering and the recording industry use these days (we have plenty of other terms for people ownership, like manager, boss, CEO!!). I think it has gained a new meaning as representing the origin or single source of truth, but I can't find any free etymology describing the origins of this use.

If, as you say, this is some kind of knee-jerk reaction white people thought up to sate the black lives matter movement, then it shows we simply aren't listening, which is the bigger problem to tackle. I'm glad you researched the views of black developers, that does count!

Collapse
pavelloz profile image
Paweł Kowalski • Edited on

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.

Amen. This virtue signaling is especially annoying because it will force everyone to waste their time (money) on their vision of perfect world without opression problems.
Of course convenietly forgetting how many people are killed everyday for being born a girl, believing different faith, having different sexuality, etc. Lets change some letters in Git, that will help! Also, tweet of outrage is in place when talking about it to make the arguments even more appealing.

Collapse
_garybell profile image
Gary Bell

My first thought on this was that pipelines everywhere are going to fail. Especially if it's rolled out wholesale to every repository out there. I was then concerned that all they would do would be give master another name, and create an alias so master would still work for people, in which case it is just lip service and will come back to bite GitHub massively.

I want the development community to be inclusive, and I want those involved to feel comfort for the long term. It does concern me that more people are going to be offended by this, but I think that no matter what happens, some people will look for offence in any action or inaction.

Having seen more happen about this in the last day or so, I've come to believe the GitHub are rushing this to cash in more as fast as possible. Over at GitLab, there's a more careful and considered approach being considered, in letting people choose the name of the default branch. Yes, that may cause confusion as different projects and organisations may have different names for their primary/main/default/former-master branch, but when you get into working with git, that confusion will go.

GitHub forcing the change ultimately makes them oppressive and forceful. GitLab are being collaborative and inclusive by giving the choice at project creation. There may well be more truth in your "PR stunt" point than it first seems.

Collapse
dandv profile image
Dan Dascalescu Author

GitHub forcing the change ultimately makes them oppressive and forceful.

Good point. Funny how good intentions can backfire.

Collapse
ragar90 profile image
René Alfredo García Hernández

I honestly think this is the most stupid idea i've ever heard, i do not plan to change names just becuase some white dudes want to feel woke, if you want to change your terminology go ahead but do not judge people based on that also i would like to know if github is going to enforce this in our repos becuase i do not want to be fixing P0 issues just becuase we have to be PC complaint now

Collapse
richardcochrane profile image
Richard Cochrane

Thanks for the article - it's really well written and fair - definitely book-marking it for the next time this debate comes up. All of your reasons, except the first one, also hold in other tech uses of the word, like master/slave replication (almost any database). I especially liked point 4 - brings to mind an incident where a girl in the states caused a scandal by wearing a kimono to her prom. Of course, this was awful cultural appropriation but Asians interviewed on the topic mostly found it flattering - "we're glad she likes it" - with the loudest voices being those whose culture was not even close to being appropriated. I wonder if the male/female plugs in my house are next on the hit list...

Collapse
sobolevn profile image
Nikita Sobolev • Edited on

There's one more thing in it. People blindly imply that all other world should care about US internal problems. There are lots of countries that just don't have these racial problems US has.

And for some reason we (non-US people) should also be affected. I have personally seen people forcing this change for projects made by Bulgarian, Russian, Kirgiz, and Indonesian people. It just makes no sense!

Collapse
erasmuswill profile image
Wilhelm Erasmus

This! In South Africa, people are boycotting Uber Eats because they think the black-owned business fee waiver is applicable locally too. While I myself don't really care whether businesses pay fees or not, I do feel that it is nice of Uber to support the US BLM movement and help businesses out. Locally, with reverse racism pretty much being the law though...

Collapse
blindfish3 profile image
Ben Calder

Whilst I agree with some points here I think it's fair to add some balance. Regarding your points: 2 and 3 see this excellent comment on the Drupal issue to make the change away from master/slave terminology... in 2014.
Whilst some black devs may disagree (as is their right) there's no question that for some 'master/slave' in combination is an issue and I think that's fair enough.

People choose meanings

Yes - and historically Europeans have deliberately assigned negative connotations to words associated with blackness; and incidentally 'leftness' - since left-handed people are also apparently outside the 'norm'. My point being: this didn't happen by accident. People also deliberately use words as weapons in order to oppress and belittle; to the point that the original signifier for something can become offensive (e.g. spastic). I'd argue that invalidates point 2.

But I do agree that point 1 and 8 could apply in this context. No-one seems to be arguing that in isolation 'master' is problematic but, because someone dug through some old messages and apparently discovered that the original engineers did have 'master/slave' in mind when they decided on the the naming, the use of 'master' in the context of Git is now a problem... That feels like quite a stretch.

But that's not for me to decide. Did anyone go to the Black community and ask if they had a problem with 'master' in the context of Git? So far I've seen little evidence of that. Just lots of white people congratulating each other 🤷

Collapse
dandv profile image
Dan Dascalescu Author • Edited on

Thanks for pointing out the Drupal thread, I've added that to the post.

Godwin's law, but I wonder if having an issue with a term that had one negative connotation 150 years ago seems, isn't about as smart as having an issue now with Germans in general because of what some of them did 80 years ago.

Collapse
blindfish3 profile image
Ben Calder

Dismissing 'master/slave' as something historical doesn't stand up to scrutiny though: legally imposed racial segregation was fairly recent history - even in the UK and US. These laws were intended to limit the prosperity and power of freed slaves and their descendants. It seems pretty clear to me that - one way or another - we have been restricting the freedom of these people ever since.

The German comparison is therefore nonsense: Germans are very well aware of their history and - in general - actively engaged in remedying their past mistakes. Whilst the UK and the US continue to perpetuate the myth that they're the good guys whilst being institutionally racist.

Collapse
mroeling profile image
Mark Roeling

Best reply! No doubt that the action against GF was way too much. But wth... all these discussions about words... so many more words that have absolutely no political meaning that could be turned into having political meaning. Is #000000 the new term for black? And don't forget #ff0000 and #ffff00 for red and yellow!

Please... don't... Keep the discussion clean and focus on what's really important. People, not words...

Collapse
leob profile image
leob

Yes ... I wholly support BLM but the idea to replace "master" feels like the most overblown and exaggerated thing ever.

Collapse
ericyd profile image
Eric Yancey Dauenhauer

Don't we have better things to worry about?

It strikes me that the only reason we're spending time on this is because people like yourself are arguing about it. You will never convince me that the amount of time spent fixing our oh-so-fragile build pipelines would be greater than the amount of time you spent writing this post. You seem to be advocating choosing your battles, yet somehow find this to be a worthwhile battle to engage in yourself.

Collapse
goodevilgenius profile image
Dan Jones

In response to point 9, specifically the tweet you quoted:

And the following exchange between two black developers, including the one you quoted:

Collapse
benjick profile image
Max Malm

Maybe not refer to this as "problems" when they aren't real problems

Also this might be in violation of the coc for dev.to: "Using welcoming and inclusive language" which you are arguing against.

I see no technical drawbacks for this change. Also that person who said they had just taught someone using git; if a label change is too much maybe you shouldn't teach

Collapse
v6 profile image
🦄N B🛡

Also this might be in violation of the coc for dev.to: "Using welcoming and inclusive language" which you are arguing against.

Please, expand on this. Should the post be reported for violation of language requirements?

Collapse
alexennerfelt profile image
AlexEnnerfelt • Edited on

The whole debate assumes that the word "master" would mean only "master of slaves" and to me, since slavery has not existed in the free world during my lifetime (and nobody else's currently ongoing lifetime for that matter), I use "master" to determine version authority in a wide array of context, in addition to a whole bunch of other meanings such as: exellence and status within a discipline.

Also, removing words from language does not solve a problem, historical or otherwise. It also creates a much bigger problem when language is not allowed to evolve naturally and instead controlled by fiat. This problem is very well described in 1984 and how tightly linked language and thought is.

I don't think we should try to erase the concept of slavery from our thoughts, because then we won't be able to identify it if it starts re-emerging. There is anecdotal evidence of this in North Korea where defector tell stories of not being able to conceptualize things such as: Freedom, Autonomy, Love, Individualism, and Agency, because those words have been erased from their language.

So tread carefully when you profess to "do the right thing" in purging words from language.

Collapse
dandv profile image
Dan Dascalescu Author

Haha, good one! Some people do insist on putting "PhD" or "MSc CS" after their name, so imagine the outrage of the latter :)

Collapse
jonstrayer profile image
Jon Strayer

The fifth point is the only one that strikes me as a problem with replacing "master" in git. The rest appear to be just why you think we don't need to. That's a separate question.

Collapse
perpetualwar profile image
Srđan Međo

Amen.