DEV Community

Github is replacing the word master to avoid slavery references. Deal with it.

Rocky Kev on June 14, 2020

First, Github is making some changes. GitHub is working on replacing the term "master" on its service with a neutral term like "main" to avoid an...
Collapse
 
dianaramirez16 profile image
Diana Ramirez • Edited

everyone's negative reactions to this are so revealing.

if it truly wasn't a big deal to you what the word means, then you wouldn't be opposed to the change.

if you are opposed to the change, there isn't any logical reason to be. you're upset because now you've been forced to associate this word with its historically racist meaning, something that all developers of color have been forced to see from the beginning of their careers in tech.

to add to the point that the writer of this article is trying to get across to everyone: if you care to die on this hill, you definitely deserve to.

Collapse
 
stevetaylor profile image
Steve Taylor • Edited

I’m opposed to the change for the following reasons:

  1. As stated by the author, Git doesn’t make use of the master/slave metaphor.
  2. A lot of systems integrate with Git and treat master as the default branch, by default. A mass change of master to something else will fragment the ecosystem.

By themselves, these reasons aren’t enough. If master in Git was based on a slavery metaphor, then I’d have no issue making an effort to update my repos. But it isn’t, so why bother breaking and fragmenting an ecosystem over it?

Some other things that could be offensive:

  • Thighmaster
  • Masterfoods
  • Master a musical instrument
  • Master of Arts Degree in African-American Studies

As for those complaining that it’s political correctness gone too far, they should grow up. Sometimes you have to tweak your language to live peacefully with the people around you. I just don’t see this is as one of those cases.

Collapse
 
fluffynuts profile image
Davyd McColl • Edited

Exactly -- I have over 200 repos. I'm not about to go update them all.

Changing the default branch from master breaks a bunch of tools, most especially the ones which bridge git with other vcs systems (hg, perforce, svn, etc).

Does anyone have a problem with a "master copy of a record"? Does this mean that "becoming a master of your craft" is oppressive?

git's source implies the "master record" analogy for the master branch; in addition, there are two places where I could find the word "slave", both tests:

  1. a test where the author was clearly reaching for two other branch names which are copies of the original -- this could be easily rectified with a minor commit
  2. perl scripts which refer to pseudo-terminal slaves; and I guess those are gonna get it too.

I brought this up at work, in an open environment. The PoC that I work with don't object to the term. All recognise the giant PITA this is going to become, via knock-on effect.

Meanwhile, whilst we churn with such trivialities, the people who actually killed PoC when their mandate was to protect and serve, go about their business -- most still in the same positions of power. GitHub continues to service ICE. Futile gesture much?

On the other hand, I don't want anyone to feel oppressed or sad at work. If this really means so much to so many, fine, let's change it. I've only seen a handful of people originally upset about it tho and much instigation after the fact :/

What's also really interesting, imo, is that the most vocal people about this have been !PoC (that I've seen). See above: "Futile gesture much?"

And again, I say: I could be well wrong -- I can't possibly know how all people feel -- so if this really means that much, cool, let's do it. Until someone decides that main isn't offensive for some other reason.

Thread Thread
 
amandaiaria profile image
Amanda Iaria

I would think if they were good at what they do you wouldn't have to worry about that.

Thread Thread
 
fluffynuts profile image
Davyd McColl

I assume you're referring to the tools?

If so, here's some more info:

Git can be used to bridge to other VCS backends. In other words, I can run git locally and get it to sync up to an SVN server. On SVN, the convention is that trunk is the "main" branch, where on git, that's always been master. In both cases. there's no trivial way to "ask" what the "main" branch is -- GitHub's setting, for example, pertains to how others raise pull requests against your repo, not how git sees things.

This may sound silly (why bridge?), so I'll recount when I had to use git as a bridge:

I was doing work for a client who used TFS as their VCS. And not the "git-backed" TFS you may have heard of these days -- the older engine, which, like SVN, requires you to be able to connect to the server to commit. Which I couldn't always do. So in that case, I have two options: accumulate changes into one massive commit when I can finally connect and have (a) terrible history and (b) make it much harder to move incrementally forward (and, by extension, incrementally back, eg when experimenting on a new feature).

So, in this case, I would use the git-tfs bridge to run git locally (so I can use all of the distributed features and have small commits), and push to the TFS remote when I was able to connect (eg when I was on-site).

When tools which facilitate this kind of behavior break, that's bad for a lot of people involved.

Add to the conversation the fact that the author responsible for naming master as such has said that he intended it in the sense of master copy (as I've been suggesting the intent appeared to be from the source) and we have a massive movement to rename something which will take time and effort, has knock-on effects and doesn't even address what it sets out to, let alone the really big problems that are out there.

I still maintain: let's change the name if it makes a lot of people unhappy, but let's be honest about its origins and the fact that it's non-trivial to do so and will break systems which rely on established conventions.

Thread Thread
 
amandaiaria profile image
Amanda Iaria

Interesting. Thanks for telling me this. I've known a few people who've had to use both git and plastic (I have zero experience with plastic) for their work. Where git is either going to github/bitbucket or staying on their machine and plastic going to the server. It was a bit convoluted on their part but they had to for their sanity or policy (mostly for sanity).

Collapse
 
reinhart1010 profile image
Reinhart Previano K. • Edited

The same reasons could also apply to the USB specification, which instead uses master-slave references since 1996 (USB 1.0 release). Forcing the USB-IF (USB Implementers Forum) to rename "master" and "slave" respectively for that specific reason will start a new level of debate, not just whether the rename is necessary, but also whether the entire USB specification should be cancelled as it promotes "slavery" to the devices.

So yes, enforcing political correctness to the technology today can break everything because of a change that is made for the sake of change (without considering interoperability).

Collapse
 
sanidz profile image
sanidz

Its just bollocks

people are offended with everything, and changing one term will not change anything.

fight for racial justice and equality should be fought on totaly different levels with laws, rules, courts and with knowledge.

Collapse
 
murkrage profile image
Mike Ekkel

People have been hurt by the terms we use for a lot of things for far longer than you've been aware of. That's the core issue here; there are people out there that have felt this for their entire lives.

Changing one term might not change anything, but being in software development you are probably aware that incremental improvements to a system accumulate in a large scale change of the system.

Collapse
 
jethrojm profile image
Jethro Moller (He/Him)

I love this 🙏❤️ Very well put.

Collapse
 
fossheim profile image
Sarah

if it truly wasn't a big deal to you what the word means, then you wouldn't be opposed to the change.

👏👏👏

Collapse
 
murkrage profile image
Mike Ekkel

This is the only comment here that matters. Well put.

Collapse
 
jafuentest profile image
Juan A. Fuentest Torcat

This reminds me of the discussions about the LGBT+ colored response to git push on Bitbucket las year. At first I was like WTF is going on, what did I break!?

Then I googled it and was like "Ah... Ok... Cool", I spent no more than one minute on that search, plus like 10 minutes reading the reactions and a few more minutes talking about it with colleagues and laughing at the people that felt offended by it and that was it. No harm was done, we didn't have to update any of our tools, integrations or anything, and we spent time discussing the issues of the LGBT+ community and how close minded some people are about it. So objective fulfilled, nicely done Atlassian.

Few weeks ago I update my apps (I don't have auto-updates enabled) and see Reddit pushed an update just to change the icon to black, and I called my wife to show her the update message and we talked about it. Well done Reddit.

Now Github does this thing and I just feel it's like a cheap imitation of these. But whatever, I spent five minutes writing this, and that's it, moving on to the things that matter. If you, like me were privileged to be born in a family with the means to put you through a good college then go out there and help those who didn't get that advantage. That's how we build a better world.

Collapse
 
dandv profile image
Dan Dascalescu

Pretty cheap indeed.

Collapse
 
assertnotnull profile image
Patrice Gauthier

There's more to it.
It means thinking there's a problem when there's none and then enforcing this "solution" on everyone else.

Also this comment on a similar matter:
comment

Collapse
 
aykutcan profile image
Aykut CAN

You want change names ? Go change it.

But calling people "butthurt" or "buttblabla" is not valid argument. Go get your shitty arguments together.

"While changing master to main doesn't have any implications."
That is the most moronic argument i hear about this thing. On top of that this beautiful variable naming example. OH GOD.

What about thousands of books and millions of documents & tutorials ?
It wıll affect thousands (if not millions) pipelines that working with git.

Collapse
 
ludamillion profile image
Luke Inglis

I think the somewhat amusing thing here is that at most of the companies I've worked at we've used some form of GtiFlow (ugh) so master is really more of an archive than the main branch. In daily use the developemnt branch is actually the main branch. Naming things is hard. Now I'm going to go invalidate some caches...

Collapse
 
blindfish3 profile image
Ben Calder • Edited

In principle no reasonable person should be opposed to Git making this change if it genuinely makes the profession more welcoming... but I am still somewhat suspicious of the motivation. Of course the current #BLM protests have raised awareness; but 'master/slave' has been an issue for years and was acted on some time ago by those organisations who cared to listen (e.g. Drupal, Python). So "why now?" is a pertinent question.

I know that "who is asking for this change?" is a loaded question; but when black developers are going so far as to express discomfort over it - and being lectured by whites on the justification - things start looking a lot less clear.

Edit: a relevant comment from another thread

Edit: an amazing video that provides some context to the current protests.

Collapse
 
arvigeus profile image
Nikolay Stoynov

What about all the online tutorials / books that use the “outdated” names? What about existing scripts?
There is a reason development is such a headache right now: backward compatibility. Anyone remembers #smooshgate? This is not an opinion: this is a breaking change. Unless there is a strong reason or evidence the current master branch name is hurting, such sudden change is reckless. Sure, push for it. But go gradually. Heck, we still transpile code for IE 11, and it’s considered a dead browser. Why is that hurry now?

P.S.: Next we should discuss how executable files promote killing.

Collapse
 
evankapantais profile image
Evan Kapantais

I understand the change from master to main is going to throw people off merely because of how used to master we are regarding version control. While the word master doesn't have any intrinsic meaning when it comes to versioning (since there is no slave to it per se), there are concepts where it does make some sense.

Professionally I work in pro audio - I am a sound designer for video games, to be exact - and the master/slave relationship actually does make sense as a concept there, since you can have an audio workstation (i.e. Logic Pro, Pro Tools etc.) dictate the general settings of the project to a slave workstation that just inherits the master's timeline tracking, I/O settings, timecode and so on. While I don't think the reference to actual slavery is even remotely significant as to justify a change in wording, should a better or equivalently descriptive word-duo appear I would be all for it.

Collapse
 
jafuentest profile image
Juan A. Fuentest Torcat

I can't really believe a CEO of a big company thinks this contributes in any way to the fight against racism, it's just publicity, they just want to be in the news as a company that's doing something against racism.

Why not set up coding schools for black kids and teenagers, so that they can access better jobs, better salaries and live better lifes. And I say blacks because it's not just about african-americans there's racism and inequality all around the world.

How many racial inequality problems will be solved by this? I think none

Collapse
 
dandv profile image
Dan Dascalescu

Exactly! Or solve their other social injustice issues.

Collapse
 
mskog profile image
Magnus Skog

If changing the name of the default from master to main will make software development a bit more welcome to non-white developers then I'm all for it. A very small price to pay in my opinion.

"People" have been opposed to ANY change in this matter really. I remember when we tried to be more welcoming by not allowing sexism and harassment of female developers for example. That was also met with huge pushback by the use of "slippery slope" arguments and "no politics in my software development". Code of conducts were not necessary apparently even though they CLEARLY were.

I can see the argument for the slippery slope and "what if we go too far in the other direction". Even if that would be so I would still want to go there and then we can have discussions about scaling it back if necessary. Let's fix things together first!

Collapse
 
giltorch profile image
Gilbert

I'm black, born of black and a proud haitian (which is the 1st black country) and to me this change is useless. What about we make true changes instead. This is a joke. And at the end of the day, selfish.

Collapse
 
dandv profile image
Dan Dascalescu

A very small price to pay in my opinion.

To quality the price as "small", you need to actually think of the downsides and also of the benefits. The latter aren't clear at all. On the contrary.

Collapse
 
crisarji profile image
crisarji

Not a fan of this change, I would need to hear/read that that Git master branch feature creator was a racist and that's the reason why he/she created it that way, I mean, it is a reference name, and a whole bunch of tools, thrid-party or custom, use the master branch as the default, this will be a little messy.

Anyway, if we are talking about intentions, let's do it, why is Git changing the master branch till now, 2020, and not 1, 2, 3, 5, 7, or 10 years ago?.

I see 2 bullets:

  1. Do people believe there was a hidden intention 15 years ago when created?
  2. Do people don't believe there is a hidden intention in doing the change 15 years later?

Really?, Git did not was born racist and slave full, are people who turned it racist and slave full today.

Collapse
 
nick profile image
Nick Rameau

I was originally furious about this, because this change doesn't bring any value to anyone. And even if master in Git was based on a slavery metaphor, I would be okay with it... Just as I'm okay with 3rd party packages that use the words whitelist and blacklist.

I don't get offended at this level and if anyone does, well, I respect that.

Welp, it's only Github, we can switch to something else (Gitlab) if they make it hard to bear.

Collapse
 
kalinovych profile image
Alexander

Mastercard left the chat.

Collapse
 
ds profile image
Draško Sarić

Name is a name. If someone would feel safer if master branch is changed to main, so be it. I am also not sure though that renaming default git branch would stop racism towards black community, but I don't live there, so I am not the one to asked for opinion about that. I am just hoping that this change would not affect current projects on GitHub.

Collapse
 
slackerzz profile image
Lorenzo

What about master boot record? Should we update the BIOS too?

As long as I'm free to name a branch as I want honestly I don't care

Collapse
 
kneza23 profile image
Tomislav Knežević • Edited

Let me ask you this - if it isn't a big deal, then why is it changing?

Why would anyone change something so unimportant according to you. I mean it is just a counter argument to your's, that we should not care about this or have a strong opinion.

But the thing is, we should care - because they care. And it is nothing altruistic about it (if they really think that, then it is just silly) because in reality it is just a PR move ;)

Collapse
 
robencom profile image
robencom

Politics and Political Correctness should not get into Git and the programming world. What's next? the color black should become African-American?

Should the word "master" be removed from the dictionary? What about the word "slave" or "slavery"?

(PERSONAL OPINION ALERT) Political Correctness is a stupid phenomenon in REAL LIFE, bring in it in the programming world is even stupider.

I wouldn't want to talk politics and political correctness with anyone on this site, but the CEO of GitHub is forcing us to do so, the very thing we at least escape in our code. It is sad.

Collapse
 
mellen profile image
Matt Ellen • Edited

I personally think it's a stretch to connect the word Master with the whole Master/Slave concept in tech.

Clearly you've never dealt with IDE hard disk configuration. You can have two disks on one controller. One is designated "master" the other "slave".

This is the first link that comes to mind, and I'm certain there are others.

Here's another example, check the definition of the verb "slave".

Collapse
 
stevetaylor profile image
Steve Taylor

That’s cherry-picking from the quote. It was about git specifically, not the usage of “master” across tech generally. Here’s the quote without the first sentence omitted:

There's no slave model in Git. I personally think it's a stretch to connect the word Master with the whole Master/Slave concept in tech.

Collapse
 
mellen profile image
Matt Ellen

That's fair. I misread what was said the first time.

Collapse
 
gfabrizi profile image
Gianluca Fabrizi

In all of this, the only thing that i really don't like, is that every project that is removing the master/slave references, is using it's own new terms: primary/replica, primary/secondary, leader/follower...

Collapse
 
ludamillion profile image
Luke Inglis

The thing I've noticed, and in the long run it will probably be a good thing. Is that a change like this makes people think more clearly about what they are describing. Sure it's going to lead to splintering but hopefully it will also lead to an increase in specificity.

Collapse
 
zan_toka profile image
Zandra Kubota

I really appreciate that you took the time to think so deeply about the feelings of others! Personally I have never been bothered by the term 'master' in Git and I confess to a large eyeroll the first time I heard about this issue. But the sheer fact that peeps like you exist and are willing to even have a discussion and consider things from another viewpoint is heartening.

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

Nice website, the place where I should put my opinions.

I personally think GitHub guy is getting moody... (Will I be sued for being too sexist, BTW?)

Edit:

It seems that GitHub is just trying to follow Internet standard / trends.

Collapse
 
datavidbrear profile image
David Brear

Should we talk about changing hex colors to make it more even? Having #000 be black while the highest value (#FFF) is white could be considered offensive to some people. If everything involving color or that is less than 4-degrees separated from a racist terms needs to change I'm down with reinventing the hex-color scheme. I do appreciate how many white people are finding the time to be offended for black/brown developers; I'm sure them saying "white people: shut up and listen" didn't apply to the SJWs out there.

Collapse
 
avasconcelos114 profile image
Andre Vasconcelos

Yep this is exactly what I figured.

I won’t exactly go back and change every single default branch of my existing repos to “main”, but if GitHub wants to change the new default branch names to it, that doesn’t bother me or change things in the slightest

Collapse
 
sarafian profile image
Alex Sarafian

This is classic USA where political correctness seems to be the most important. Often words have multiple meanings in this case it is just a convention. I don't believe for a second that any person had connected this to the unfortunate history. Actually the first moment the connection was made when this announcement was made, revealing that some decision makes are overjealous about the topic but not where it matters.

Like mentioned by others, there are much worse usages of the word in the industry and nobody had complained of made the connection. Slavery is a shameful part of the global history but for better or worse it has been a reality that also conveys certain meanings that are necessary elsewhere like ICT but not necessary evil. If we start doing this then by all means let's rewrite history in an effort to try to change what happened because it is inconvenient. But the value of history is its educational power. We should be learning from it and make sure we avoid the same mistakes and try to correct the unjust of the past with actions that matter. Not by dismissing the master branch or the matter slave concept.

At the end, the person who thought this is important should apologize and the company should show real plans to help fix the incorrect and not trying to hide behind the word.

Collapse
 
joaomarcusc profile image
João

I'm not against the change, it's not a big deal and I feel very uncomfortable with this absurd backlash. If you don't like it, okay, I get it, git's "master" doesn't relate to "master/slave", I get it, but the name itself is actually not very good and it changing the term doesn't hurt either.

Collapse
 
ug02fast profile image
Arthur Zhuk

Whoever create git should be deciding the name. It's not a community vote based type of thing. If you want to name things then create your own things, whatever it may be and name away.

Collapse
 
ytjchan profile image
ytjchan

Much like the "gif" and "jif"pronunciation!

Collapse
 
abdullahdibas profile image
Abdullah Di'bas

I don't think that anyone is being offended by the term Master used by Git and so the change itself is not important but what is important is the story behind it. Think about how much this change can remind developers all over the world who come through the new term every day about this story and how much racism should never be acceptable.

Collapse
 
tkolleh profile image
TJ Kolleh

Dude! Was the keyboard on fire when you were typing this? This post is hot! I like it! well written! 👍🏾

I’m meh about the whole ordeal because I never thought of a master slave paradigm in Git but I don’t care if they change it. Quick awk script to edit all the name changes and boom 💥 bam 💥 done. Life goes on = (Next problem) => {}

Collapse
 
andzejsw profile image
andzejsw • Edited

The thing is that idea relating master therm to rasism and only to slavery against blacks is rasism by itself.
Rasism is no race specific and slavery is no race specific. If you think differently, you are rasist by definition.
This is about censorship lvl, which was mentioned in George Orwhel books. And that is huge problem!!!

Collapse
 
amandaiaria profile image
Amanda Iaria

I ... Love this.

Collapse
 
jerry_hopper profile image
jerry hopper

Excuse 6 still holds up: its the way i want it.