70 comments

[ 2.0 ms ] story [ 157 ms ] thread
The discussion on this issue for git for windows got really heated and then shut down. It looks like a massacre now (scroll all the way down to see the massacre):

https://github.com/git-for-windows/git/issues/2674

It's crazy how much effort people expend fighting against this.

No one is asking you to do development work to make it happen. No one is forcing you to update your repositories or change your workflow. You're free to continue using whatever names you want for branches in your own repositories.

If other people want to do this change and are the ones doing it, why spend so much time getting so heated about it?

I would not get worked up about it if it came from individual OSS projects, out of their own free will, one by one.

However, in several OSS projects I follow, it was always corporate steered "open" source devs who "proposed" the change and rammed it through, often against the majority opinion. To further their careers and stroke their egos.

Now GitHub, who still does business with sketchy companies (as does MSFT) does this entirely meaningless virtue signalling change.

Just to show OSS devs who is the boss and that they can do whatever they like with their money.

All of these meaningless gestures to you add up over time. A single company supporting BLM was untenable when the NFL players were doing their protests but they continued. The current protests were considered meaningless but they continued and are effecting change in society and also in legislation. The small things actually matter and it seems this small gesture matters to a lot of people on here even as they continue to say it's meaningless because removing references to slavery actually isn't meaningless.
Because language is a shared good, established by convention. When you unilaterally decide that a word in the language I use (and own, for my part) is tainted, and by chance- because you maintain a piece of software- you have enough power to impose your views, then one of two things happen: either you force me to change my language against my will (which I perceive as an aggression, because I own my language), or I decide to ignore you. But in this case, since I have to wilfully ignore you, by doing so I am implicitly making a statement, which might be (and will be) misinterpreted.
I think it's important to note that master has no relation to master/slave. It's master as in master copy or master key.
"No relation" is wrong since it is the same word.
Like how "fluke" as in parasite and "fluke" as in tail lobe are the same word?
(comment deleted)
If you are curious you can look it up in an etymological dictionary.
I was asking a rhetorical question.

Apparently, nobody here understands that.

Read; read. Bail; bail. Ride; ride. Cap; cap. Tap; tap. The list goes on. English is full of words with totally different meanings but the same spelling.
You are thinking of homonyms.
You might be right. You could argue Master does have a homonym, as "Authority over thing" comes from Latin origins in "magister" while "Full proficiency at a skill" comes from the French "maistre". But they more or less came to mean the same thing in English. To say someone has "Authority over a skill" embodies the meaning of both at once as an example.

Digging into the usage of Master for "Master Copy" you could say the intention is that the master copy has authority, or highest standing, over all other copies, so more or less the meaning they were trying to avoid.

Words can mean totally different things. Contextually, they are unrelated.
Master: "Someone who has control over something or someone. ... (engineering, computing) A device that is controlling other devices or is an authoritative source. "

They are not unrelated. I'm not making an argument whether the word is inappropriate or not. Just pointing out an etymological fact.

The strategy here is to pick things that cannot defend themselves like words and statues and attack them. If an impact is achieved, you can declare victory, use it for recruiting, etc.
(comment deleted)
(comment deleted)
(comment deleted)
Not true. BitKeeper, which git was modeled after, which used the "master" and "slave" branch terminology.
You are mistaken. The terminology came from BitKeeper, which did use the terms in the sense of master and slave repositories: https://mail.gnome.org/archives/desktop-devel-list/2019-May/...

In any case, the git dev responsible for the choice has made their views known: https://twitter.com/xpasky/status/1271477451756056577

The git dev responsible for the choice has said it had nothing to do with master/slave:

> "master" as in e.g. "master recording". Perhaps you could say the original, but viewed from the production process perspective.

> A clueless Central European youngster whose command of English was mostly illusory came up with the term, which is why it isn't very obvious...

https://twitter.com/xpasky/status/1272280760280637441?s=20

I always thought it meant "master copy"...

I'm going to need a source for that. I can't find any reference to slave in Bitkeeper documentation.
This is what happens when you bow down on everything the ”I’m so offended by <insert some random bullshit here>” -people whine about.

I guess I better get rid of my Master’s degree before some people think I’m a slave owner.

You see it as bowing down. I see it as standing tall and making a principled choice -- not because it's going to save the world, but because the change has essentially zero cost and sends a positive message; despite the outcry of people who are offended by such things.
It sends a terribile message. That is fine to whine about unimportant things, to impose your personal interpretation of a word by morally blackmailing others [1] (if you don't do what I say you're a racist), to ignore the subtleties and richness of language.

[1] sorry, blockmailing

It's an empty gesture that requires negligible effort or sacrifice for largely zero effect on the actual problem; basically the progressives' equivalent of "thoughts and prayers". Moreover, it adds a inconvenience, albeit minor, to those outside the United States who are not a party to this debate at all.

We're not against anti-racism, we're anti-nonsense and this is just about as nonsensical as it gets. Actual effort to solve the very real problems that the US faces with regard to race would involve donations of money and staff time to help out minorities, enough to cause some level of financial stinging. If these organizations did that, that would be actually worthy of praise.

Did you also give the school bully your lunch?
No, I stood tall, fought back, and kept on being my queer-ass self. But thanks for your extremely generous question.
There are people (me included) who would like to have a reasoned, substantive discussion on the points you're raising, but HN probably isn't a viable forum.
You're right, we should move this to twitter.
Anybody else think it's a nice gesture, but cringing at the thought of updating all your deploy scripts?
What I expect them to do is leave automation & api as they are, and only change what happens when you use github web ui. But you never know I guess.
Is there anything more official than a tweet? Like an official statement?
(comment deleted)
Bad link. This is just some random person on Twitter asking about it. No relation to Github.

Nat does have a reply buried in the responses; that should have been linked.

I'm offended by the octopussy. That is really problematic. Can that be removed as well?
But she was a beautiful Bond villain...
(comment deleted)
it seems ironic to me that the people who are complaining about others being offended are usually the people who are most offended.
The only people of color that I could spot in the discussion were against the change. Some Asians were especially annoyed by the proposed change.

Looks like a cult-like group of white SJW developers within GitHub/Microsoft have painted themselves into a corner with this suggestion. It will be difficult to get out of this situation without losing face or causing more damage.

honestly who cares. this change is so benign.
Chsnging a branch name is benign? You really cant see how that could cause problems for software?

I know its the default bit there will be a bunch of people that go in and change it for the sake of virtue only to expect dependent libraroes to manually go in and fix things. Which, wont happen.

I am on board with a lot of changes, even symbolic, to assuage issues of discrimination in culture.

This feels like "Okay, we know this isn't a big deal, but 60 Minutes is going to run a segment on "Master/Slave" hard drives and Twitter is going to blow up if we don't fix this".

Like spoken elsewhere, the "master" branch is not the opposite of a "slave" branch. Those who are triggered would be showing their ignorance at the etymology, and it seems Github is just getting ahead of an outrage storm.

(comment deleted)
Flagged - this is a link to someone asking Github to change their policy, and Nat Friedman's response saying they will (https://twitter.com/natfriedman/status/1271253144442253312) is non-trivial to find in the resulting thread because Twitter has made their site nearly unusable.

Could we get some mod action to change the link? Either to Friedman's response (which would show the original question above, since it's a reply) or to something like https://www.bbc.com/news/technology-53050955 ?

Edit: Or if it's a dupe submission of something that's been beaten to death on HN several already, maybe it's not worth fixing.

Say what you will about the motivations for changing the name, but why-oh-why did they choose "main"? "trunk" continues the tree analogy ("branch") much better...
Trunk would have been the best choice from the beginning.

Maybe elephants will be offended by this name? Who knows.

what's next? will master degrees become something else? these changes are utterly stupid and don't help anything
This is as useful as a picture of water to a person stranded in a desert.
I suggest they go protest chess tournaments. There they have not just masters but also grandmasters. And while we're at it, let's ban the might and magic series on the same grounds.
Did you know that the initial rank at chess is grandslave? /s
Utopia has been achieved!

We haven't solved lots of computational problems or made the internet and computing more usable/available to everyone, but not to worry, we changed the naming standards on a tool used by a small subset of the worlds population to placate an even smaller subset of loud and vitriolic people.

> "If it prevents even a single black person from feeling more isolated in the tech community, feels like a no-brainer to me," she wrote.

I agree with the sentiment, but oh sweet summer child. You cant make decisions off of what one person feels. That barely scales up to work with just one person.

The domain "Maincard.com" just became very valuable. For when Mastercard has to change its name too.
It's a nice gesture but it's silly.

There are multiple definitions of 'master'. This has no connotation with master and slave. My other branches are not someone inferior to the master branch, and the master branch does not command the other branches. The other branches are normally an improvement on master, and master is usually transformed to resemble another branch.

If you want to fight systematic racism in society, changing the word master, when master has nothing to do with master/slave, seems a nice gesture, but rather kneejerk, and forces people to do a lot more work, all because someone failed to use a dictionary, which causes annoyance rather than a change of mindset.

They should go protest chess tournaments, there they have not just masters but also grandmasters. And while they're at it, call for banning Might and Magic series on the same grounds.
This tweet from the person who claims to have selected the master branch name laments his choice. https://twitter.com/xpasky/status/1271477451756056577

If he wants to change it from master to main/upstream I'm on board. shrug

If something this ... inconsequential to me can make some folks more comfortable I don't care. Think of it this way, it saves 2 bytes! Course upstream then takes those bytes from origin. So it is a wash after all.

Im yet to see anyone on hn say it will make them more comfortable. Just a bunch of white knights coming to do thier song and dance.
I wonder how many websites are going to break over this when everyones master branch imports break.

I, know, default, still, some idiot's gonna break something big with this.

I personally don't have a problem with renaming master to main or so. These are just terms, and I lived with `master` branches and `main` branch won't bring me any harm, if this actually helps people to feel more comfortable.

What bothers me a lot, that a group of people basically decide for the whole world, cultures and countries how should they feel about things. This clearly was a case with Rubocop renaming, where bunch of developers aggressively attacked Bulgarian maintainer [0] to rename Rubocop library because of the `cop` part. They obviously didn't care, that in many other countries police is actually protecting people and is being respected. And argument of "(in US) the word "cop" has an uncomfortable feeling about it" was enough to outweigh the arguments of maintainer, that renaming would bring a lot of problems and breaking changes.

[0] - https://github.com/rubocop-hq/rubocop/issues/8091

> that a group of people basically decide for the whole world, cultures and countries how should they feel about things

Hopefully people see now the plight of the Palestenians citizens of other regions in that area, about what the West did to them post WWII.

Isn't the word "pork" offensive to some halal or kosher developers?

https://github.com/search?q=pork <- 800 results

Since such name changes impose a lot of breakage and work downstream, we should find an objective way to designate which ones are necessary. An example could be an ongoing github poll, with the results averaged over years to prevent fads from creating work. A code of conduct could specify that if more than x% of the userbase over y years vote that <word> is offensive, it would be scheduled for deprecation in major version +1 and removal in +2.

Man, when technicality is used as a basis for such a change you have to wonder how vain the people who push for it are