Easily rename your Git default branch from master to main
hanselman.com
hanselman.com
From: Konstantin Ryabitsev
Git doesn't use "master-slave" terminology -- the "master" comes from the concept of having a "master" from which copies (branches) are made:
https://simple.wikipedia.org/wiki/Master_recording
The concept predates the music business and goes back to middle ages when a guild master would create a "master work" or "master piece" that the apprentices could use for study or for imitation.
So the number seems much lower than 4000, and mostly the result from a very small group of people. I don't know how many branches there are in GitHub, but this seems like a very very small percentage.
With a glorious newspeak that greatly improves on the legacy language by simplifying the grammar and adding safety mechanisms to ensure all conversations are safe spaces.
As I sometimes say, I've been Black my entire 50+ years on the planet. I've never met another Black person (or anyone regardless of their race or ethnicity) that felt that robot has “similar baggage” to the word slave.
""" First appearance of "master" in git is in a CVS helper script... Why is that branch called master? Probably because BitKeeper uses "master" for its main branch... But maybe this "master" isn't the same one that's in "master/slave"? """
It then links to a BitKeeper file saying:
"We are then going to modify the file on both the master and slave repository and then merge the work."
https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
Master can also refer to a term used in the BDSM community for totally consensual purposes. Should we be demonizing them too? How regressive.
It costs you literally nothing if you don’t care / don’t agree and don’t do it yourself.
Just live and let live; is being outraged by it not just as bad as what you’re criticising?
Should we care what other people call their branches now?!!? How regressive.
It feels like a punch to the gut when I have to hear master/slave being applied to hard drives. It's perhaps a difficult thing to describe if you have not felt it.
I know some of you will think I am being dramatic. I know some of you will flub your lips at it. Yes, I am aware it's just words, and you aren't literally advocating for slavery.
But it really does cause me discomfort to have to talk about masters and slaves.
Maybe that isn't enough justification for you. But I assure you I am not a theoretical person conjuring ways to make the world more PC just to virtue signal. There really are some people who would rather avoid those terms.
There are people offended about many things in life, but that doesn't mean we should try to accommodate every single person offended over every little thing (especially when you use the wrong definition to perpetuate it).
Git is software that provides a level playing field for developers of all creeds, and had zero bad intentions when naming elements of the software. "Master" isn't even a slavery reference at all. To say that it is is to claim that words cannot have multiple meanings, something which is patently false.
Master (the definition invoked by Git) has no negative history, and no negative connotations.
But hey who am I to judge what is a good or bad use of people's time and political capital?
I'll stick with calling my main branches master and if someone doesn't like it they can fork it and keep their own special version just for themselves. Freedom!
Turns out, that’s probably not true, judging from a thread on this email list: https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
What about people who are really good at something? Should we never call them masters? Just experts? I'm now a chess GrandExpert? I have an Experts degree?
You're burning a lot of political capital to change things that really don't matter instead of things that do.
Determining whether a given use of the word is appropriate requires context and careful consideration, and people already tend to have a bunch of work on their plates! For something like "master" I think it's reasonable to go "let's just not use it in our repos, there are alternatives", it's not erasing any useful nuance or meaning.
By the way did you know that the etymology of robot? Wikipedia has this to say
> The word robot was introduced to the public by the Czech interwar writer Karel Čapek in his play R.U.R. (Rossum's Universal Robots), published in 1920.[79] The play begins in a factory that uses a chemical substitute for protoplasm to manufacture living, simplified people called robots. The play does not focus in detail on the technology behind the creation of these living creatures, but in their appearance they prefigure modern ideas of androids, creatures who can be mistaken for humans. These mass-produced workers are depicted as efficient but emotionless, incapable of original thinking and indifferent to self-preservation. At issue is whether the robots are being exploited and the consequences of human dependence upon commodified labor (especially after a number of specially-formulated robots achieve self-awareness and incite robots all around the world to rise up against the humans).
> Karel Čapek himself did not coin the word. He wrote a short letter in reference to an etymology in the Oxford English Dictionary in which he named his brother, the painter and writer Josef Čapek, as its actual originator.[79]
> In an article in the Czech journal Lidové noviny in 1933, he explained that he had originally wanted to call the creatures laboři ("workers", from Latin labor). However, he did not like the word, and sought advice from his brother Josef, who suggested "roboti". The word robota means literally "corvée", "serf labor"
If anything, the article affirms my gut feeling when I first started using version control back in the day. It didn't occur to me someone else might feel similarly.
When creating a new repo using Mercurial, the default branch is called default, which always made more sense to me.
Interestingly enough, both Mercurial and Git were created by Linux kernel hackers to handle the Linux kernel source code after the Linux project could no longer use Bitkeeper. They were released 12 days apart in April 2005.
Just pointing out that certain things, even seemingly small things, are often assumed to be okay. And especially in team settings, people don't always feel comfortable speaking up or being that person.
Reminds me of the aphorism: There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
It could be argued that by default, Mercurial discourages rewriting history unless you really want to and you know what you’re doing.
So the definition of a ‘master’ branch is more applicable to Mercurial than it is to Git.
https://twitter.com/vaidehijoshi/status/1271555823139876864?...
All CI/CD pipelines, scripts, tools. Integration fixes, regressions and failed deployments because branch was main not master.
Turns out that Git’s use of master decends from a use that is about master/slave: https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
When one person accuses another of virtue signaling, even implicitly, there are typically only two possibilities:
1. They hold such a cynical worldview that it's reasonable and coherent to criticize someone else for attempting to publicly advocate for what they honestly believe to be right, or
2. They believe the other person is not being honest in their advocacy, and more importantly that they should call the person's integrity into question by opening that up for discussion.
When you label another individual's behavior as virtue signaling, you forcibly shift the focus of discussion on that person's behavior and identity rather than the thing they're advocating. This can have a chilling effect on people voicing their opinions with honesty and authenticity. Likewise if an idea if worth critiquing, it should merit criticism on its own without calling into question its advocates' motives.
I don't mean to pick on you in particular, I'm just calling out the use of the term.
3. Advocacy that mainly serves to make the advocate sound virtuous rather than substantively address the difficult aspects of a difficult tradeoff or help to wisely deploy resources in a way that will make progress on a problem.
It's distinct from your 1 in that it accepts that people can exist who legitimately care about improving the world.
It's distinct from your 2 in that it doesn't assert the person's advocacy is dishonest (or otherwise not heartfelt), only that their specific contributions are unhelpful or present a bad framing.
Example of a useful difference that 3 highlights:
Virtue signaling: "I just think we should help everyone wherever we can." -> suggests that the speaker is particularly noble while also setting a herculean standard for how to live one's life. (Really? Every single moment?)
Not virtue signaling: "As a rule of thumb, you should give about 10% of your net income to charitable causes, since this is historically feasible, and mainly would force you to cut back in ways that have disproportionately high utility for others. Any more than that is nice, but is more than I can legitimately ask." -> recognizes upper bounds in what they expect out of others, and what might be feasible or excessive.
Naturally, most advocacy lasts more than two sentences, but that gives the general idea.
Rational debate is not the virtue signaler's goal or means. They just want to flaunt a "holier than thou" attitude while actually caring zero about the topic. Demanding that those targeted by virtual signaler's passive-agressive's attacks must not point out the virtue signaler's inherent dishonesty is like complaining that the targets must passively serve the the virtue signaler's desires without a hint of rational or objective thought, as if the only acceptable outcome of a virtue signaler's attack is getting the target to publicly recognize how the virtue signaler is so virtuous and that the world should follow his teachings, no matter how empty and inconsequent and self-aggrandizing they might be.
*The term virtue signaling seems to be used differently by different people, so not sure if that was a fair substitution of definition.
1. If someone genuinely believes something absurd to be right and reasonable, why are they above criticism? Ridicule is a very valuable and effective tool in maintaining social cohesion and resisting subversive methods that use absurd arguments that are unworthy of or incapable of being reasoned against.
2. This is far more straight forward. If we genuinely believe someone to be disingenuous in their advocacy of the absurd, should they not be called out on it? What responsibility do we have to earnestly engage with deliberate subversion? Identifying it and raising awareness of bad actors and trolls is a valid defence, potentially saving good people a lot of time, money, and heartache.
I'll conclude by saying that I believe your attempt to dissuade people from using "virtue signalling" to identify these behaviours is, itself, virtue signalling. I'm quite sure it would serve your sociopolitical objectives very well if all these people 'in the way' would stop noticing such behaviours.
Do you have any examples of such conversations, specifically regarding to the naming of the "master" branch?
Fixed that for you.
If people start jumping on the bandwagon of renaming "master" (or any such term) en masse because of it being "potentially offensive", that makes people think the usage of the word is offensive, and the potential offensiveness and having to explain that it's not becomes a self-fulfilling prophecy.
And then we'll all need to change what we call this or that, just because people can't remember that words have multiple meanings.
Let's not turn meanings that are not problems into ones that are.
This is my definition of virtue signaling: Vapid action which serves no purpose other than evoking a pat on the back from your politically-like-minded peers. It’s not specific to a political party, but it disgusts me whenever I see it.
I don't believe a single person feels the impact of this change.
I've done a quick search on your blog and find many "Master" related articles. e.g., https://www.hanselman.com/blog/CompleteHanselminutesMasterFe...
BTW, calling main feed as master feed is unusual. Adding your own name inside is unusual also.
I believe in that case master actually is (or was) used in the sense of a master/servant relationship.
But this is a totally different context.
Should we rename a master's degree now? How about achieving mastery, is that now a loaded term?
Is this acceptable? Shouldn't the muscle memory be changing as well?
Sure, technically git doesn't use both ends of this metaphor and it probably comes from something like "gold master" in this case. But if you're throwing up your hands like the underlying intent is absurd, maybe chew on it a bit more?
The problem with saying others are being ignorant is it denies them the recognition of how they feel about the terminology, with or without the historical programming context. It essentially states: "Because they are ignorant, their feeling are invalid".
And that's a very un-welcoming attitude to have to new-comers.
Also, there's plenty of historical texts that use master/slave that capture why it's problematic to use those terms today. The folks suggesting to update our field's terminology are not saying 'burn all the books that describe the systemic racism present in America' which would be a requirement of the "purging everything we don't like and sweeping it under the rug" mindset.
The point is simple: some terms are associated with terrible sentiments, when clear alternative terms exist. Can we be welcoming enough to accept this?
I don't think it's worth completely changing terminology and disregarding history because some newcomers don't understand the meaning of an innocuous term. I think that it is more valuable to preserve it than to change it just because there are a few people who do not understand it.
I believe in changing terminology that actually is rooted in oppression. It's a good rule of thumb which allows change while also not forcing everything little thing to have to change. Master branch is not rooted in oppression.
Welcoming to me does not mean walking on eggshells and avoiding saying perfectly accepted industry terms that someone just may find offensive because they don't understand it. Welcoming is mentoring, teaching, and kindness.
I think your logic leads down a slippery authoritarian slope. Should I not say rule of thumb because a few people misunderstand the origin? https://www.baltimoresun.com/news/bs-xpm-1998-04-17-19981070...
I'm going to keep saying it.
It is painfully obvious that you just weaponize the word 'welcoming'. If someone does not do what you want them to do, then they are 'unwelcoming'.
Given that I did address your points and talked about what being welcoming really looks like in terms of human decency, it's also clear that you didn't even read my thoughts, which to me says a lot about your own empathy.
HISTORICAL
a man who has people working for him, especially servants or slaves.
"he acceded to his master's wishes"
For clarity's sake, are you asserting this definition isn't valid? Also, nothing is defined as 'offensive'. It's subjective. When you say the usage of the word 'master' is innocuous, for example, that's subjective. It isn't a fact.
Why is the historical one not valid? Because context matters. We are not talking about the word master itself, we are talking about it in a context. Master branch was not defined using the historical definition. In our case here, it refers to the electronics definition.
The English language is completely full of words where meanings have changed and are different depending on the context. Using your logic, we would not only be renaming master branch, but also removing all other contexts, like 'mastery' of a discipline, or the record industry's 'master copy', or even terms like 'maestro' in music.
If you take something out of context, it can be offensive to someone--no doubt, but that is why context matters. Going thru the English language to find every word that used to mean one thing we don't like and then removing all modern usages which don't even mean the same thing in a different context is mindbogglingly silly, costly, and frankly, puritanical.
Americans Strongly Dislike PC Culture
https://www.theatlantic.com/ideas/archive/2018/10/large-majo...
' a full 80 percent believe that “political correctness is a problem in our country.” '
And no, "Youth isn’t a good proxy for support of political correctness, and race isn’t either."
Yes, the dislike is lowest among African Americans, but still at a whopping 75%.
So who supports PC? The only group is progressive activists. What do they look like, demographically? Rich, white, educated.
The author additionally ran a twitter poll: "Nearly all of my followers underestimated the extent to which most Americans reject political correctness. Only 6 percent gave the right answer. (When I asked them how people of color regard political correctness, their guesses were, unsurprisingly, even more wildly off.)"
The word "only" is a direct quote from the article:
"Progressive activists are the only group that strongly backs political correctness: Only 30 percent see it as a problem."
(My emphasis)
There are no "absolute" conclusions in my summary, it's all in the text, mostly direct quotes, and the text is, as far as I can tell, a fairly straight representation of the findings.
> Life is rarely that cut and dry.
But sometimes it is, such as in this case. The data are unequivocal.
Now, you are obviously free to believe that you are right and the (vast) majority is wrong. But if you think that you have majority support for your opinions then you are deluding yourself.
I've read through a lot of these kind of discussions in the last week, and one thing that really strikes me is that they consist almost entirely of white people discussing this. This seems a bit odd to me because there are plenty of non-white programmers as well (especially if you look beyond the Silicon Valley bubble). I'd like to think that these people are more than articulate enough to raise these kind of issues themselves if they want to. In general, it seems to me that black people are not so fragile that they will be scared at the first sight of the word "master", especially when it has no direct relationship to slavery (it's a common word in quite a few different contexts).
Quite frankly, the entire thing has more than a bit of a "white saviour" smell to it and comes off as rather patronising.
I suspect one reason this is happening is that many people feel powerless to change the status quo – a frustration I share – so they do stuff like this because, well, have to do something, and this is where they do have the power to influence things. Another commenter called this "virtue signaliging", but I think that's a bit ungenerous; I think by and large people are actually looking for ways to make a difference, which is great but ... it also doesn't mean you actually are making a difference. All of this strikes me as the programmer equivalent of "slacktivism".