The branch is now called "main" because the previous name "master" was found to be problematic due to historical racism / colonialism. And so it remains historical racism / colonialism the cause for the name of the default branch for newly-created repositories on Github.
If you step around a nail sticking out of the ground, then the nail is the cause of you taking the path you take, yes. But the point is: you're no longer stepping on the nail.
> is now being changed in explicit reference to human slavery
So? It's being changed to something that's no longer an oblique reference to human slavery. The fact that it's being done to because of that reference to human slavery is the entire point, not a mark against it.
Serious question - if the word "master" is now bad, even in cases where the term "slave" is absent, shouldn't we be renaming the "Master's" degree? I don't fully understand all the nuance here.
Arent master of craft and master bits same/similar? And what about the name Owner for things? I'm in favour of these moves but they feel like empty gestures to me.
That's what happens when latin disappears from the default baggage of an educated person and you can no longer recognize etymologies: master comes from magister (teacher). The owner of slaves was the dominus (which begat words like domain etc)
The terminology for repositories is rooted in master/slave relationships, even if we no longer use the "slave" part.
The "master" in "master's degree" indicates that you have mastered a topic, and the terminology comes instead from the master/apprentice relationships. Totally different background.
A "master copy" is final — it is not mutable. The argument that the "master" in repository branches comes from the same terminology requires a sufficiently flexible definition of "master" that I find the claim suspect.
On the other hand, consider the fact that in most VCS workflows the alternate branches essentially report to the master branch by periodically merging with it. This is similar to the master/slave terminology in use with disk drive configurations.
The logic behind the original first use of the name doesn't matter.
The way the word "master" is used in the default branch of git repos, is in the context of master/appearance not master/slave. And the way it is actually used is what matters, not the logic of why one person decided to use it.
Uhhh please explain how non-master branches are considered "apprentices" to the master branch. When they contain sufficiently good code, do they get promoted to master? Do we have multiple master branches in a single repository?
Of course not. This line of argumentation is silly.
The use is most similar to the explicit master/slave terminology used in disk drive configurations, where the "slave" drives report to the "master" drive. In VCS, the alternate (non-master) branches do their own work and periodically "report" to the master branch by merging to it.
>When they contain sufficiently good code, do they get promoted to master?
Yes, by being merged in.
In a replication master/slave, the changes on master get replicated to the slave, but the changes on the slave do not go up to the master, as no changes are allowed on the slave that did not come from the master. In this example the slave has no autonomy.
In the git example, this is reversed, its rare that feature branches get updated to master, only if they go long enough, you can think of it as the apprentice branch operating with autonomy, learning from the master branch, until it becomes the new jedi master, and the old master retires.
Uhhh hm, is this not the same origin in use for master/apprentice relationships? An apprentice cannot themselves have apprentices, but once they have proven their capabilities they are given the title of "master" and granted the ability to take on other apprentices (i.e., teach others).
To me those seem practically indistinguishable, but I will admit I did not dig into it far enough to determine whether the true etymology is as closely aligned as I have assumed. I wonder whether you happen to know offhand (if not I will try to look into it further).
Magister gets its meaning from magis, meaning "greater" (in a general and generic sense). e.g. A magis quam B means A is greater than B, A rather than B, etc.
I agree with the sentiment but I would add that slavery isn’t even necessarily racist. Maybe it was in the USA but not in the rest of the world. Even today there are people who are slaves to others that look like them (“race” is silly when talking about humans).
Is this strawman helpful? No one is claiming this will single handedly solve racism. There's effectively no downside, so any upside means it's an easy decision.
As an Asian, I'm offended that yellow is used to indicate warnings. Please change all instances of that to some other color. "There is effectively no downside, so any upside means it's an easy decision."
Are we just changing the nomenclature because we want to pretend that master-slave relationships did/do not exist? What is this fixing? (Genuine question from a person who grew up in a former colony)
This is meant to cater to rich liberal sensibilities. Similar to protesting Joe Rogan, when they expropriate from artists day-in-day-out. They only pitch a fit when someone dares to say something that crosses their elitist feelings.
I really, really like the example of Sweden changing the side they drive on. They used to drive on the left, like Britain. However, Sweden, as the astute observer will notice, is not an island.
Neighbors and close-by countries Norway, Denmark, Finland, Germany, Russia all drive on the right.
So Sweden had 2 (I think) referendums to change the side. Because people are creatures of habit, the referendums failed.
About a decade later a government somehow snuck the change in a law, I don't remember how.
There was much gnashing of teeth, but they switched. For a while I think light accident rates were higher as people got used to the system. I think major accident rates even went down, as people were a bit more cautious than usual.
After that, it all went back to normal and I imagine a young Swede in 2020 doesn't even know much about it anymore.
I will probably get down voted about this, but I don't care. There are almost no downsides to what they're doing and the people complaining are complaining for silly reasons.
The new term is neutral, it's shorter, the downside of renaming a branch is negligible for git.
People are making sarcastic remarks like "Oh, racism is solved now!"
Obviously racism isn't solved by this, but it's a net-positive change that doesn't take much work to adapt to and is mostly unobtrusive. I don't see why that's something to get upset about, unless you endorse the maintenance of systems that can be seen as oppressive (now matter how small the oppression!). There's no good reason not to be on-board with this change.
The downside is that it shows the crazies in are charge and there is no one with a brain cell left to stand up to them.
Just like when that lecturer was suspended for saying ne-ga. Oh a word sounds close, better punish him for racism. Oh “master”, a word that has another meaning in a totally different context, better remove it.
Anyone that allows bullshit like this to happen is enabling these extremists to have their way.
Let’s overlook the little things so we can overlook the big things too right?
Wait until they come for you when you have a minor transgression and get branded as a counter-revolutionary. This is the start of the American Cultural Revolution.
That group might be small but some other people (who some will say are overreacting and draw parallels with 1984 Newspeak) decided to not offend people for nothing.
I guess the main argument is a slippery slope type of thing.
What I've found, though, is that people in aggregate are reasonable. Slippery slopes almost never happen, not in the "landslide" sense. Things shift a bit, quite slowly, and at some point the shift slows down or even stops. And yes, I know about exceptions (Germany WW2, etc.). There's a reason we call them exceptions.
I can't wait until we stop using the word "occupied"(as in - occupied disk space, or occupied toiled) - my own country has been occupied so hard it stopped existing for nearly 100 years, countless people have died fighting against occupation, and now just seeing the word offends me, because somehow I grew to an adult age without the ability to differentiate between intention and context.
Obviously, it's nonsense. I don't have anything against github changing the names if they desire to, but I wish we called the argument behind it exactly for what it is - nonsense.
> In my case, I feel offended when anyone brings up things like that. Please stop posting this kind of comments.
I don't mean to offend anyone, I just have to point this out:
I'm Romanian. Considering how much worse, overall, our history was compared to yours (since I noticed you're Polish), I'm not sure you get to play the "I'm offended" card against me.
I was only trying to highlight that this slippery slope you talked about do exist and happens all over the Internet, and no I'm not Polish. Whether one would be really offended or just pretend to be is not the issue but mindless word policing is never for the benefit of discourse.
My argument is that these changes are being conducted with horrible process. As an engineer, if I want to solve a problem, I first nail down what exactly the problem is, and then evaluate the effectiveness of different solutions. Usually some stakeholder I care about is involved.
EXACTLY what problem is trying to be solved in this change, and for what group? Do we actually have accurate representation from that group? Do we have any reason to believe that this change will make things better for that group? As my own organization grapples with similar things, the answer is “no”, and we haven’t been able to find anyone else who’s approaching these things with any engineering-like process. You all are pushing new things into master without any of the usual industry practices which we’ve developed over decades to protect against unforeseen consequences. That’s not a trend I want to be a part of.
I appreciate the sentiment, but I think there's a problem with your proposed methodology (which I readily admit I do not have a direct solution to).
Requiring so much proof puts a significant burden on people who might actually be in the affected group.
(Before going further, I want to say that I am not in this comment taking a firm stand on the master->main transition directly, but rather commenting on this type of process in general.)
Let us assume that in the general population GP of people exposed to a given term T, there exists some portion of people who feel they are negatively affected by it (GP_n) and those who do not feel directly affected by it at all (GP_0).
A proposal is made to transition from using T to T'.
Some portion of GP_0 will report that they are opposed to this transition, which we can call GP_opp. I would argue that, based on reactions to the master->main issue, the members of GP_opp are either a significant portion of GP_0, or else are incredibly vocal.
Members of GP_opp call on GP_n to make their voices heard and to systematically prove their injury due to use of T. They say "I do not see the problem with T. Please explain to me why you find use of T bad, and why T' is a better substitute."
Many members of GP_opp make this call.
So now those in GP_n — which was likely a minority of GP to begin with — find themselves needing to explain over and over again the same issue. It is tiring, and it is burdensome. They are constantly needing to defend their emotions against people who claim that the T->T' transition is illogical and baseless.
I would argue that this is an undue burden. We, as a society, should do better. If the T->T' transition is not incredibly difficult to perform, and if T' is a strictly (or even just mostly) improved alternative to T, then I think we should not be requiring members of GP_opp to defend themselves systematically. We should not be going to great lengths to prove the necessity of the transition, because the transition itself is not that big of a deal. It's a relatively minor change, but one which when completed leaves us in a net positive state.
There's no particularly good reason not to make the T->T' transition, other than "tradition" or a minuscule amount of effort.
---
Applying engineering principles to human problems only serves to maintain a status quo that we already know is harmful to people in various minority groups (whether race or otherwise). Yes, it sounds reasonable, but that's really the issue with a lot of things going on lately to begin with: it sounds reasonable, but it really isn't, because arguing in favor of it requires ignoring the emotions of the people who are most likely to be affected to begin with.
I think instead we, as a society, should be moving towards arguing on behalf of people who might be injured, instead of requiring the injured to defend themselves. If no harm is done by transitioning from T->T', then why fight it? What good reason is there to not be onboard with such a change?
I cannot think of one, so I err on the side of trying to consider the feelings of those who I haven't met. I try to think about how what I do may affect others, instead of requiring that other people prove that I have affected them.
---
It's definitely worth putting some consideration into these things to ensure we're not wasting time on a bunch of unimportant stuff, but when it's something as trivial as changing the name of default branches of git repositories... I don't see what the hullaballoo is all about. Why shouldn't we? What are we avoiding? It seems to me that there's just a lot of people who are uncomfortable with change in general, and unfortunately it is this attitude that has by and large caused social progress of important issues to stagnate. Too many people fight change for the sake of fighting change, and the...
> So now those in GP_n — which was likely a minority of GP to begin with — find themselves needing to explain over and over again the same issue.
They should be able to avoid this if they can type up a few sufficiently convincing arguments, and then instead of explaining over and over, they link the most relevant of those in any discussion.
> There's no particularly good reason not to make the T->T' transition, other than "tradition" or a minuscule amount of effort.
We don't know the effects of this transition. You think they're minimal. They probably will be, but there is at least some risk, and yet extremely minimal analysis of the benefit. The risk v.s. reward tradeoff is totally unclear until someone actually bothers to quantify it.
My worry is the accelerating spiral towards axing ever more of our language. If "blacklist" is offensive (I'm more concerned with the removal of that term than I am "master"), does that mean "black market" will also be offensive two years down the road, so we replace it as well? What happens to "gray market"? Nobody really cared about it ever, but without "black market", "gray market" no longer makes any sense. The metaphor is broken, so I guess we have to go with "legally-ambiguous market" and then I feel like something was lost along the way. Metaphors are powerful tools in language which allow you to express ideas more vividly; I will miss them when they're gone.
My bigger worry is the gradual relaxation of the requirement to drive changes by measurement, which is one of the fundamental principles which has allowed technology and science to achieve more than many other fields/approaches.
> Applying engineering principles to human problems only serves to maintain a status quo that we already know is harmful to people in various minority groups (whether race or otherwise).
To my knowledge, we actually don't know this. We don't know that minority groups are harmed by the use of the language currently under discussion. You can claim that they are, but you need to back that up with something measurable. Anecdotes are weak: I can point to a half-dozen trans friends (a different minority group with which I have more experience) that complain to me about Microsoft's use of PoliCheck. In that limited sense, they could be a minority group which has been harmed by the people wanting to make the type of language change you're advocating. Now's a great opportunity for you to show me that some group of people is meaningfully worse off because of the use of the language under discussion. I'm open to having my mind changed, just show me something.
> I appreciate the sentiment, but I think there's a problem with your proposed methodology (which I readily admit I do not have a direct solution to).
I feel that this is the blocker. The methodologies we use today have their limitations. But I don't think that's reason enough to sidestep them completely. We have gotten so much further with these methodologies than we ever got without them, and so tossing them out seems like a dangerous step in the wrong direction. If you argue that today's dominant problem-solving methodologies are ill-suited to the problem at hand, then seek to make them stronger. Don't toss them away.
Yes, it's worth to remove words and terms even if it offends one person. We should start removing these from dictionaries and from our speech. One offended person is one too much.
It's offensive to "some people" (mainly: opportunistic blue-haired white people with a variety of mental illnesses), so it's appropriate to censor your mention of the term — it matters not that you're not using it (in the use vs mention sense of the distinction). Sort of like the way we say "n-word", "c-word", "b-word", et cetera.
I always thought "master" was an odd name for the primary branch anyway. Hopefully most of us can agree on that, even if we don't agree on the motivation for the change.
Main is pretty solid as a term, though. And the amount of people who know what a master recording is is minuscule in my experience, especially among non-native English speakers.
Main is kind of obvious, even if you don't know a lot about English.
They should change it again and again, just for the sake of changing since developers don't deserve their sanity. That's cheap publicity.
So change it to "default", afterwards change again to "trunk" after that change again to something else no-one cares anyway, it's all just great fun. Btw move to Gitlab instead!
I agree, we'll get used to it in a few years, and think nothing of it.
I'm not totally convinced if this is an appropriate or effective response to systemic racism - compared to, say, working on company culture or donating to worthwhile causes to address the more substantial issues in society.
But the fact that the new default branch name is shorter, 4 letters instead of 6, is a saving grace. I can see the value, while being skeptical of the reasoning behind it. Even those opposing the change would probably agree that it's logically a better naming.
> I'm not totally convinced if this is an appropriate or effective response to systemic racism - compared to, say, working on company culture or donating to worthwhile causes to address the more substantial issues in society.
It doesn't materially solve anything aside from being an empty victory for people who can't understand the concept that words have context. It's a waste of energy and resources. All it does is cause unnecessary strife.
The first downside is that it creates work. Yes, some tools will break, it's always going to happen when stable identifiers are renamed. No, saying "it was always theoretically possible" is not a get-out clause. Breaking software has a cost, often a large and unpredictable one. Any protocol, any API can theoretically change at any moment, which is why successful software companies often promise not to do that.
Secondly and more subtly it creates work discussing it, actually doing the renames. This is time that would be spent on other useful things, but instead gets sucked up by this.
Thirdly, the premise is offensive and wrong, which will anger a lot of people. The implied belief behind these changes is that the people who chose to use the word "master" before were racist. And now all this fuss has occurred, there's an even stronger implication that anyone who does not rename their branches is racist. But this isn't true and thus a deeply offensive case of false accusations on a truly epic scale. Moreover this appears to assume that language creates reality, so strongly that renaming "master" to something else will actually alter people's deeply held and embedded beliefs based on their own lifetime of experience. There's a lot of evidence this idea is completely false, in fact linguists haven't believed this for nearly 100 years. So it's anti-scientific.
Fourthly, everyone knows that exactly because the premises are aggressive and irrational, it doesn't stop with this. The sort of people demanding these changes are insatiable. Once you start paying the Danegeld, you never get rid of the Dane. Next up, anywhere that uses whitelist and blacklist. You think renaming master generates an acceptable level of breakage? Wait until those two start getting renamed and a whole lot of security mechanisms stop working. What about whitespace?
No, the madness (for that's what it is) will never end. The downsides to giving in to this kind of aggressive, toxic demand are limitless because there will never be a point at which the Woke Police will feel they've done enough - they will continue demanding that when they yell and get upset you dance for them, forever, until they are expelled from the communities they are attempting to take over.
One beauty of git is you can call your default branches whatever you want. You just may need an extra step or two in setup based on the repo host service.
- Years of muscle memory
- git itself uses master
- a lot of tooling / commands expect master do they now need to be aware of main vs master
- I understand the need for some to allow to change the default but just changing it for everyone by default is a step to far
Generally people who are concerned about Political Correctness are defending the status quo. "The right distance" is no change from the status quo. Anything which might move the needle away from the current state is "too far".
So if i create a repo locally, where the default branch name is still master, commit some work to it, then create a repo on GitHub, where the default name is now main, then push my local repo to GitHub, will my commits appear on the repo page? Or will it present an empty main branch?
I always create repos this way - i never create on GitHub then clone the empty repo. It would be annoying if this stopped working smoothly.
The repo is always going to be leading. If you create a repo locally with a master branch and push it to Github, it will still have a master branch on Github and all the commits will be visible normally. Github is not going to automatically add an empty main branch without your permission.
The only difference is that Github might not assume the name 'master' for the default branch anymore, so you may have to change the default branch in the project's settings on Github. Possibly Github will detect that there's only one branch and set it as the default, or recognize 'master' as the initial default branch. We'll have to wait and see what the exact behavior will be. Either way it won't stop you from using a Git repo with traditional naming conventions on Github in any shape or form.
It's one thing to own a printing press, but it is an entirely different league when you control the very language and its usage. This is a minor event in the larger context of control over the language of discourse.
1984 features control over language, and subsequent distortion of the meaning of words, as one of the main methods of societal control in the depicted dystopian society.
~
But playing this game can be fun! For example, my Apple Inc. supplied dictionary defines "main" using terms such as "dominance", "supreme", "paramount", "preeminent". So, it remains about "power", "position", and "authority".
As some suggested, "default" would have served the stated functional purpose of the word switch, without substituting one power word for another:
"a preselected option adopted by a computer program or other mechanism when no alternative is specified by the user or programmer: the default is fifty lines"
It's clear by all the negativity that people here care a lot about this, but I really don't understand why. What's so important about keeping the name of the branch "master"?
I think I'd be pretty confused in both cases—I've never seen people use "trunk" as a branch name, so I don't know what it would mean to them. I mean, personally I think "trunk" makes the most sense as the default branch, so I would like to assume that's the default branch, but, with 2 or 3 of them, I'd mostly wonder how they all got there.
I'd look at the graph, cause sometimes you end up with a stale master/main and everyone pushing to "develop" and cutting releases from that.
Heck, I worked on a repo where "master" was 2 years untouched, "rc" was like 8 months untouched and effectively deployment, "next" was effectively the release candidate but also used in production elsewhere, so it was gated like it was a master branch, and everything else was dev. Yeah.
I personally don't care how it's named, but it seems silly to change a commonly used word because one of its multiple meanings in a completely different context is associated with something bad.
If we are going this route, just in case we should also remove the word "default", because it means failure to repay a debt, to avoid upsetting somebody in a tough economic situation.
I don't particularly care about the change but I do care that my status as a minority is being used by people with an agenda to justify token changes with no meaningful effects and that they're getting praised for it. This is not progress, this is trivialization of being a minority by outsiders.
But if people create a branch locally, no change it’ll still default to master in git right? Who starts writing code or a repo by creating it on GitHub first?
Some repo I use still use master, some have main. I can retrain my muscle memory (and my scripts) eventually, but having both of them coexisting around in my various projects directories is already biting me. I honestly don't mind about the name (and if it weren't for muscle memory i think main is nice and short; perhaps "tip" would have been even shorter)
Old English mægen (Mercian megen) "power, bodily strength; force, violent effort; strength of mind or will; efficacy; supernatural power," from Proto-Germanic maginam "power" (source also of Old High German megin "strength, power, ability"), suffixed form of PIE root magh- "to be able, have power."
Original sense of "power" is preserved in phrase might and main. Also used in Middle English for "royal power or authority" (c. 1400), "military strength" (c. 1300), "application of force" (c. 1300). Meaning "chief or main part" (c. 1600) now is archaic or obsolete. Meaning "principal duct, pipe, or channel in a utility system" is first recorded 1727 in main drain.
I don't think main is as fraught, see the AAVE/historic dialect pronunciation of master "massa" and the baggage therein.
Master much more clearly implies the antonyms "slave" "servant" "underling". to me, "main" doesn't have one single strong antonym, it's more contextual, but could be side, alternate, aux, etc.
Language is way too nuanced for us to allow the negative uses to infect the non-negative uses.
This whole thing is stupid. Its normalizing treating language and words in a "gold nugget in a pile of shit" sort of way.
If you could tell me that this whole push would not also come with a slowly growing judgement of people who don't conform to this new nomenclature it would be easier for me to not care. But thats never how these things work, and I can't really support adding more and more landmines for people to stumble over in social situations for no gain.
And it all comes back to context. Allowing bad contexts to infect other contexts just isn't maintainable. Its unneeded mental load to social situations, and it runs counter to how language functions.
I like this change. “main” is more easily understood.
Presumably GitHub will be around for a while so this change will forever make it a little bit more straightforward for people new to GitHub.
Additionally if anyone says that they’d benefit from the change then I think it’s best to take them at their word because the cost to change is not high.
138 comments
[ 2.8 ms ] story [ 208 ms ] threadSo? It's being changed to something that's no longer an oblique reference to human slavery. The fact that it's being done to because of that reference to human slavery is the entire point, not a mark against it.
And a second random example here: https://en.wikipedia.org/wiki/Mastering_(audio)
While we're at that:
Ma,am -> madam -> ma dame -> mea domina (my mistress)
The "master" in "master's degree" indicates that you have mastered a topic, and the terminology comes instead from the master/apprentice relationships. Totally different background.
Edit: I provided it in child comments, but support for my claims is available here: https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
Citation needed, i think. I assume it's rooted in the idea of a master copy.
On the other hand, consider the fact that in most VCS workflows the alternate branches essentially report to the master branch by periodically merging with it. This is similar to the master/slave terminology in use with disk drive configurations.
Edit: A source for support here: https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
That tweet is from the original creator who made "master" the default branch in git.
https://twitter.com/xpasky/status/1272280760280637441
https://twitter.com/xpasky/status/127228076028
Yeah, but only because you slaved away on it for years right?
The logic behind the original first use of the name doesn't matter.
The way the word "master" is used in the default branch of git repos, is in the context of master/appearance not master/slave. And the way it is actually used is what matters, not the logic of why one person decided to use it.
Of course not. This line of argumentation is silly.
The use is most similar to the explicit master/slave terminology used in disk drive configurations, where the "slave" drives report to the "master" drive. In VCS, the alternate (non-master) branches do their own work and periodically "report" to the master branch by merging to it.
Yes, by being merged in.
In a replication master/slave, the changes on master get replicated to the slave, but the changes on the slave do not go up to the master, as no changes are allowed on the slave that did not come from the master. In this example the slave has no autonomy.
In the git example, this is reversed, its rare that feature branches get updated to master, only if they go long enough, you can think of it as the apprentice branch operating with autonomy, learning from the master branch, until it becomes the new jedi master, and the old master retires.
To me those seem practically indistinguishable, but I will admit I did not dig into it far enough to determine whether the true etymology is as closely aligned as I have assumed. I wonder whether you happen to know offhand (if not I will try to look into it further).
That tweet is from the original creator who made "master" the default branch in git.
https://twitter.com/xpasky/status/127228076028
https://twitter.com/xpasky/status/127228076028
If you want to flag this comment, please post why you believe it goes against the HN rules.
This will let you override this change, so you can set whatever default name you want for the first branch of new repos
Done that. Github can virtue signal on their own code if they want. But they're not doing it on mine.
I don't think anyone is trying to hide the horrible parts of history.
https://www.google.com/amp/s/www.nationalreview.com/2017/04/...
https://github.com/ContributorCovenant/contributor_covenant/...
Both have some interesting discussion points.
https://en.m.wikipedia.org/wiki/Master/slave_(technology)
Two years from now - no one will care about that
I really, really like the example of Sweden changing the side they drive on. They used to drive on the left, like Britain. However, Sweden, as the astute observer will notice, is not an island.
Neighbors and close-by countries Norway, Denmark, Finland, Germany, Russia all drive on the right.
So Sweden had 2 (I think) referendums to change the side. Because people are creatures of habit, the referendums failed.
About a decade later a government somehow snuck the change in a law, I don't remember how.
There was much gnashing of teeth, but they switched. For a while I think light accident rates were higher as people got used to the system. I think major accident rates even went down, as people were a bit more cautious than usual.
After that, it all went back to normal and I imagine a young Swede in 2020 doesn't even know much about it anymore.
The new term is neutral, it's shorter, the downside of renaming a branch is negligible for git.
A tempest in a teapot.
Obviously racism isn't solved by this, but it's a net-positive change that doesn't take much work to adapt to and is mostly unobtrusive. I don't see why that's something to get upset about, unless you endorse the maintenance of systems that can be seen as oppressive (now matter how small the oppression!). There's no good reason not to be on-board with this change.
Just like when that lecturer was suspended for saying ne-ga. Oh a word sounds close, better punish him for racism. Oh “master”, a word that has another meaning in a totally different context, better remove it.
Anyone that allows bullshit like this to happen is enabling these extremists to have their way.
Let’s overlook the little things so we can overlook the big things too right?
Wait until they come for you when you have a minor transgression and get branded as a counter-revolutionary. This is the start of the American Cultural Revolution.
That group might be small but some other people (who some will say are overreacting and draw parallels with 1984 Newspeak) decided to not offend people for nothing.
I guess the main argument is a slippery slope type of thing.
What I've found, though, is that people in aggregate are reasonable. Slippery slopes almost never happen, not in the "landslide" sense. Things shift a bit, quite slowly, and at some point the shift slows down or even stops. And yes, I know about exceptions (Germany WW2, etc.). There's a reason we call them exceptions.
I know, after-all there are people who are offended to anyone having a Master degree.
> I know about exceptions (Germany WW2, etc.)
In my case, I feel offended when anyone brings up things like that. Please stop posting this kind of comments.
Obviously, it's nonsense. I don't have anything against github changing the names if they desire to, but I wish we called the argument behind it exactly for what it is - nonsense.
A German tourist drives through the Polish border, the guard asks
"name?" Helmut
"married?" Yes, two kids
"occupation?" No no, just visiting
I don't mean to offend anyone, I just have to point this out:
I'm Romanian. Considering how much worse, overall, our history was compared to yours (since I noticed you're Polish), I'm not sure you get to play the "I'm offended" card against me.
EXACTLY what problem is trying to be solved in this change, and for what group? Do we actually have accurate representation from that group? Do we have any reason to believe that this change will make things better for that group? As my own organization grapples with similar things, the answer is “no”, and we haven’t been able to find anyone else who’s approaching these things with any engineering-like process. You all are pushing new things into master without any of the usual industry practices which we’ve developed over decades to protect against unforeseen consequences. That’s not a trend I want to be a part of.
Requiring so much proof puts a significant burden on people who might actually be in the affected group.
(Before going further, I want to say that I am not in this comment taking a firm stand on the master->main transition directly, but rather commenting on this type of process in general.)
Let us assume that in the general population GP of people exposed to a given term T, there exists some portion of people who feel they are negatively affected by it (GP_n) and those who do not feel directly affected by it at all (GP_0).
A proposal is made to transition from using T to T'.
Some portion of GP_0 will report that they are opposed to this transition, which we can call GP_opp. I would argue that, based on reactions to the master->main issue, the members of GP_opp are either a significant portion of GP_0, or else are incredibly vocal.
Members of GP_opp call on GP_n to make their voices heard and to systematically prove their injury due to use of T. They say "I do not see the problem with T. Please explain to me why you find use of T bad, and why T' is a better substitute."
Many members of GP_opp make this call.
So now those in GP_n — which was likely a minority of GP to begin with — find themselves needing to explain over and over again the same issue. It is tiring, and it is burdensome. They are constantly needing to defend their emotions against people who claim that the T->T' transition is illogical and baseless.
I would argue that this is an undue burden. We, as a society, should do better. If the T->T' transition is not incredibly difficult to perform, and if T' is a strictly (or even just mostly) improved alternative to T, then I think we should not be requiring members of GP_opp to defend themselves systematically. We should not be going to great lengths to prove the necessity of the transition, because the transition itself is not that big of a deal. It's a relatively minor change, but one which when completed leaves us in a net positive state.
There's no particularly good reason not to make the T->T' transition, other than "tradition" or a minuscule amount of effort.
---
Applying engineering principles to human problems only serves to maintain a status quo that we already know is harmful to people in various minority groups (whether race or otherwise). Yes, it sounds reasonable, but that's really the issue with a lot of things going on lately to begin with: it sounds reasonable, but it really isn't, because arguing in favor of it requires ignoring the emotions of the people who are most likely to be affected to begin with.
I think instead we, as a society, should be moving towards arguing on behalf of people who might be injured, instead of requiring the injured to defend themselves. If no harm is done by transitioning from T->T', then why fight it? What good reason is there to not be onboard with such a change?
I cannot think of one, so I err on the side of trying to consider the feelings of those who I haven't met. I try to think about how what I do may affect others, instead of requiring that other people prove that I have affected them.
---
It's definitely worth putting some consideration into these things to ensure we're not wasting time on a bunch of unimportant stuff, but when it's something as trivial as changing the name of default branches of git repositories... I don't see what the hullaballoo is all about. Why shouldn't we? What are we avoiding? It seems to me that there's just a lot of people who are uncomfortable with change in general, and unfortunately it is this attitude that has by and large caused social progress of important issues to stagnate. Too many people fight change for the sake of fighting change, and the...
They should be able to avoid this if they can type up a few sufficiently convincing arguments, and then instead of explaining over and over, they link the most relevant of those in any discussion.
> There's no particularly good reason not to make the T->T' transition, other than "tradition" or a minuscule amount of effort.
We don't know the effects of this transition. You think they're minimal. They probably will be, but there is at least some risk, and yet extremely minimal analysis of the benefit. The risk v.s. reward tradeoff is totally unclear until someone actually bothers to quantify it.
My worry is the accelerating spiral towards axing ever more of our language. If "blacklist" is offensive (I'm more concerned with the removal of that term than I am "master"), does that mean "black market" will also be offensive two years down the road, so we replace it as well? What happens to "gray market"? Nobody really cared about it ever, but without "black market", "gray market" no longer makes any sense. The metaphor is broken, so I guess we have to go with "legally-ambiguous market" and then I feel like something was lost along the way. Metaphors are powerful tools in language which allow you to express ideas more vividly; I will miss them when they're gone.
My bigger worry is the gradual relaxation of the requirement to drive changes by measurement, which is one of the fundamental principles which has allowed technology and science to achieve more than many other fields/approaches.
> Applying engineering principles to human problems only serves to maintain a status quo that we already know is harmful to people in various minority groups (whether race or otherwise).
To my knowledge, we actually don't know this. We don't know that minority groups are harmed by the use of the language currently under discussion. You can claim that they are, but you need to back that up with something measurable. Anecdotes are weak: I can point to a half-dozen trans friends (a different minority group with which I have more experience) that complain to me about Microsoft's use of PoliCheck. In that limited sense, they could be a minority group which has been harmed by the people wanting to make the type of language change you're advocating. Now's a great opportunity for you to show me that some group of people is meaningfully worse off because of the use of the language under discussion. I'm open to having my mind changed, just show me something.
> I appreciate the sentiment, but I think there's a problem with your proposed methodology (which I readily admit I do not have a direct solution to).
I feel that this is the blocker. The methodologies we use today have their limitations. But I don't think that's reason enough to sidestep them completely. We have gotten so much further with these methodologies than we ever got without them, and so tossing them out seems like a dangerous step in the wrong direction. If you argue that today's dominant problem-solving methodologies are ill-suited to the problem at hand, then seek to make them stronger. Don't toss them away.
Please stop doing that.
It's offensive to "some people" (mainly: opportunistic blue-haired white people with a variety of mental illnesses), so it's appropriate to censor your mention of the term — it matters not that you're not using it (in the use vs mention sense of the distinction). Sort of like the way we say "n-word", "c-word", "b-word", et cetera.
But it does make zero difference what the name is, as long as it's descriptive.
Main is kind of obvious, even if you don't know a lot about English.
I don't understand all the huff. The branch names were designed to be mutable in the first place.
I'm not totally convinced if this is an appropriate or effective response to systemic racism - compared to, say, working on company culture or donating to worthwhile causes to address the more substantial issues in society.
But the fact that the new default branch name is shorter, 4 letters instead of 6, is a saving grace. I can see the value, while being skeptical of the reasoning behind it. Even those opposing the change would probably agree that it's logically a better naming.
As the meme-girl would say: "Why not both?" :-)
This is what every newbie programmer needs: an additional obstacle on their way learning just because some people find it cool.
The first downside is that it creates work. Yes, some tools will break, it's always going to happen when stable identifiers are renamed. No, saying "it was always theoretically possible" is not a get-out clause. Breaking software has a cost, often a large and unpredictable one. Any protocol, any API can theoretically change at any moment, which is why successful software companies often promise not to do that.
Secondly and more subtly it creates work discussing it, actually doing the renames. This is time that would be spent on other useful things, but instead gets sucked up by this.
Thirdly, the premise is offensive and wrong, which will anger a lot of people. The implied belief behind these changes is that the people who chose to use the word "master" before were racist. And now all this fuss has occurred, there's an even stronger implication that anyone who does not rename their branches is racist. But this isn't true and thus a deeply offensive case of false accusations on a truly epic scale. Moreover this appears to assume that language creates reality, so strongly that renaming "master" to something else will actually alter people's deeply held and embedded beliefs based on their own lifetime of experience. There's a lot of evidence this idea is completely false, in fact linguists haven't believed this for nearly 100 years. So it's anti-scientific.
Fourthly, everyone knows that exactly because the premises are aggressive and irrational, it doesn't stop with this. The sort of people demanding these changes are insatiable. Once you start paying the Danegeld, you never get rid of the Dane. Next up, anywhere that uses whitelist and blacklist. You think renaming master generates an acceptable level of breakage? Wait until those two start getting renamed and a whole lot of security mechanisms stop working. What about whitespace?
No, the madness (for that's what it is) will never end. The downsides to giving in to this kind of aggressive, toxic demand are limitless because there will never be a point at which the Woke Police will feel they've done enough - they will continue demanding that when they yell and get upset you dance for them, forever, until they are expelled from the communities they are attempting to take over.
At least keep the default master and let people customise it however they want.
[1] https://www.etymonline.com/word/master
Compare that to the expressed but not quantified harm by continuing the status quo.
Once we quantify both, let's talk.
How does it not affect you?
Is this really all that far? Changing the default branch name? What do you feel would be taking political correctness just the right distance?
Yes! This is happening! Realtors are often now framing the largest bedroom (often with attached bathroom) as the Primary Bedroom.
I always create repos this way - i never create on GitHub then clone the empty repo. It would be annoying if this stopped working smoothly.
The only difference is that Github might not assume the name 'master' for the default branch anymore, so you may have to change the default branch in the project's settings on Github. Possibly Github will detect that there's only one branch and set it as the default, or recognize 'master' as the initial default branch. We'll have to wait and see what the exact behavior will be. Either way it won't stop you from using a Git repo with traditional naming conventions on Github in any shape or form.
Are people changing the name for master records too? Should we change the term mastering?
Context is everything in language. I find this case (and many others, to be honest) borderline stupid.
1984 features control over language, and subsequent distortion of the meaning of words, as one of the main methods of societal control in the depicted dystopian society.
~
But playing this game can be fun! For example, my Apple Inc. supplied dictionary defines "main" using terms such as "dominance", "supreme", "paramount", "preeminent". So, it remains about "power", "position", and "authority".
As some suggested, "default" would have served the stated functional purpose of the word switch, without substituting one power word for another:
"a preselected option adopted by a computer program or other mechanism when no alternative is specified by the user or programmer: the default is fifty lines"
I'm sure all that is already in the works, unfortunately.
I see it almost as a failing of the English language, to have one word represent so many different meanings.
Heck, I worked on a repo where "master" was 2 years untouched, "rc" was like 8 months untouched and effectively deployment, "next" was effectively the release candidate but also used in production elsewhere, so it was gated like it was a master branch, and everything else was dev. Yeah.
If we are going this route, just in case we should also remove the word "default", because it means failure to repay a debt, to avoid upsetting somebody in a tough economic situation.
Yeah, it is pretty silly. But we do a lot of silly things; this one seems pretty far down the list.
> we should also remove the word "default", because it means failure to repay a debt, to avoid upsetting somebody in a tough economic situation
That's an interesting idea. Are you personally offended by the term 'default'?
I'm surprised it's drawing so much ire.
But this is free and easy.
Some repo I use still use master, some have main. I can retrain my muscle memory (and my scripts) eventually, but having both of them coexisting around in my various projects directories is already biting me. I honestly don't mind about the name (and if it weren't for muscle memory i think main is nice and short; perhaps "tip" would have been even shorter)
Let's check the etymology of "main":
---
Old English mægen (Mercian megen) "power, bodily strength; force, violent effort; strength of mind or will; efficacy; supernatural power," from Proto-Germanic maginam "power" (source also of Old High German megin "strength, power, ability"), suffixed form of PIE root magh- "to be able, have power."
Original sense of "power" is preserved in phrase might and main. Also used in Middle English for "royal power or authority" (c. 1400), "military strength" (c. 1300), "application of force" (c. 1300). Meaning "chief or main part" (c. 1600) now is archaic or obsolete. Meaning "principal duct, pipe, or channel in a utility system" is first recorded 1727 in main drain.
https://www.etymonline.com/word/main
---
Maybe it's an improvement. But not a big one (oh wait, 'big' is also 'power').
/sarcasm?
Master much more clearly implies the antonyms "slave" "servant" "underling". to me, "main" doesn't have one single strong antonym, it's more contextual, but could be side, alternate, aux, etc.
This whole thing is stupid. Its normalizing treating language and words in a "gold nugget in a pile of shit" sort of way.
If you could tell me that this whole push would not also come with a slowly growing judgement of people who don't conform to this new nomenclature it would be easier for me to not care. But thats never how these things work, and I can't really support adding more and more landmines for people to stumble over in social situations for no gain.
And it all comes back to context. Allowing bad contexts to infect other contexts just isn't maintainable. Its unneeded mental load to social situations, and it runs counter to how language functions.
Presumably GitHub will be around for a while so this change will forever make it a little bit more straightforward for people new to GitHub.
Additionally if anyone says that they’d benefit from the change then I think it’s best to take them at their word because the cost to change is not high.
"The default branch for newly-created repositories is now m-word (github.blog)"