That said, this is slightly ridiculous. Have customers seriously complained about the term "master"? And my impression was that the usage was more similar to "master copy" than "master of the plantation".
Honestly, it's frustrating to me that companies are willing to take token actions like this that are almost completely irrelevant in the scheme of things but unwilling to lose profit by, for example, not contracting with ICE. Actions like this feels like veiled advertising, even when, as I'm sure is true in this case, there are genuine motives behind them. It seems like the structure of corporations allows only the genuine intentions that require little sacrifice to be acted upon.
It's a stupid subject to have a flame war over, but I don't understand the logic at all.
Master represents the final version of a component or software which ends up in production. It is the same meaning as an audio master (https://en.wikipedia.org/wiki/Mastering_(audio))
If the word master is considered evil, then what would happen to a Master Degree ? or Dojo Master ? Words have different meanings in different context, let's focus on changing language that changes the way you think.
Evidently, this is a relic from bitkeeper which uses the "master/slave" terminology.
https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...
https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
1. There are no slave branches.
2. "My impression" was my impression as someone new to git. I'm extrapolating other people, but I think it's fair to say that many (most?) people won't make the connection to chattel slavery.
3. Git is not directly modelled off Bitkeeper.
But like I said, I don't object to people changing the name, but more to people thinking changing the name is important.
https://mobile.twitter.com/xpasky/status/1272280760280637441
Which makes it actively harmful: Anything you do which is even somewhat ridiculous can be seized upon by your political enemies and turned into ammunition against you. They can claim your whole movement is about the ridiculous thing, and use it to derail discussions: "Yes, yes, that point is good, but did you know they renamed something in a piece of software just because it vaguely reminded someone of slavery? Time to talk about that now!"
But all this aside, this would’ve been a no-brainer if renaming the default branch didn’t have other real-world consequences. If it has a possible chance of making people happy, we should by all means do so. However, the proposed change is inevitably going to break many scripts out there that manipulate git repositories and forces additional work for countless people all over the industry. At this point, I think it’s reasonable to rethink whether this is actually going to improve the lives of anyone at all before proceeding.
That's probably true, and it's probably people who didn't have grandparents that were slaves. It's closer in mind to some more than others. And if we want to have CS be more open to the black community, then being sensitive to how words can turn people off is important.
We have solved poverty, work ethics problems in IT, we have great working culture, great salaries, we put demands and employers just throw money and resources at us. We run out of real problems to solve, so as humans - problem solving and pattern matching machines - we found another problem to solve.
EDIT: in case anyone's confused: MC = Master of Ceremonies
The terminology of our software architecture, and of our software in general, mirrors that of the real world relationships that they model, reference, or are inspired by. That's a good thing. It helps us understand these systems. It's also true that if this terminology references something we don't like in the real world, we're free to change it. After all, master/slave architecture isn't a perfect modeling of a plantation, it's substantially abstract from that. There are many other relationships in the real world which could be used to describe this architecture.
Terminology is effective when it's stable, so we should be conservative about changing it, but that doesn't mean we should never change it.
Now this is all people will think about and if they change the word to 'main' it will get memed and ridiculed and mocked to oblivion because of the huge inconvenience it will cause.
It will have so many unintended consequences.
It solves nothing honestly.
No problem that can be fixed by changing the default name of the branch created by git init will, in so doing, meaningfully soothe any sincere moral wound.
I'm not suggesting they rename the tool or the github site, but I find it funny how sensitive github mgt can be when their entire name is somewhat offensive.
Now even if this catches on, then yeah OK I'll start naming my branches as main unless I want to make a political statement, which would just add to confusion when developing.
Meanwhile these people will pat each other on the back, yell "yeah! We sure made a difference." while black people keep getting fucked by the system and their lives don't get improved one iota.
just... why?
It's called "virtue signalling," I'm told.
Let's call a spade a spade and recognize that this was a big company trying to sound "woke" without doing anything.
Is the SJW crowd not progressive? Are they not "real progressives"?
The follow up tweet from the original reqeustor is:
> 1. “Main” is shorter! Yay brevity!
> 2. It’s even easier to remember, tbh
> 3. If it makes any of my teammates feel an ounce more comfortable, let’s do it!
> 4. If it prevents even a single black person from feeling more isolated in the tech community, feels like a no brainer to me!
1 - Not sure that's an important reason, why not change it to just "M"?
2 - Not for people who are already using git and have lived their entire lives on master (or for those more considerate developers, have lived their entire lives PRing into master)
3 & 4 - This is what I'm talking about, is there anyone who is actually feeling isolated and uncomfortable, or are there just a load of white people who have focused on literally the most unimportant aspect of being a black person in the tech community?
I'm a POC in the tech community and couldn't care less about "master" being problematic. The tweets you quoted likely came from a white person who thinks a little to highly of themselves and want to go after low-hanging fruit.
Want to make a difference for POCs and Black people? Vote the racists and profit-driven politicians out of office this November and replace them with people who are more qualified to lead and actually care about the public.
They're still politicians, right?
And in fact, at work, we use both git and mercurial, and they have slightly different terminologies. In particular, git's "master" is mercurial's "default". The result is that we are sometimes mixing the two. And we naturally ended up calling the master/default branch the "main branch" with the understanding that it is "master" in git and "default" in mercurial.
That we naturally came up with this name means it is a good name. And because it is the shortest, it has my vote.
That you are all used to "master" is no excuse either. There are other version control systems than git, and "master" is not a universal convention. In mercurial, it is "default", and in SVN, it is "trunk". If you are a professional developer, you are probably going to use several different VCS during your career, and it is not a good thing getting too attached to "master".
The main problem I see with the change is that if you are just getting started with git, most training material will refer to "master", and having different conventions can make things confusing at first. Of course, experts know that there is nothing special about "master" and can adapt to any situation, but beginners need guidelines, and we might as well make them consistent.
Seems that way. It's actually offensive to suggest that such a person should be offended in the first place. It's a "we know better than you and you should be offended" attitude.
If you are going to help, actually do something that improves the lives of people. Maybe, you should really put some effort into beefing up the Computer Science programs in black high schools and colleges? You are Microsoft, and had a damn policy of only hiring people from certain schools for certain job areas. In 90, one of your damn reps told a classroom of students that they were only good for "help desk" positions because of the school they went to. I'm betting some all black colleges were not on the hire list for actual developer jobs.
Actually doing something useful is hard, this is just signalling how cool you are.
Wouldn't focusing on fixing this situation be more beneficial than reinforcing it?
Yes it is "still a thing". They are mentioned in legislation as Black Colleges. It was an extremely big deal this year when Black Colleges were successful in lobbying for Title III funding. In fact, they are listed officially as Historically Black Colleges and Universities (HBCUs). Native American's higher education institutions are referred to officially as Tribal Colleges and Universities (TCUs).
Wouldn't focusing on fixing this situation be more beneficial than reinforcing it?
So, yes, that is what they are referred to in legislation, so stop trying to imply someone is not using the right words. It really ticks me off when people wordsmith but don't bother actually engaging or knowing any of the history of the people they are being offended for.
Maybe if you stopped implying racism where none exists, we would have a better world.
https://en.wikipedia.org/wiki/Historically_black_colleges_an...
TL;DR, the reason why these exist is because of historical discrimination against black people in college admissions.
While there is much less discrimination in admissions today then there was in, say, the early 1900's, these colleges still have a strong presence in the US today.
And to your point, yes I think we all (or at least most of us) want to live in a world where we don't need race-based communities or institutions, but because our country still suffers from extreme race-based segregation and inequality, IMO it still makes sense to have these active support structures in place.
What they should be doing is scholarship and mentoring programs to increase the base if that is their real goal. But that takes actual effort and costs real money.
What it does do is make a few people feel better because they are misinformed and so other things like education would be a better solution, something like "there's no need to feel bad about this word, and here's the logic about why."
What I care about is that this will inevitably lead to companies and individuals that, for any reason (due to having the name "master" hardcoded in a lot of scripts, for instance), do not make this change in their repositories being labeled as being pro-racism.
We all know how this goes.
This insanity just grows every single day. The purity policing grows ever more intense. It's making my world view bleaker by the minute.
I’ve never considered “master” branch anything odd, saying “master copy” makes sense. What about music? “Remastering” something... or the terminology around mastering a skill?
Things are a bit out of control. As people say if you look at that term and the first thought is race related that’s on you.
I could see a desire to remove the word “slave” from any replication business. Since the “s” word is directly loaded. But the “m” word has many other definitions outside of that.
I understand these things stem from a place of discomfort with the racial crisis in the US - and I applaud the intentions.
However, these requests are not inclusive to:
- The foreigner in your team trying to think and communicate in English, while tip-toeing around whatever was deemed offensive this week on Twitter.
- The developer in Botswana trying to keep up with this week's terminology changes as dictated by Twitter influencers in the US.
I dread the day when someone gets in trouble for saying "Hey guys, I added the URL in the whitelist and pushed it to master"
The only reason someone would, is if they were repeatedly told "hey can you use this term instead?" but they kept using those intentionally to annoy others.
But the use of master here is from 5 b: an original from which copies can be made especially : a master recording (such as a magnetic tape)
There is no implied slave.
It's derived from masterpiece. Something that a master craftsman has created.
Master has many definitions and usages. Master of a slave is only one minor usage.
https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...
https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...
Master/slave are pretty commonly used terms whenever we talk about things like distributed systems and communication buses. Essentially everywhere that one process, controller, computer, etc. is meant to have authority or control over some other entity or entities, this is often described as a master-slave relationship.
However I have always felt that the word “slave” (as the counterpart to master) was/is a mistake. It seems to be a relic of the past where people weren’t really thinking through the terminology they chose.
More modern approaches typically use other word pairs, like master/minion, sever/client, active/backup, master/agent, etc. Different pairs are chosen that better describe the relationships, and I suspect those choices were made, at least in some way, to avoid using the term “slave”.
But in this case, there's not even a slave branch.
I suppose this is something I don't understand. How do terms become trivial when used in separate contexts? They are simply descriptive terms. Furthermore, from an etymological standpoint, the term "master" has been used to signify preeminence since the 13th century. E.g. master's degree, master-key, master copy, etc. This is the meaning that seems more applicable to a version control system.
May seem like a silly gesture to some, but imagine feeling an emotional trigger every time you had to use a basic tool for your job. That'd piss me off.
However, if not, it looks like a cynical publicity grab in light of recent headlines.
donate the cash equivalent to the engineering hours required to make and test this name change to BLM instead, and get something of actual consequence done.
Dear friends, do you think you’ll get anywhere in this if you learn all the right words but never do anything? Does merely talking about faith indicate that a person really has it? For instance, you come upon an old friend dressed in rags and half-starved and say, “Good morning, friend! Be clothed in Christ! Be filled with the Holy Spirit!” and walk off without providing so much as a coat or a cup of soup—where does that get you? Isn’t it obvious that God-talk without God-acts is outrageous nonsense?
This isn't the same thing as a government censoring opposition or 'insults' to the dear leader.
That's really scary!! In long run, you lost the freedom!
edit: not to mention 30 years of:
if branch in ['master', 'main'] ...
To address systemic racism, we need to change people's preconceptions and prejudices. These are things that are picked up and learned from other people in one's environment. Removing these words makes them even more intangible than they already are.
Creating prejudice is easy to communicate. Removing it, on the other hand, is an "absence" of something, which is much harder to get across linguistically, semantically and emotionally.
I'm not suggesting it's a good point, I'm just pointing out that there's going to be a lot of renaming to do.
Unless git changes its default branch name to something else, isn't Github's approach futile?
When you "git init", git creates the master branch locally.
And then when you push, I sincerely hope GitHub wouldn't somehow rename that branch to something else...
I'm certain that most people would see renaming master to main as fairly benign. However. if a company like Github can be open to making a change like this, even if it is purely symbolic, it sends a message that changes to the status quo are possible.
I've also seen some comments complain about the technical difficulty of this change. If this forces developers to put some effort into updating tools that are hardcoded to refer to the primary branch as master then it's good from a purely technical perspective. Especially to help those of us following trunk-based development who already refer it as the trunk.
Software engineering is incredibly diverse. There are many East Asians, South Asians, Middle Easterners, and people from underprivileged backgrounds from former Soviet block countries. It also has a relatively high percentage of just unique folks.
Software engineering also has a diversity problem with respect to female, Latino, and black engineers in particular.
I'm just pointing out that "overwhelmingly white" is quite inaccurate.
I don't often comment on things, but this seems like a slippery slope and a process that I'd like to counteract in some way, so input/comments are welcome. Original comment copied below:
I'd prefer it if things didn't change, including the master/slave terminology (the 'master' branch doesn't even have a 'slave' in git...)
Have the words themselves become bad to use? It seems that this is a USA centric view anyway with its history (and even then it seems ridiculous--why can't these things be compartmentalised as technical terms?)
Slavery certainly still exists in the world, and has existed in most places at some point. Should we rename 'slavery' to something else too while we're at it? Or forget it exists and existed?
Certainly certain terms become antiquated over time, like the vocabulary used in Emacs (yank/buffer/etc vs cut/window/tab/...), but master/slave doesn't seem to be there yet.
I wonder if there's some way to counteract this newspeak stuff? I think it's harmful that these things happen for such frivolous reasons. Does one just have to be as loud as the minority that drives these things, to counteract it?
This is outrageous!
I don't mind renaming it but it feels like a token action without any real weight.
So yes, this is a token action meant to appease those that are never truly appeased due to their rapid movement of goalposts.
master branch/copy - that's your main or primary
master degree - is now an expert degree
martial arts master - congratulations, you're a guru!
master bedroom - is now your main, great or grand bedroom (in fact it used to be called the main bedroom not that long ago)
skill mastery - you quashed it!
Should we make these changes? I don't know, I'm a white guy. What I do know is it's time to put an end to systemic racism. If making these seemingly small changes are enough to change people's worldview in a meaningful way then I think we should explore it. There's potentially a lot to gain for such seemingly trivial and small changes in word usage.
Microsoft's shareholders, during last Dec's meeting, rejected Arjuna Capital's proposal that a report be compiled on the gender pay gap across Microsoft, specifically to include "the percentage global median pay gap between male and female employees across race and ethnicity, including base, bonus and equity compensation."
https://www.gamesindustry.biz/articles/2019-12-04-microsoft-...
This is onomatophobia, fear of hearing names. Github is catering to people trying to ignore the problem (slavery) that still exists because of inaction instead of clearing the name "master" from the bad connotation. Logically, it's difficult to battle problems (like slavery) by forgetting it or ignoring that it exists in the first place.
The change is counter-productive for both social and technical contributions.
Anyway, Fossils main branch is called "trunk" which actually makes more sense than "master" especially because Fossil also has leafs.
# https://stackoverflow.com/q/42871542/2040410
new = !git init && git checkout -b main && git commit --allow-empty -m \"new\"
It's possible this alias will leave "master" defined but in a detached state (not pointing to a commit). I haven't checked this.I suppose we will just need to wait and see what happens.
`root` is better if you really want to make a change. Or rand() is your friend.
Maybe I'm not a native English speaker. After knowing the history of Master/Slave. I still not linking them to the bad side.
If they can, rename `Git` also. Acutally I have some complaints from my clients before.
If the word master makes some black people feel uncomfortable, the issue isn't git. It lies in the society.
Edit: so it does! You learn something new...
Does/did slavery only affect black people?
It’s really tiresome to see companies and celebrities voice support for equality, freedom, human rights in America while staying quiet (and even telling people to keep politics away from their platform) when it comes to the Hong Kong protests.
But as others pointed out here, "Master" branch is not using that source for the term. Changing it in this context is actively harmful to BLM and race equality.
So, ignore this and don't be a pussy. (Historically pussy == cat by the way. So I am bringing this phrase back for the same reasons that my Master branch and Blacklist/Whitelist are historically clean terms.)
Especially when it's basically ground zero for SJW activity in software development.