The term "master" for a branch name always felt a little strange to me. One might ask, "What is master?" The answer usually is, "It is the main branch."
The same thing held true for "trunk" in the SVN world, although it made more sense. One might ask, "What is trunk?" It requires a lengthy explanation, "It is the main development branch. We will create other release branches from it. Imagine a tree with a trunk from which other branches grow."
One is less likely to ask, "What is the main branch?" The branch name is self-explanatory.
This is the core dispute underlying a lot of critical theory vs the world culture wars. Certain types of people, typically those who have spent a long time in the education system, believe words and ideas are incredibly powerful, so powerful in fact that you can change the world by changing what words people use. This can be seen in a lot of the (IMO) bizarre or dysfunctional stuff coming out of Silicon Valley lately, like word vector models that were "debiased" to make them give politically correct but false answers about the world, this GitHub debacle, capitalising word black when talking about black people etc..
IMHO most people who haven't been exposed to the professoriate don't think like this. The function is seen as more important than the form. Stating something that's false is true doesn't make it true, it just makes the speaker seem stupid and/or dangerous.
Some time if `main` turns out non-inclusive, changing it to other term is counter-productive.
They must change to the source of bad connotation itself if they want to really contribute to those they claim they are helping. If the bad connotation `master` comes from slavery, then fight slavery or slavery-like acts to get rid the bad connotation from the term `master`.
I don't understand why this is not a common sense. Smh
Sure, but who says that what is now called "master" is the main branch?
In my repos, I consider the main branch to be the branch I spend most of my time working on. For simple things that is "master", but for more complex things I'm mostly on some other branch.
"Whitelist" and "blacklist" are also terms that deserve attention, more so than "master branch".
The "master" branch is the "master" record. The official copy. The entertainment industry "remasters" their source recordings. The original Star Wars gets remastered frequently.
I don't think that the recording and entertainment industries are going to change these terms, because I don't think they're racially charged in the context in which they're defined and used. There's literally no parallel. In our industry, we have other suspect things called master, which is why it stands out.
In any case, I think it's impossible to rethink this decision now. Walking it back feels icky and political, and we should always err on the side of inclusion anyway.
The whitelist/blacklist thing is a bit of a no-brainer, that one should change. Master/slave is debatable, because it isn't actually discriminatory. But whatever, one for the debate. Master git branches are back in no-brainer territory as something that didn't need to change.
As a white man, I cannot tell if some black people are offended by that, but I hope not. I had never thought about racism when discussing technical matters using this terminology... until a few weeks ago.
What surprises me it that some people think that changing technical terms will change the lives of victims of racism.
This debate made me think again about a quote from some engineers from the erlang/OTP team:
"We were working on the R1 release of OTP when a group of us left the office and took the commuter train into Stockholm. We were talking about the ease of killing children, children dying, and us not having to worry about it, as supervisors would trap exits and restart them ... we failed notice the expression of horror on the faces of the old ladies sitting next to us "
Should we now rename child/parent relationship too, to please old ladies?
Why though, it has nothing to do with skin color. Black and white, grey area, there are lots of things involving these colors, but they aren't about skin color, they're about opposites. And there are plenty of other things including color, e.g. black hole, white vest, carte blanche, but they're not about skin color either.
Slave is never used once in git documentation, never has been and never will be: https://git-scm.com/search/results?search=slave
That tweet is from the original creator who made "master" the default branch in git.
IMO the right move to battle the more draconian, Orwellian language policing of the cancel culture / “antiracism” dogma is to conserve your energy for the fights worth fighting. This just isn’t one of them.
A) Own shortcomings and lack of healthy self-doubt.
B) That life is 100% subjective. There is no objective authority to be found.
Oh, wait...
We could stop using the sex/porn industry and reduce the human trafficking epidemic in some countries, or completely stop buying from companies that manufacture in horrible conditions.. or change computer idioms and debate until we're blue.
Worse, it feels like people are taught to be offended more easily, driving the sensitivity up to the max.
<offtopic>
> We could stop using the sex/porn industry
Not going to happen. This industry had existed since times immemorial and is going to exist no matter what for as long as humans will have sex drive (and thus, fantasies and desires). Painting sexual and/or pornographic services as something inherently bad is only going to make it worse by driving industry into a darker shade. I could be terribly mistaken here (and beg pardon and counterarguments if I am), but in my understanding it's social and legal stigmas are what's primarily hurting people.
I don't mean to say there are no issues with that industry. Just saying that blaming it's very existence is not a solution. And - as a personal opinion - there's nothing wrong with sex or porn, as long as it's all well-informed, safe, sane and consensual.
</offtopic>
[Edit] maybe I should clarify: in my native language master only has the connotation of mastery of a subject. A slave owner can't be called 'master', so we don't have that unpleasant crossover.
Isn't that obvious?
God forbid we change the names so that they actually start making sense; oh no, we stick with V1 til the heat death of the universe, we wouldn't want to confuse already confused developers by fixing the dumb thing.
Ok, fine, now that you've started, will you fix the rest of the names too? The ones that aren't politically charged, that is.
But "main" is probably lees cryptic -- I will admit when I first heard the term "trunk" I thought it was referring to either the UK term for suitcase or US term for a car's boot. And of course git has a general principle of never copying anything that SVN did, I guess that includes naming.
I'm sure any terminology can make some engineer (underrepresented or not) uncomfortable. Therapy may help if it becomes recurrent and hard to manage.
I'm pretty sure most engineers, underrepresented or not, would appreciate a healthy, dignifying and diverse management structure and workplace so that uncomfortable language not only is less likely to naturally happen, but when it does happen everyone (underrepresented or not) is adult enough to know if a line was crossed.
I'm pretty sure that underrepresented groups would prioritize stopped being randomly killed, be evicted, be massively encarcerated, be without healthcare and be in a constant dog-eat-dog environment.
The fact that this change affects only new repos is not reassuring. There are tons of tutorials, scripts and other stuff out there relying on the default naming ("upstream" is the other branch name that is frequently used). Git is already complex enough, especially for beginners.
Also, other git hosting services (and git itself) still use "master" as the default branch name, which will create even more confusion.
I'm assuming this doesn't actually apply if you follow the more "classic" method of creating a Github repo: creating a local git repo and just adding Github as a remote.
Edit: I figured that Git itself probably wouldn't change the default branch name (at least not easily), but thought that just making it configurable would be a "neutral" way to make it easier for people to do this if they wanted to.
I guess they, in fact, already did that: https://superuser.com/a/1572156
Why should there be?
Terms like master/slave or whitelist/blacklist are common parlance and this attempt to remove these phrases for less well understood phrases just seems like an attempt to whitewash history for little to no gain.
I'm a firm believer that language is dynamic and the meaning of words is the meanings we currently associate to them.
It set me back a moment the first time I saw it, and took me about 30 seconds to mentally internalise the change. After that first time, no issues as a reader of the code/config.
Leader, for instance, implies a more fluid arrangement of the chain of command that better reflects what happens when a new machine takes over for a server that is having problems or being maintained.
sed -i 's/master/main/g' *
Problem solved!Switching from master to main is a good change.
The 'master-slave' terminology has been used in tech for a while (for example, IDE [0]). Yes, it's not intended to be a direct reference to slavery, but that's where the term originated and it's clearly used to mean "one thing is in charge, the other thing follows orders". Yes, there's no explicit 'slave' term in git, even though BitKeeper did (apparently - I've never used BitKeeper).
It's not effortless, but it's not hard to change from master to main ( [1] ).
Plus, it's a great excuse to learn (or sharpen) your grep/awk/sed/etc skills :)
----------------------------------------------
[0]: https://computer.howstuffworks.com/ide.htm#pt4
[1]: https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBra...
If you're a minority and are tired of these word games instead of real change, make yourself heard. Let people know what you think of this pointless "diversity theater".
I am a minority in that I am left-handed. I have not yet discovered my minority powers but I'm sure they are growing and will make themselves clear to me one day so I can take my rightful place among the pantheon of minorities.
To be honest, I hope the opposite is true in that I do hope that the "diversity theatre" will be closed before that time, never to be opened again. Those who play in that theatre claim to support minorities but in fact all they do is drive people apart. It is as if their real purpose is to corral people into minority enclaves, to divide and conquer.
If we take this change out of the current context and let’s say someone suggested that a year ago, do you think it would get the same traction?
I also disagree that it’s especially political. It’s a small name change to be more considerate. The only reason this is “political” — and “merge requests” wouldn’t be — is that for some reason a small group of people are very loudly offended by it.
All of this to give an appearance that social change is happening? Why not address the social issues head-on?
The change's symbolic significance vastly outweighs its immediate consequence, and naturally people will respond to it within the context it's been made.
I will still call it the master branch though.
If you've ever wondered why software quality has taken a nosedive in recent years...
"At least we're diverse!"
Thanks for all the downvotes. The bias in here is really obvious. ;-)
From Middle English maister, mayster, meister, from Old English mǣster, mæġster, mæġester, mæġister, magister (“master”), from Latin magister (“chief, teacher, leader”), from Old Latin magester, from Proto-Indo-European *méǵh₂s, (as in magnus (“great”)) + -ester/-ister
But I’ll see many tools breaking or bugs surfacing because they can’t find the master branch.
One repository I used didn’t have a “master” branch but a “Master” branch. That was annoying.
Git doesn’t have a concept of a main branch. Maybe we will get that now as a result of GitHub’s change.
In reality though you can't expect programmers to code for eventualities that occur only in extremely rare cases (until now).
"main" suggests it is the main branch under development whereas "default" doesn't as clearly.
But both terms are better than "master" if we disregard the weight a bad default name has gotten after years of continued use.
Unfortunately, IT and open source orgs do pander to these people, something they will ultimately regret because these people pushing identity politics everywhere are not reasonable and they will always find something to get outraged at, at the expense of the org itself.
Terms change. We will adapt just fine, and “main” is a better name anyway, as others have pointed out here in this thread.
I'm betting Master Chef or Master degrees.
FFS. Is this some kind of joke? This sort of PC bullshit is gold for rightwingers.
I believe a lot of people realize that, and that's why it was flagged.
On a random note, I've had vouch for flagged articles / comments before but it seems to very irregular. What decides if the "vouch" option is available to a user?
Personally, I have mixed feelings about it. I'm tired of these threads too but to express no opinion is to allow others to drive the direction of changes that affect our industry.