On the other hand, fascinating to see the power of a modern angry mob in action.
> (this probably means you shouldn't give much weight to my name preferences :) )
> I have wished many times I would have named them "main" (and "upstream") instead.
> Glad it's happenning @natfriedman
> Out of curiosity, why 'master'? What was it meant to convey? 'Master' as in 'original' or as in 'owner'? 
> "master" as in e.g. "master recording". Perhaps you could say the original, but viewed from the production process perspective. 
1) I came from an SVN background and only switched to Git because I started working at companies that used it. I still prefer SVN's aesthetics (and I wish I had more opportunities to use Mercurial), so I would much rather have 'main' or 'trunk' than 'master'.
2) At my company, my team uses the forking workflow (i.e. we do all our work in our own forks and then submit PRs to merge into the repo on the central server). Whenever I clone and fork a repo, I always nuke the 'origin' remote and create two new ones: my own fork, which I name after my AD username at my company, and the repo on the central server, which I name 'upstream'. That way, whenever I pull or push, I don't have to worry about mindlessly pushing or pulling 'origin' and accidentally touching the wrong repo: if I accidentally do so, I'll just get an error. So I am very, very much used to pulling from 'upstream'.
In particular, how is it different from what is called "mainline" in other VCS systems?
5b: an original from which copies can be made
especially : a master recording (such as a magnetic tape)
You can branch from master the way you duplicate a master tape cassette, and the copy is not any worse or subordinate. In fact the whole point is that the branches are improvements.
The word does come up in database replicas, which are often called master/slave. I can see a clear case where that would be offensive.
Renaming the master branch might be throwing the baby out with the bathwater, but it's just easier to do that right now, and it's a small price to pay.
I believe it's the same usage as used in music recording, e.g.
> an original movie, recording, or document from which copies can be made.
This is actually a git concept not specific to GitHub.
Git uses origin and clone for repositories.
It's used correctly in several of the cases listed here. Also, Jenkins uses (or used?) the term correctly.
- Master database tells the slaves what to write
- Master clock tells slave the time
- Master HDD controls the computer , so indirectly controls secondary -- though in this case slave HDD is more auxiliary rather than subordinate (this terminology isnt used anymore anyway)
In any case, master/slave terminology is historical and generally unproblematic, except apparently in the US, but so many words are problematic for someone somewhere that it's not wise to go down that road
But that's only an ad-hoc state of affairs; the only thing telling a database (in postgres, at least) that it's a replica is that it has a couple of settings telling it what to replicate from, and if you remove those and restart (or otherwise trigger a failover), the replica becomes the new master.
When people use it for hardware and software, there's a tacit understanding that the power relationship must be preserved.
These two are diametrically opposed.
Once that happens, they are no longer master and slave, of course.
For example, "primary/secondary" is slowly being adopted, but I find it very confusing because it can also mean two modules that perform the same function in parallel, but have a different priority for receiving input.
There are times when the slave drive communicates with the master (rather than the host controller), and the master controls things.
I'm the opposite of an expert, but here's one example according to a document (https://www.ele.uri.edu/courses/ele408/s2001/projects/roland...) that I found. From section 6.3.4:
During power on initialization or after RESET- is negated, DASP- shall be
asserted by Drive 1 within 400 msec to indicate that Drive 1 is present.
Drive 0 shall allow up to 450 msec for Drive 1 to assert DASP-. If Drive 1
is not present, Drive 0 may assert DASP- to drive an activity LED.
As I said in another comment, merely "avoiding offending black developers" isn't reason alone. It's about what actions an individual and a company can take to explicitly work against the normalization of racism, while acknowledging the implicit bias against, and lack of input from, minority people during the creation of these technologies.
If you'd like an interesting example I heard from a POC photography friend - she wondered if default camera settings tended to dramatically underexpose when working with black people subjects, if more black people had been involved in early photographic technology development.
Can you point to people telling their stories of how the common name for default Git branches affected them? All the people I've encountered advocating for changing "master" to something else in Git have been white (when there was any information to attempt categorizing people as PoC / not PoC).
> It's about what actions an individual and a company can take to explicitly work against the normalization of racism
In reference to disposing of "master" in Git, I interpret this as "We must do something; this is something; therefore, we must do it."
Yes, this history of film with regard to different skin tones is interesting. I think even more black people were involved, the most common "or default" film still would have favored lighter skin because there could be no one film that would be good for all complexions. Maybe having multiple stocks to choose from would have been more prevalent.
Not without doxxing friends in a kind of "Dance for the nice man, Timothy, so I can win an internet argument" way that doesn't taste very good to me. If there's blog posts out there, perhaps? I haven't seen any.
> "We must do something; this is something; therefore, we must do it."
I am with you that we should always be on guard against milquetoast corporate bullshit. I got an email from my Texas senator John Cornyn about how he supports Black Lives Matters, but of course there's nothing in his email and no statements from him condemning racist dogwhistles from his party leader. Hollow words and hollow actions allow people and companies to "cash in" on a movement at cost to the real activists.
That being said, this isn't just github doing this. Most companies in my personal sphere are taking similar steps. My gf's, mine, my old coworkers across the industry, here and in New York... it's a sort of solidarity movement at this point.
A statement of support not paired with more concrete action is not much but at minimum a clear statement establishes a standard they can be held to in the future, e.g. "you said you support Black Lives Matter, why aren't voting for Bill 1234?"
As other may have said, regardless of where it comes from, most of people now use it with the idea it means "master copy".
* git itself is an offensive term and is renamed
* git blame too and is renamed
* grammar nazi can't correct my broken English anymore
(goodwin point <- but how do Jewish people feel about this term ? )
* robot comes from the term robota which mean slaves, but it's okay because that's not English. If it's not offensive in the USA, that's fine i guess ?
And to finish, being of European background, master/slave for me is more linked to the greek cities period.
That said, the robot example may end up being interesting. How far can this particular language purication can be taken?
> How far can this particular language purication can be taken
I'm not anti-american (damn I have to put this kind of disclaimer), but it will go as far as these american-culture-centered people will think X or Y go against their view.
I think I understand more and more my Chinese friends who don't understand people who are trying to convince them "you're living in a dictatorship that's bad, see democracy is sooo good, why are you not listening to me", and they're just "I don't care, I don't understand why it's so much of an issue to you ?"
and yes for robot, the more I think about it, the more I don't understand why that's not the first word to have been reviewed, because the very idea, popular conception of a robot is the humanoid-metal-thing doing your chores, you can't do closer to the meaning of "slave" they don't want to hear about !
But, also to the best of my knowledge, it's not used in that manner in git itself; it's used as you explained it.
of or relating to a master from which copies are made: master film; master matrix; master record; master tape.
Here is the bitkeeper documentation saying "we are then going to modify the file on both the master and slave repository and then merge the work."
Safe to say that's in the context of source control? If you meant to say "based on how git works..." then sure, that's a more accurate claim.
One piece I don't quite get - what does the branch name have to do with that? I always assumed "master" was from audio recording - i.e. a master record. Does that term also have dubious roots?
You are correct (according to the guy who picked master as the name) there https://twitter.com/xpasky/status/1271477451756056577
I think this whole thing has been blown out of context. Master/slave I get, that's a direct correlation to one guy telling everyone else what to do. But the master branch has no say on the other branches. There are no implied slaves or demands.
Going down this road implies any use of the word master in the negative
All that said, I hope they go with trunk. We talk about branches, pruning, and trees yet the "trunk" of the tree is the "master"
I do find it interesting that the movement broadly associated with BLM appears to have corporate sponsorship. But the pendulum is swinging way too hard and too fast.
Examples such as these are already being used to discredit BLM. Very reminiscent of OWS btw.
This is absurd and will break lots of docs
bye to --set-upstream origin master
(Or, for a quick and dirty fix, always redirect master to the main branch)
We will live.
Should we change the word master data? Git is also an offensive term. This is absurd.
"Gimp" is a better example of a bad name.
Yes, because there's no precedent for non-essential changes which break code. Maybe there's a good reason not to change the "master/slave" terminology but this sure as hell ain't it.
To be clear, I'm not advocating for this change to occur. But clearly others disagree with you on this bit.
The issue with master/slave is way more than "it's offensive." By changing the language, people are taking explicit steps to move away from language rooted in racism. That's an important part of moving a culture away from normalization of oppression of minorities.
Like, ants(if I remember my biology lessons correctly) use other insects as slaves. In that relationship, ants are the masters and some other insect is the slave. Should we change biology books, because these words can be offensive when used in the context of humans? Why? Any functional adult should be able to distinguish between the two.
For other possible examples - should Montenegro change its name because negro can be offensive when used to describe humans(and even then not everywhere, it's mostly American context where it is)? Should we start renaming all islands, lakes, forests where negro is used in the name? In fact, I know that Finland is doing already this, which makes absolutely no sense to me.
Really, if this whole thing is offensive to anything, then it is to human intelligence more than anything.
This is a watering down of the position to the point where it can be attacked by a stand up comedian saying "sorry if my jokes OFFEND YOU, snowflake!"
You're right that context matters - it'd be terribly abusive for an employer to refer to their employees as their "slaves," for example, far worse than an employer referring to "master/slave" harddrives in their documentation. That much is obvious.
So once again I'll say what's happening here: America is trying to come to terms with its history of racism against POC, the fact that it's far from a solved problem, the fact that there's a lot of work to do before justice has finally been reached. People and companies are looking for ways to help. A great thing a company can do is strive for inclusivity. Doing a little bit of auditing of internal language is fairly harmless and should be uncontroversial, but for some reason there's hordes of what I would describe as "free speech fanatics" always ready to ignore their privilege and kick down the door of public companies should they dare to try to make their POC employees actually feel like they're as valued as the white ones.
Does GitHub seeking to make their POC users and employees feel more included mean that the US government needs to pass thought crime legislation to ban the use of the word master? No. Does it mean a español dictionaries need strike the word "negro" from their lists? No.
It's a company trying to make people feel more included. That's it.
I agree, except White Americans are not actually trying to come to terms with their history of racism against POC—this is almost an exclusively non-White movement, which is why I think so many Whites are surprised/confused/whatever by the BLM protests, or GitHub's recent actions…
I disagree. Tiktok is a comically shitty platform, but videos are flowing out of white kids having serious conversations with explicitly or passively racist parents. Sure, a small minority of white america, perhaps, but I don't think there's many white people left in America that aren't aware that something is happening. There were BLM protests in every state. I did a solo protest in Burlingame (absurdly full of old white people) and had tons of support from all the cars driving by and people walking around.
> which is why I think so many Whites are surprised/confused/whatever by the BLM protests
I'm not so sure - some white people are getting the shit beat out of them by the police because they turned up to a protest at the wrong time. Some are very personally starting to "get it."
That's literally all I was saying, so I think we agree. :)
Hah, what? Slavery is as old as language, so I find this an interesting suggestion.
Edit: good points about the origin of language below. Another interesting question: if there had been more black computer scientists in early day MIT, Stanford, etc, would these terms have been adapted to the new technologies?
magister in latin, as far as I remember is the term used for the teacher (which is the same meaning in modern french, maître is how you call a teacher of primary school)
Github is changing the default branch name for new repos. New repos tend to have the most fresh eyes and agility. It shouldn't hurt too bad.
This is worth breaking the docs. They’ll be easy to fix.
I agree that teams should be making these decisions on their own. It's just a branch name.
What git would do for this makes sense (git init -> branch main), but I'm not sure what Github functionality could change that'd make sense.
If it's not a big deal, change it.
If it is a big deal, change it.
Therefore, to me, the idea that changing the default branch name on GitHub entails great cost without tangible benefits is a non-starter.
I'd rather argue about Python 3.
Look, there are riots, burning looted building, people getting injured and killed, including police, and world-wide demonstrations. Two guys got lynched in California in this month.
Do you really want to approach this from a cost vs. benefit POV?
Is that your intention?
Why can't he just be "I don't have an opinion" and just expressing his view on simply just "renaming vs quitting"?
I am not arguing in favor of harassment - my argument is, either it's a change that you acknowledge is to be more inclusive to POC developers, and you reject that that is acceptable and thus leave GitHub, or you don't believe it's important / don't care / it's just a branch name, in which case you wouldn't leave GitHub.
The action of leaving GitHub over this change makes a statement. Saying "I'm not making a statement" while doing so changes nothing about that.
I have no opinion on alcohol consumption, but I sure will tell my friend "if you're planning on adding soda to your whisky, just because you don't like alcohol, you may just don't drink at all" while i'm waiting for my beer to come.
also you're saying
> the idea of making black developers feel more welcome.
I don't think a Nigerian care about ? Or you're talking about american-black ?
I am probably not quitting Github just because it's convenient and I'm forced to use it often. But I think it's stupid to pressure someone to be a user of some corporation's proprietary SaaS product or else they're evil and bad. Give me a break. For example, I bought Pepsi today--should I be attacked because I'm not drinking Coca-Cola even though the CEO of Coca-Cola endorsed $CONSENSUS_WORLDVIEW.
We wouldn't even be having this discussion if the majority of individuals and software companies hosted their own git servers and web clients. If I were using the GPLv2-licensed git and self-hosting my own FOSS web client for git, I could change the default branch name to "main" without having to beg some corporation because I could edit and run the code.
Regardless of why it's called master, the term bothers some people quite a bit and the cost to use a different term is trivial.
There is a small cost to updating existing projects, but for new projects, the cost to use a different term is zero. In return you make your workplace less hostile to some of your co-workers (or potential co-workers). This should be an easy decision.
It seems to me that, unless it comes from the mouth of a black person, opinions as to the offensiveness of “master” are worse than worthless.
I would even say more, a non-american-black person. It's like forgetting that even though most of american-black people have been subject to white master/black slave slavery, most black people on earth are African black, where they have not been subject to white master/black slave slavery (they have been subject to white colonialism, but they've also been subject to black/black slavery)
> So it’s like, you know what you’re saying is not right. You’re just not trying.
What you're saying is that all uses of the word master implies master/slave, which is what people are disagreeing with. In the recording industry, everyone uses the term master to denote the production copy of combined tracks. The tracks that make up a master are not slaves. In the same way that branches that make up a master vcs are not slaves.
In git parlance, master is where your builds come from for deployment. And branches are where you work on features. When branches are complete they merge back into master. How does this relate in any way to a master/slave definition? Based on the logic used, I would expect record studios to be moving away from using the word master as well.
What it implies depends entirely on reader perspective. What I'm suggesting is that with at little or often zero cost we can avoid this whole issue and make some users more comfortable working with us.
I could understand the argument if there was some kind of big cost to changing. The company I work with uses the master repo and I'm not advocating internally to change it right now. But for future, I'll use main. Because there is zero reason not to.
> In git parlance, master is where your builds come from for deployment.
As has been pointed out multiple times on this topic, use of the term in git did not come from the record industry. Git almost certainly uses the term master because Linux kernel developers used Bitkeeper prior to git. And Bitkeeper absolutely used the terminology master/ slave.
> I have wished many times I would have named them "main" (and "upstream") instead.
> Glad it's happenning
On an aside, that’s a profoundly awful website. At one point, over 60% of my screen was filled with ads (top banner video ad, bottom banner image ad, inline text video ad).
> There is a small cost to updating existing projects, but for new projects, the cost to use a different term is zero.
But if we want to talk about words used in workplaces that do imply control and ownership, can we discuss "subordinate"? Because that word is the most analogous word to "slave" that is used in everyday business.
"Making your bed will also reinforce the fact that little things in life matter. If you can't do the little things right, you will never do the big things right."
"If you want to change the world, start off by making your bed."
No one really thinks that renaming "master" branches is going to save the world, or really, do much of anything. I'm going to do it because it's a little thing that takes less than a day. After that I'll move on to something else.
> The broken windows theory is a criminological theory that states that visible signs of crime, anti-social behavior, and civil disorder create an urban environment that encourages further crime and disorder, including serious crimes. The theory suggests that policing methods that target minor crimes such as vandalism, public drinking, and fare evasion help to create an atmosphere of order and lawfulness, thereby preventing more serious crimes.
Perhaps there are two interpretations of this. 1. That it's a meaningless first step or 2. That it is a small but meaningful first step. To those who see (1), I think this is akin to heavily policing a neighborhood and arresting people for talking too loudly.
> The M&Ms provision was included in Van Halen’s contracts not as an act of caprice, but because it served a practical purpose: to provide a simple way of determining whether the technical specifications of the contract had been thoroughly read and complied with.
Or is it arguing the canary in the coal mine (a sentinel species which is affected by too-high carbon monoxide levels before humans are, giving miners a warning signal)?
Personally, I don't think the BWT analogy is the right one given how BWT is so strongly coupled to funding the police - even in its original non-zero tolerance version - and the well-known racism in its real-world application in NYC. You can see from your quote the lack of consideration of non-policing methods to target vandalism, public drinking and fare evasion.
Eg, pay for more sanitation and cleaning crews to fix vandalism, change the laws to keep cops from being the subsidized security force for abandoned buildings, restore public health services to help the homeless (one I've read about is to create supervised "flop house", that is, very cheap and basic housing where addicts and drunks have safer place to drink), and support mechanisms like raised minimum wages, increased unionization, or basic income which help people have the money to pay for the subway fare and an increased desire to maintain the current social system.