The cost is measured primarily in time. Experts in git/GitHub just experience a little annoyance (per repo). But for new comers (esp self-learners) the cost is much higher (takes the form of dysfunctional instructions, tutorials, readmes), and at the margin could cause someone to give up on a tutorial.
Cost should be weighed up against benefits i.e. that those hurt or upset by use of the word 'master' would no longer be. It's highly questionable whether the term master ever upset anyone (not simply those who were upset by the idea that someone else could be upset by the term's use).
A second-order cost is the precedent. There isn't a word in the English language which cannot be interpreted as malevolent given enough effort from the interpreter. Therefore it can be a better strategy to accept that there exist words with multiple meanings depending on context, and live with this language feature/imperfection, rather than impose costly changes on everyone to benefit a (possibly non-existent) few.
Implying perfectly reasonable inquiry (namely, if 'master' is to be removed, why aren't other 'problematic' terms?) is a "jerk" for asking seems off to me.
This is a nitpick, dismissing others' questions and directing them to let it go, is overreach. That's not for you to determine. It's fine as a suggestion (especially if accompanied with your perception of why they ought to), but as a directive it comes across as though you assume you know what's better for someone else without evidence to support the assumption, or without it occurring to you that your assumption would be questioned.
I agree the case for changing words like man, kill, and abort is weak (so weak that you perceived it as a joke), but the case for changing those words isn’t significantly weaker than was the case for changing master, and master was indeed changed. OP is right to question why the weak arguments in favour of changing master won, and if this shall continue unchecked.
I'm with you on the cost basis for this. It makes no sense to die on this hill.
But to answer your question, it's unclear how "inclusive" this actually is. No person of color I've talked to about this (at least 3 that I can recall) has thought this was anything other than weird virtue signaling by admittedly mostly white social justice warriors. Their feelings on "master" terminology ranged from mild bemusement to "I REALLY DON'T GIVE A SHIT."
If the only people being "included" by this are people whom are themselves being uninclusive, even if for the right reasons... I question how "inclusive" this actually is.
That said, I'm definitely in the idgaf camp. My new repos are "main" because that's the default. Most of my old repos are still "master" because I never bothered to change it.
It is simply the soft bigotry of low expectations rearing its ugly head…again.
“Well OBVIOUSLY”, says the white knight, “some people are too stupid to understand the context and nuance of a langue like mine English. We just HAVE to adjust it because they won’t understand.”
It says much more about the people pushing such things than it does about the perceived slight.
If there was a case where that was more than a quantum of annoyance, where it actually was any kind of actual weight at all, maybe those incredibly small feelings might be interesting to weigh. But they're not. They're the smallest of feelings, weighing nothing. Making this change is the easiest lightest most obviously acceptable of wins.
This is such a weirdly patronizing comment. What exactly makes the feelings of the people who cried about the original name "bigger" than those of the people who don't like the change?
Master can conjure a horrible past. That's a real actual hazard.
Avoiding it should be easy. It should be the easiest of easy things. Make the change and move on. Hack your reality, improve things, don't make more of a glaring ugly mess of things than need be.
It costs so so little to do a small good act. You wouldn't name your primary branch holocaust or tyrant or oppressor or doommaker or worldruiner or hates[ethnicity]. But computing used master/slave extensively for decades (ex: I2C, IDE protocols). Folks arguing that it hurts their feelings to not have those names wouldn't be given any weight. These are alligator tears.
No one has made a case that "main" is a bad name. Because this isn't a real case. It's perfectly clear, no lesser a name in any way.
More broadly, when assessing positive liberty (freedom to do something) versus negative liberty (freedom from being dogged), we shouldn't favor positive liberty to make broadly harmful defaults that can hurt people and/or bring misery over negative liberty not have a world a rare couple antagonists insist on driving down in stature.
This feels to me like people either dragging their feet & bringing resistance, or, on many many cases, people actively obstructing, making an easy simple improvement much much more fraught & hard. And many of those people I feel like do it because they know it is a good change, and they actively seek to keep the world worse. I have little and descendingly less pity for any. If someone wants to build a case for why their feelings here that we shouldn't do this have weight, I'm all ears. And I'll spend some time to read more comments to see what I see. But the person I replied to made zero case for why they felt their emotional injury (as they begged for tolerance of intolerance), yet felt that their case should carry as much or more weight, where-as master/slave usage in computing are words which associates with slavery. Which is the ultimate positive liberty vs negative liberty case, which reflects the matter here: the negative liberty to not be enslaved outweighs any positive liberty to enslave.
You're free to think it's stupid!! That fact though just doesn't matter very much in this case. It doesn't actually really affect you. You can adapt, with barely more than zero cost. It's stupid maybe perhaps possibly!! But of no cost. And that's the weight of your feelings here: it's not actually of any consequence to you, you are claiming stake in a matter without any basis. You're free to feel however you like in this world, but whether those emotions actually match/reflect the circumstances that spring them matters. Generally I think most people kind of agree that it sucks that master/slave (ex: i2c, IDE protocols) nomenclature was chosen & used in computing, and calling the shift away stupid-in my view- should be taken as the smallest imaginable quantum of protest, the smallest tears imaginable. Stop stopping the world, let time progress forward, don't trap us in your negative energy forever.
> No one has made a case that "main" is a bad name. Because this isn't a real case […] they know it is a good change, and they actively seek to keep the world worse
It's a bad name and a bad change. I won't be using it. Not because "master" is good (I also won't be using "master"), but because "main" is bad—even worse than if they'd started referring to it in the documentation as the "default integration branch" and so named it "int".
I'd sooner support changing "master" to "margarita" than changing it to "main".
What is the issue with calling a branch `main`? It's the standard that's been adopted in my company and we haven't run into any issues; I'm wondering if there's anything we've missed.
(I've also seen `dev` used, short for 'development branch,' which seems pretty reasonable).
Really? I pointed out how patronizing your comment was and your response was to write a massive wall of text that is somehow even more patronizing?
Naming a branch in my git repository "master" does not "hurt people". It does not "bring misery" unless you were already miserable and looking for things to justify it. This change is of consequence to me. It does affect me. "Barely more than zero cost" is more than zero cost. I don't care if you think my opinion "doesn't matter" or is "weightless", because yours doesn't matter any more than mine. You are not a higher being of superior importance because you chose to dedicate your life to fighting a never-ending war against the unreleting evil force that is a word on a screen. Your tears are the biggest, and most pathetic of all.
Feels so very "all attack, no meat" to me. I don't see anything here working at deserving respect, nothing genuine, no try to win over to your opinion: it is focused on disregard & disconvincing, casting aside, with no actual thought or explanation or reasoning provided. You say this has consequences? Has meaning to you? Yet you don't elaborate on what consequences are, on why this great nothing-burger is so offensive.
> because your [opinion] doesn't matter any more than mine.
I wrote a wall of text because I actually care a tiny bit and have put work into explaining and backing my opinion & character. Because I think those opposed have a bar to meet, just as I want to clear a bar of respectability & engage duly on a topic that should be easy to improve on. What I see is you being quite aggressive & scathing while providing very scant little to argue your opinions.
You say our opinions are equally valid, but to me, opinions are weighed on argument, on what is said, and that's why I've tried to put my logic and character down here, to be honest & forthwith about what I'm saying: because that's the basis we have to use to assess opinions. This seems pretty agreeable to me, and again you have option to disagree, but I can't imagine doing so.
This is absolutely a question of weights. Making mountains out of mole-hills is to be avoided. The weight of this question is hardly worth considering at all, and it's absurd what tears you spill over doing such a simple improvement for the world. I'll also allow that perhaps the certainty & approach I've entered with has entrenched & only enhanced enmity to my cause. But with context, having seen master/slave used around in computing, and given how easy it is to shift & adapt to better, I continue to find opinions to the contrary to be unduly self-important, for no real reason. Why stand against such clear wins? My character may not be perfect for all, but let that not alone dissuade us.
I think those people are taken into account, and on balance are ignored because their argument is far less reasonable. "Slavery was one of the most awful things humans have ever done so we shouldn't continue to use the language of slavery to describe every day things because that diminishes the importance of our history" makes a lot more sense than "we should keep this terminology because it's tradition."
But as I said elsewhere, I do not care about that a lot. However, I do think those words are bad for other reasons because they do not illustrate the _actual_ role and relationships of branches in a VCS in a _good way_. If the master branch is not actually ruling over other branches, then it should be named something else, like "primary" as far as I am concerned.
PS: about the role in git: I don't feel that strongly about it, but I think master is somewhat more descriptive. The master branch contains the most up-to-date version of the source code, so e.g. if I'm working on a feature branch and a colleague pushes a bug fix that affects me into master, I need to merge/rebase to get the latest changes into my feature branch. So, while the master branch doesn't "rule" the feature branches, there is still the implication that changes to master should find there way into the feature branches at some point, which I think main doesn't convey that clearly.
Language is in constant flux. If a word has a remote historical connection to master/slave in a precursor project people nowadays don't even know, and people invent a "folk etymology" comparing it to a master record, do you really gain anything worthwhile from insisting on the history?
> Except the master branch has nothing to do with slavery.
It did, it originated from Bitkeeper that literally used to the term "slave" to refer to non-master branches.
> It's more like 'master bedroom.'
This is even more ridiculous. Where do you think that term came from? What made that a master bedroom in comparison to the other bedrooms? Could it be because that was the one the master was sleeping in, in comparison to the ones slaves were sleeping in?
There are many more kinds of masters than just owners of slaves. The word "master bedroom" only appeared in 1920, it has absolutely nothing to do with slavery.
No, that's just one of those made-up lies people repeat often enough online to become "true" because it's the top search result and because it makes them feel good about continuing to use that term.
> TO LET, Westmoeath Cottage and Garden, situated near to Cook's River, only
three miles from the city. the cottage contains
parlour and drawing room,and four large bed rooms ;
detached kitchen, bakehouse, landry, storeroom,
four stall stable and double coach-house, servants'
rooms neatly fitted up, together with hay-loft and
granary, school house and master's bed-room. A
cottage containing four separate rooms for overseer
and workmen ; two excellent wells of water on the
premises, about six acres of garden neatly laid out
and planted with the best vines and fruit trees,
'This property is fit for a family of the first
respectability.
You couldn't own slaves in London in 1845, and in any case the name derives from the "Master of the household", so if you want to be mad about it, you should call it sexist, not racist. Or you could just be chill, stretch the meaning a bit and say the couple together are the masters of the household.
But, now I'm curious: Where do you draw the line? You don't like git master branches and master bedrooms, but what about other uses?
You can have a master key, master record, master a skill, create a masterwork, be a master to an apprentice, join the toastmasters, be a master of ceremonies at a formal event, you can dress up for comic con as Master Yoda, Master Chief, or Dumbledore (the Headmaster of Hogwarts), you can be a Master Chief in the US Navy, be the dungeon master for a game of D&D, get a Masters' Degree and so on.
Which of these things are in your opinion bad and should be renamed?
This is very much like asking why are you focused on fixing one bug at a time in your software when you can fix every reported bug simultaneously?
I don't know man, maybe it's because fixing this one completely inconsequential bug faces so much backlash for no particular reason other than "change bad"?
And well done with using an example from a book series where the only Asian character is named Cho Chang and where there are elves with long noses in charge of the "central bank". That really works in your favour, you totally owned me [pun intended] with that one!
> A footman in his lordship's service stated he went into his master's bedroom [...]
isn't an example of the phrase "master bedroom".
I am also skeptical of "school house and master's bedroom". The main cottage has "four large bed rooms". Why would the "master bedroom", if it is meant to be read as it is today, be listed after the list of detached outbuildings?
"Was"? There are millions of people in slavery in the US penal system today. Entire cities like Dubai continue to be built by slaves. I, for one, find it to be extremely insulting towards their intelligence to think that unrelated use of the word "master" in a different context is somehow considered to be offensive.
Because it goes hand-in-hand with the euphemism treadmill. I defer to the late great George Carlin's words on the subject:
I don't like euphemisms, or euphemistic language. And American English is loaded with euphemisms. Cause Americans have a lot of trouble dealing with reality. Americans have trouble facing the truth, so they invent the kind of a soft language to protest themselves from it, and it gets worse with every generation.
Correction: it costs something (breaking with past convention which adds friction), and it makes some people unhappy and others unhappy. This is not a harmless, all-upside change the way you are making it out to be.
Primarily because it encourages people to keep doing this performative stuff, think they're actually helping people, and take resources away from more meaningful work. By resisting these efforts, I'm preventing what would likely be runaway acceleration.
As someone who has seen black colleagues happily using master/slave terminology in new code (embedded systems so this was around I2C devices), and the only one or two developers I’ve worked with who tried to push this renaming being white - I have two issues:
First, I think it’s just a dangerous idea that people have to be so coddled and be ‘protected’ from seeing words that aren’t slurs and have either no contextual relationship or only very tenuous relationship to actually sensitive concepts (‘master’ has many meanings divorced from African slavery and git never had slave branches so plenty of other senses of the word apply). I feel like it’s going so far that anybody who needs this probably haven’t yet really achieved the resilience needed to operate in the real world.
And secondly, since none of the black developers I worked with actually cared about it, it feels like it’s not great to do something and think you’ve done your bit for racism prevention when you’ve done nothing that makes any real difference to it!
no. I just had flashbacks on how many scripts I had to change and build edge cases in back then when they changed master and slave in mysql.
But everything to make slaves happy and not feel triggered I guess.
> This change does hurt people. Have you never seen a newbie struggle with an out of date tutorial? There’s fifteen years of books, tutorials, videos, and other learning material out there that assumes the use of `master`. It takes about a decade for these things to die off in the clear-cut cases. However this is not even a clear-cut case, because Git defaults to `master` and GitHub defaults to `main`, so the confusion will last longer.
> Version control is a hard enough concept to grasp well at the best of times. And now there’s going to be a bunch of newbies – many of whom will be black – getting frustrated and confused because they are following the tutorials as best as they can and not getting the results they expect. On balance, there is probably more harm done to black developers with this change than leaving things as they were. Haven’t you ever seen a young developer lose confidence when they are trying the best they can to follow instructions and it’s just not working? Disliking the fact that this is being done to new developers thoughtlessly is not “pointless”.
> There’s also the matter that everybody I have seen advocating for this change has been white, and the responses I have seen from black developers generally ranges from “this is pointless” to “this is [performative / virtue signalling]” (insert appropriate term depending upon whether they are left or right wing). People start with the assumption that this is clearly the right thing to do for black developers, but people assuming that don’t seem to be actually listening to black developers about this, or at the very least, only listen to the ones that agree with them.
> This could have been done in a better way – coördinate with the main Git project around changing the default across the board, plan an update to as much documentation as possible, and make it happen in sync. But GitHub charged in unilaterally, seemingly with an overactive case of a white saviour complex, with people like you telling everybody ”this change hurts nobody”. This was done in an entirely thoughtless manner and does hurt people.
Beyond what I originally wrote, you also had ridiculousness like `git init` creating a branch called `main` if you install Git through Apple developer tools and `git init` creating a branch called `master` if you install Git through Homebrew; or getting a repo with `main` if you initialise the repo on GitHub and then clone it locally, but getting a repo with `master` if you initialise the repo locally then push to GitHub.
I don’t especially care what the default is, but I do care that GitHub didn’t seem to give a shit about the disruption they caused as long as they looked like they were performing racial justice of some kind (whilst having zero black people in leadership!). Why wasn’t the change centralised through the Git project so everybody could make the change together?