DEV Community

Discussion on: Replacing master in git

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti

I'd like to add my point of view, not in contrast to yours, but to further the debate.

First of all, I'm personally in favour of changing all software denominations such as "master/slave" and "blacklist/whitelist" to literally anything else that doesn't imply millions of people suffering.

I have a different opinion when we talk about Git though.

The word "master" by itself has a general meaning of "person (or, by extension, thing) with particular authority, knowledge or skills". This is paraphrasing Merriam-Webster.

A "master" can be a university degree, the original artifact from which copies are made, a master of kung-fu, a master of pottery, or an owner of slaves.

But this means that the specific connotation of "owner of slaves" is only there if the word "slave" is used in conjunction with the word "master" (or if used when talking of slavery).

In the case of Git, non-master branches are never referred to as "slaves". The concept in Git is entirely different. Yes, maybe the original inspiration came 16 years ago from BitKeeper using the master/slave terminology. Maybe it was just laziness. Maybe... we don't actually know. My feeling is that "master" was chosen to signify something different, as Git works with a different model (from my understanding). Additionally, even the link you provided isn't all that sure of its reconstruction (italic by me):

Why is that branch called master? Probably because BitKeeper uses
"master" for its main branch [...]

I've never in my life heard or read anything that used the master/slave metaphor to explain git.

My personal opinion is that it's too long of a stretch. I will not be changing the name of my Git branches for the time being (may change my mind in the future), but I will also avoid using the master/slave and black/white terminology in other fields or technologies where the reference to slavery is more explicit.

Just to be absolutely clear: I also don't see anything wrong in choosing to not name the main branch "master".

PS: In Italian, "hello" and "goodbye" are both translated to "ciao". "Ciao" has an interesting origin:

From Wikipedia:

The word derives from the Venetian phrase s-ciào vostro or s-ciào su literally meaning "I am your slave". This greeting is analogous to the medieval Latin Servus which is still used colloquially in parts of Central/Eastern Europe or the antiquated English valediction "Your Obedient Servant." The expression was not a literal statement of fact, but rather a perfunctory promise of good will among friends (along the lines of "at your service" in English). The Venetian word for "slave", s-ciào [ˈstʃao] or s-ciàvo, derives from Medieval Latin sclavus, deriving from the ethnic "Slavic", since most of the slaves came from the Balkans.

Collapse
 
mustafaanaskh99 profile image
Mustafa Anas

Interesting analysis. Agreed

Collapse
 
damcosset profile image
Damien Cosset

I'm having a really difficult time understanding this line of reasoning. We, AT BEST, have a term that maybe originated from an oppressive term. And yet, we choose to keep it because: Well it's too much of a stretch, I'd rather keep it.

We, as developers, love to boast about naming, and how important it is. How is master an appropriate name to define this branch in git? Of all the definition of master I'm seeing, I don't see one that explains the naming of master. And I'll go ahead and say that it's too far of a stretch to justify it.

The truth is that this word implies the master/slave relationship. Maybe not for you, but the harm is real. Master/slave is still a used concept in technology. That's an oppressive term. By keeping master for no other reason than our little convenience, we expose people to this oppressive term, even when it is not explicit.

When harm can be done, we take the safest route and protect the most vulnerable.

Collapse
 
cosmicsausage profile image
Alexis López

I respectfully disagree. If we had proof beyond reasonable doubt that the term originated from that context specifically, then I am all for it. But if it's only because "maybe" the term "master" in Git was originated from an oppressive term, then this change is definitely not the best way to move forward with the inclusion agenda that many people seem to have in the software community, and I believe that if the term did originate from something like that, it would have been changed long ago.

I think it is not our job to be offended by what we think other people should be offended by (the thing with the creator of Cyberpunk 2077 comes to mind). If people of a certain race are offended by something, then we should support them, but we should not assume the role of "being offended".

In short, if it ain't broke, don't fix it.

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti

I don't debate that master/slave is an oppressive term, but, honest question:

What do we do about "Master of Science"? What do we do about "master record"? What do we do about "master/apprentice"?

Thread Thread
 
damcosset profile image
Damien Cosset

Where did I say I wanted to abolish the word master altogether?

Thread Thread
 
mjsarfatti profile image
Manuele J Sarfatti

You said:

The truth is that this word implies the master/slave relationship.

I thought you meant the word master altogether, sorry if I misunderstood.

Thread Thread
 
damcosset profile image
Damien Cosset

I should have been clearer indeed, that's my bad. That can happen when 2 people exchange in their non-native language 😄

I did mean master in the context of the git branch.

Thread Thread
 
habereder profile image
Raphael Habereder

If it doesn't apply to "Master of Science" or other studies, why does it apply in the context of git? Where do we draw the line in this conversation?

Don't get me wrong, by all means, change it. The debate we are having is important to have I think.
I just don't really share the opinion, because I see technology as a non-political/-racial entity. IMHO politics should be kept out of technology as much as possible, but that is just me.

If I have to change hundreds of build-jobs, repo references and environments in all my clients projects, due to a political debate, that's where I actually draw the line and seriously have to ask for the ROI of this proposition.

Thread Thread
 
damcosset profile image
Damien Cosset

Technology is not neutral, nor is it apolitical, but that's another debate.

The problem I have with master in the context of git is because it most likely comes from the terminology master/slave ( see the sources ). And technology as a whole has a history of using the oppressive master/slave in our domain.

At the end of the day, you do what you got to do, but building a more inclusive environment means we have to do the work. That's a small step, and a very easy one. Other steps are more uncomfortable and require more work 😉

I don't care about the other contexts of the words because I have not researched them. If their use is inappropriate, I will educate myself and stop using them.

Thread Thread
 
habereder profile image
Raphael Habereder

Technology is not neutral, nor is it apolitical, but that's another debate.

Why is it not? A thing is just that, a thing. It has no opinion on anything. Why should we apply politics to a technology that is not political?

The problem I have with master in the context of git is because it most likely comes from the terminology master/slave ( see the sources ).

I'm sorry, but "most likely" is not definitely. I can find no word from Linus Torvalds about this. At this point, it is only speculation. I personally would speculate, it is the master branch, because it is the deployable branch and thereby holds authority over every other branch. That is the sole attribute a master has. Authority. Thereby the word master in context of git is apolitical and a sound choice.

But as I said, speculation, since there is no definite explanation by the developer of git.

At the end of the day, you do what you got to do, but building a more inclusive environment means we have to do the work. That's a small step, and a very easy one. Other steps are more uncomfortable and require more work 😉

Yet again I disagree. For a small project, yes, it's a small step and if people are more comfortable with it, go ahead, be my guest.
Now think about about something bigger. The git foundation joins in, replaces master with, I don't know, mainline maybe, and rolls that out in an update.
Hundreds of thousands of build-jobs and developer machines. Nuked into oblivion.

That is not a small step. That is something that can horribly go wrong and bomb whole companies if done wrong.

That is what I am getting at.
Political changes are never a small step. They always have implications and most of the time, pretty massive ones.

I don't care about the other contexts of the words because I have not researched them.

You should, because context matters in language.

Thread Thread
 
damcosset profile image
Damien Cosset

There is a chance it comes from master/slave. That's all I need. Because software, even if you believe it is apolitical, is used by real people, and more often than not, against real people. And software is build by real people. And if we don't take active steps to make sure the environment developers work in are 200% inclusive, the software is faulty and harm is done to those who are the most vulnerable.

That's not a chance I willing to take anymore. We have done enough harm in the tech industry. That's on us to change our industry and make it better. And to me, when I see how much backlash there is on a six letters word, when black people have said for years that this nomenclature is problematic... Well, it scares me.

I am a white man. Things are quite okay for me in this industry. For a whole lot of people, it is as shitty as it gets. When I listen to the experiences of those people, it makes me realize that everything is political and for them, everything has to be fought for.

It seems like a lot work for you, alright then. But, as I said, this is the low-hanging fruit. It's the least expensive thing we can do. Yeah, it might uncomfortable for you, but it might start something life changing for a lot of minorities in our industry.

Thread Thread
 
habereder profile image
Raphael Habereder • Edited

Alright, as for the first part, I absolutely agree. The drive to make Tech more inclusive is absolutely necessary. I fully support that.

But again, where do we draw the line?

Where do we stop? When is enough enough? Who defines we reached 200% inclusive?
If we are trying to build a utopia in technology, where everyone is, as you said "200% included", we are bound to fail, or endlessly spin in place.
Terms in one language more often than not mean something completely else in another. An example I was provided on a different site about this very same topic. Black in Spanish. Totally fine for spanish speakers, it implies a lot of bad things for a lot of other people.
Language is highly sensitive and contextual.

It seems like a lot work for you, alright then. But, as I said, this is the low-hanging fruit. It's the least expensive thing we can do.

Here I am bound to disagree. The least expensive thing to do, is accept that technologies like git are tools, and tools are just that. Something you use. That's it.

Yeah, it might uncomfortable for you, but it might start something life changing for a lot of minorities in our industry.

I have never stated it to be an uncomfortable change. I have stated "due to a political debate, that's where I actually draw the line and seriously have to ask for the ROI of this proposition".
That is it.

I would ask you to stay civil and on topic please. There is no need to assume that the topic and change would be uncomfortable to me, because that way you implicitly brand me racist. Which I am proud to say, I am most definitely not. I am just practical and ask "why do you think this is necessary", since it obviously isn't for many people.

Because software, even if you believe it is apolitical, is used by real people, and more often than not, against real people.

Yet again, context. Git is (I can think we can go as far as to claim it is proven), not made to hurt you or work against you in any way, so this argument doesn't apply here IMHO.

If you think git, or a term within it "might have a racist connotation", without any proof, all based on speculation, I have to and will question your line of thought as to why you think that is and why you assume people feel wronged by it.

Thread Thread
 
damcosset profile image
Damien Cosset

It ends when our industry is welcoming and inclusive for everyone... We might fail. No excuse to not try. We might pick the wrong battles. This is a small one, it often start like that. But at least something happens

Thread Thread
 
dandv profile image
Dan Dascalescu • Edited

I also haven't seen any sort of serious argumentation for the pros and cons of making this change. The "reasoning" I've seen so far has been along the lines of "master/slave" was once used to refer to evil things, therefore we shouldn't use the word "master" in Git. Nothing more than that, then we go straight into how to do something before even spelling out a convincing "why".

I don't find that one-line argument convincing at all:

  1. Words change meanings over time
  2. The argument is akin to implying that tools (which is what words are) can be inherently evil. By that logic, "computers were once used for evil (hacks etc.) therefore we should stop using them".
  3. I haven't seen any evidence of the word "master" being offensive to any black developers using git. On the contrary, see the screenshot from my response.
  4. There's no consideration of the implications of this change. What if it hurts far more people in far more practical ways (time lost, broken build processes, actual suffering due to staying up all night to fix a P0 caused by this rename etc.) than the possible sensibilities we think it might save of the people from point 3. above, for which no evidence was presented to even begin an ROI comparison?

Hopefully the reasons above may help explain the update from the OP:

People seem to push back on this, for whatever reason...

Thread Thread
 
habereder profile image
Raphael Habereder

Thank you for your comment. I was feeling like my view on things was way off the mark.
Though you definitely described it much better and more sensible in your comment :D

You have my gratitude.

Thread Thread
 
dandv profile image
Dan Dascalescu

Thank you for spelling out the implications and bringing up the ROI point, which I've included in my, ahem, main, reply to this discussion.

Thread Thread
 
habereder profile image
Raphael Habereder

I am honored to be a part of your well constructed reply!

Everything has a cost, most people seem to forget that. I don't even want to begin calculating how much this change would probably cost, even if it took only half an hour for the average project (which, let's be honest, is totally underestimated).
That's just the businessman in me.

Just don't quote me too much, I mostly blurt out my thoughts without the necessary filters for topics this sensitive. I would rather not drag you through the mud with me :D

Thread Thread
 
mosfetish profile image
mosfetish

Words do change meaning over time, and that's a very important point, but they also have different contexts, and the contexts in which master is and has been used over time are far greater in number than the master/slave context.

We have masters in many fields. sports and occupations. We use the word master in many situations, both social and technical, that have nothing to do with or have never had anything to do with the very narrow context of one person (master) owning another (the slave).

Add them up. How many uses of master are in use in language that have no relation whatsoever to the ownership of one person by another? I'm guessing it's 1000 to 1. Further, master is not derived from the master/slave context. Master exists independent of it.

And our minds should be able to operate independent of it, too. I find it wholly offensive that people are treated with such disdain that they must have their eyes protected from a combination of six letters that in the vast majority of contexts has nothing to do with master/slave.

One other point. This movement to simply remove words from the language is using the same strategy that government censors use to suppress free discussion. It's easier to simply eradicate words (or combinations of words) than it is to argue against the ideas they represent. The easy route is simply to ban. The more productive, and more moral route, is to challenge and discuss.

Some comments have been hidden by the post's author - find out more