Let me be clear here: I'm all for getting rid of master/slave in the context of disks, databases, DNS, ... the list is very, very long.

But when it comes to git, I always considered the term "master" in the same context as we use it in "master degree" or "master tournament".

There is no "git slave" after all, and that analogy wouldn't make much sense there.

While the transition phase may be a bit rocky, I'll happily switch to "main", though 🙂

@fribbledom yeah, i agree that git's default branch name has never really evoked connotations of slavery, unlike the enormous number of other instances in tech that you mention

my thinking is more that we should just avoid the word "master" entirely because techbros have proven they can't be trusted with it :blobcatglaredrink:

@fribbledom uh, never mind: it turns out git's use of the word "master" came from bitkeeper, which actually had "slave repositories" :blobfox0_0:

so uh. yeah, let's change it

@fribbledom An argument I have seen is that the "git master" came from the master/slave usage in bitkeeper, though I personally find that not convincing enough since bitkeeper has a totally different architecture compared to git. But that's an argument I have seen. I'm personally split on how far this elimination of master/slave should go.

Though I do think the elephant in the room here is that however inclusive GitHub decides to be, GitHub is still GitHub and does GitHub stuff... I'm fine with switching to main, but I still plan to migrate off GitHub for other reasons.

There's a lot of software that works fine with master branch and wrong with anything else.

Re create the cop departments, stop voting Republicans and stop accusing people if using words in the wrong context after its meaning was twisted. :blobcry: :blob_grinning_sweat:

@fribbledom I have no particular stance but from an observational point of view it's interesting how this actually happening the second time around - I remember this has been tried before not too long ago...!

@fribbledom yeah i'm happy to change too, no argument from me, but I always thought of Master as in like...rankings I guess? Like Novice, Professional, Master, Guru could be a possible rank system that would include it. No slaves just levels of experience.

@estoricru @fribbledom for me, it's pretty much synonymous with "main", or yeah as you said @estoricru , like "the master of all branches in this repository", "the one", etc, lol.

@fribbledom On the flip side, I have seen people refer to "enslavers" rather than "masters" or "owners" and I think I approve of that.

@gamehawk @fribbledom Very keen observation. Using force to make someone call you their master doesn't make you a master. To me a master is a teacher I respect. As a jazz musician, I am a white person with black masters.

@fribbledom I feel like avoiding "master" in general is good idea, etymology be damned.

Though I hope no-one is actually planning on "allow-exclude lists".
Because if "exclude" is used the antonym should be "include".
Though I feel like ideally it should be "allow-deny", "allow-block" etc. depending on what fits best in-context.

@fribbledom Though I doubt that last bit will happen, considering how hard it has been in the past to get software developers to be expressive or informative with their naming.

Some people don't even seem to be able to tell that there's a middle-ground between error messages which give you a super technical explanation (or an obtuse error code) and those annoyingly cloying "it seems we had a woopsy-doopsy, pwease twy again watew" pop-ups.

@fribbledom It's more like a master mold... the one from which other molds are made. The main one. The principle one. The fact that the word that replaced master does not denote a controlling relationship is telling. We don't need to eliminate the word from our language entirely.

@CarlCravens It isn’t; it’s a master/slave reference, inherited from BitKeeper.

Either etymology would be a bad fit on purely technical grounds for why it describes in git.

@fribbledom i saw this on twitter

it seems the git version was based on the bitkeeper one which seems to be a master/slave reference

@fribbledom But speaking of etymology:
I think that the "master" in Git makes more sense as the "master copy from which all other copies are made from". Like in audio recording etc.
But to me that should imply immutability and that it's in some way finalised.
Since that's counter to how most software is developed I feel like it's improper / inaccurate use of the term.
"Main" just makes more sense to me.

@Asimech @fribbledom "master" in Git is terminology inherited from BitKeeper, which does pair it with "slave".

@leigh @fribbledom Well, that just cements my "this is a good move" stance.
Not only is it bad terminology, it's "inherited" bad terminology with no real thought or justification behind choosing it in the first place.

@leigh Almost forgot: Thank you for sharing. I appreciate finding out when something has a problematic or questionable origin.

@Asimech @fribbledom in audio recording the origins of the term master copy refers to the fact that you use slave drives to copy to. So the master copy goes on the master drive and is copied onto the slave drives.

It's definitely a problematic term in that regard.

@kungtotte @fribbledom I did start wondering if there was something like that going on there as well.

Although I'm not sure how innocuous it could've been.
AFAIK even the "master" in "master [job]" is from the old master-apprentice relationship which was not exactly without it's problematic aspects.

@kungtotte Also thank you for sharing. It's always good to learn about origins for things, especially when they're problematic.

@fribbledom Coming from SVN, it took me a long time to get used to "master" instead of "trunk".

Many people, including the Git documentation, use the term "mainline", so something like "main" seems fine.

So I'm all for a debate of change. If the term "master" makes enough people uncomfortable, that's an important consideration.

In times of crisis, it's easy for people to be pressured into making changes. I think a cool-off period may be best so this can be discussed more constructively.

@fribbledom I don't think that's quite it (a Master's degree or masterpiece implies it comes after preceding work), the git use is similar to the recording technology use where a master copy is succeeded by 1st, 2nd, etc. generations of recordings. But yeah, it's too close to the older hydraulics use which was obviously referring to action

Exactly. Master in git is in the context of the original meaning of the word.

If some last century motherf**** farmers used that word in the wrong way, I am not going to give it to them.

@pthenq1 @fribbledom which original meaning? As far as I can see it's closely tied to the master/slave etymology.

And even if it weren't, what's so hard about changing language that might be problematic to something better? What do you lose by renaming "master" in git to something else?

It's before that. It came from Latin. From the Roman empire.

Anyway. If the git migration from master to main is made without breaking tools, I do not care.

And please let's change degrees. No more MBA for example. Lol


@kungtotte @fribbledom

late Old English mægester "a man having control or authority; a teacher or tutor," from Latin magister (n.) "chief, head, director, teacher" (source of Old French maistre, French maître, Spanish and Italian maestro, Portuguese mestre, Dutch meester, German Meister), contrastive adjective ("he who is greater") from magis (adv.) "more," from PIE *mag-yos-, comparative of root *meg- "great." The form was influenced in Middle English by Old French cognate maistre.

@kungtotte @fribbledom Abd the source is

if you see, the definition came from authority through knowledge.

main in the other hand, is related to power.

In any case "master" in git is not used in any slavish context (like it could be in a CI cluster). It is used in the sense of authority.

Today they go for the master word, tomorrow for the exclude word, the next day for the light colors. Who am I to stop them? :)

@pthenq1 It isn’t; it’s a master/slave reference, inherited from BitKeeper.

Either etymology would be a bad fit on purely technical grounds for what it describes in git.

@fribbledom I find it all nonsense created by people easily offended or looking for reasons to be offended or simply pushing for a change/revolution for the sake of revolution.

I was reading up on this a few days ago;

Reading the suggested 'root' alternative finally clarified what it really is. For me. After using git for... decades? master is a stupid name, (regardless of its racist connotations). Because, apparently it does not communicate its intent.

@fribbledom Likewise. I always thought in the git context the term came from "main" or "principal", not from "master/slave".

I'm not attached to the term, and would bet that particular branch is the one whose naming devs think the least about, but it seems a bit like find-and-replace run amok.

@ricardojmendez @fribbledom I have read a couple of times that, in fact, "master" in the context of Git had more to do with master/slave than with "master tournament", but I never bookmarked those references 😕

Not sure it matters a lot, because I don't think people usually make that connection... but yeah, I'm also not attached to the term and don't mind a change.

@estebanm @fribbledom Interesting, never heard that one. Wouldn't be the first thing I think about since, unlike in the context of databases or other communication systems, that branch doesn't really control the others.

Having said that, I do think "default" is a much better name. Would likely also have avoided a bunch of arguments about the branch's role.

@ricardojmendez @fribbledom
A dev thesaurus might be handy.


P.S. off topic: aponf 2020 page is ready and just waits for its final destination.

@ricardojmendez It isn’t; it’s a master/slave reference, inherited from BitKeeper.

Either etymology would be a bad fit on purely technical grounds for what it describes in git.

@fribbledom I completely agree. I don't understand why people want to replace words out of context.

I mean, if there's no slave ( and no possibility of one in the future ), then why change master?

@shine Partly because that is, in fact, where it came from; it’s a master/slave reference, inherited from BitKeeper.

The term also happens to be a bad fit on purely technical grounds for what it describes in git.

@a @fribbledom OK, I get it, but I was speaking more generally and not specifically to `git` itself though.

@shine @fribbledom It’s terrible terminology in git, purely on technical grounds, and in most cases it’s used in tech. It just doesn’t describe the things it’s labeling well. In the case if git, it obscures useful information (namely, the default branch isn’t special, and facts derived from that). We just use it because it’s ingrained in our head. It’s a choice, and a bad, lazy one.

@fribbledom someone one Twitter dug out that matter in git indeed comes from the master/slave meaning. Iirc because bitkeeper used it in this way

@fribbledom why the incapacity to use appropriate words in an appropriate context is less important than the words themselves?

This won't solve anything, unfortunately..

I could write you many different words to indicate a "woman who sells her body for money", the most nicest of them won't hide the fact that "she sells her body for money".

Do not accomunate "master" with "slaver".

It's the intentions and context that gives words their weight.

It's important!!!


Uhm, I think I pretty much argued that I don't think "master" is a problem in the context of git. I still think it's an unnecessary reference, even in most other technical contexts.

@fribbledom sure, it could be, but why now?

Would've tought the same maybe 6 months ago?

I'm not angry at you, let me be clear, this is not the first time i read about this, i just find it strange that this kind of argument jumps out right now, riding the wave of last months events..

By all means, should this be a change for the better, its welcome, i only hope for ot not to be the heat of the moment, to be forgotten in 2 months time..


I think this discussion has been going on for a while, even though it's the first I personally witness it in the context of git.

CNN, from 2003:

ISC, from 2017:

@fribbledom But is it really a reference? And, more importantly, does it matter?

Look across all the different cultures and you'll struggle to find a word that doesn't mean something negative to someone. Here in Poland, "collaborating" is universally associated as a collaboration with either the communist regime or the nazi occupant. Does that make "collaborator" a bad word? Should we ask for Github to get rid of it, claiming it's an unfortunate "reference?"

I'm not a fan of slippery slope arguments, but really – where do we stop?
@fribbledom People go up in arms about this ridiculous "master" thing. "Oh yes, if you dig deep enough in history books you'll find that it comes from Bitkeeper's master, where it used to be master/slave! A-ha! Racism!" And yet everyone's surprised by it, going "huh, I thought it's like the master tape". Because that's what it always meant in everyone's head. Perhaps we should stick to that, instead of getting hypothetically offended for the sake of Someone?

@fribbledom @v4ngu4rd ah yes, fighting Linguistic Oppression where it reallly matters: the way nerds talk about computers

@fribbledom thhough, and that was surprising to me too, the origin of the term really stems to be from "master/slave".


@fribbledom If there was a way to give a negative star to this, I would.

What complete idiocy.

@fribbledom my interpretation is this is a reference to procedure as in audio mastering

@mplammers It isn’t; it’s a master/slave reference, inherited from BitKeeper.

Either etymology would be a bad fit on purely technical grounds for what it describes in git.

@fribbledom “host/client” makes a lot more sense in most contexts anyways, and “controller/device” when one machine has complete control over the other

HOCI and HICO are pretty cute replacement names for the SPI pins too :blobcat:

@fribbledom Main seems a german word and hitler was from germany, ban the "main" word too lmao

Seriously, i don't know what comes into peoples minds when using master/slave terminology, but machines are a complete different thing, slavery is not about words, as well as mental health is not related to the existence of psychologists and the term psychology itself...

Slavery won't be fixed by banning the use of words, it's fixed by activism, by protests. Please rethink this complete non-sense.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!