It will break a lot of code and a lot of tools. For what? To virtue signal about something that has nothing to do with the current civil rights movement?
Should we change the word master data? Git is also an offensive term. This is absurd.
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.
Once again, the usage here has nothing to do with master-slave idea. Obviously there is precedent for breaking changes. The benefits must outweigh the costs, the cost here is monumental, and the benefit here is non-existent.
I sense a bad faith interpretation of the word "offensive."
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.
Git's use of master has nothing to do with the master/slave idea. The word master been a word longer than it has been associated with slavery. Not every use of master is offensive/rooted in slavery/racism.
> The word master been a word longer than it has been associated with slavery.
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)
No, it's still insane, because it assumes that humans don't have two brain cells and cannot understand context. Master/slave make sense in context where....that's exactly what these things are. Why call them something else? Because these words, when used in a human context, are or can be offensive?
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.
What you're doing here is exactly the bad faith interpretation of the concept of "offensive" that I was saying - throwing out example after example of "potentially offensive words" and how we should just throw the whole language out for fear of offending someone. This is an unfair/bad faith interpretation of what's happening here, highlighted by your insinuation that the people who care about this kind of thing have only two brain cells.
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.
> America is trying to come to terms with its history of racism against POC
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…
> except White Americans are not actually trying to come to terms with their history of racism against POC
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."
Naming the default branch "master" is only a convention, not a requirement. Therefore, docs should not make any assumption about the name but give it as an example or <variable>. The deficiency here is clearly in the docs.
It will not be broken, it will be just an example for a random branch with a strange name. People which are not able to understand the abstraction and to apply it to their own repository structure, must choose another job.
Only if a project has used master as the main branch. We use "develop" for whatever reason and "master" (created by default by gitlab) hasn't updated since initial commit.
I agree that teams should be making these decisions on their own. It's just a branch name.
This. Poor choice of the original name was codified as some law, but it has never been a law and it’s time to clean up. I have seen discussions around the topic: “we have the master branch, what should we store there?” Semantics of the name were lost long time ago and it became just a random magic string in a ritual, which is not easy to explain or understand.
Docs are less likely to be broken if GitHub implements some automated, global way to rename the main branch: when this isn't done in an ad-hoc, per-repo way, they can implement logic to redirect URLs.
(Or, for a quick and dirty fix, always redirect master to the main branch)
I don't get the title "GitHub abandons 'master' and 'slave' terms to avoid row". What row has this avoided? It seems it has generated a huge one, avoided none.
Frankly I doubt it. While I saw a number of supporters of this change (albeit small compared to those who are outraged), those who have personal reasons to be offended seem to be a tiny minority if any at all. Those who advocate for the change seem to be all justifying it as beneficial to someone else- who though, it's not clear.
Can I 'assume' that there was a 'row' everywhere that decided to change away from master-type terminology? I could also assume that there was an overwhelming conscensus since they were able to act so quickly on something like this. Both arguments would not be based on any actual fact though.
In addition to being weird terminology, I have never found a case where "master/slave" is even used correctly. In almost every instance "primary/replica" would be a much better description for how the system actually behaves.
In my field (FPGAs) master/slave is used correctly fairly often - having one module command another module is really common in HDL design. Although I'm happy to see "master/slave" gone, I haven't yet seen a good widely-adopted alternative.
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.
leader/follower, or commander/soldier could work. Maybe king/pawn or queen/pawn if we really want to uphold the same kind of relationship as slave/master.
replica doesn't imply a power relationship. Master controls the slave , which is accurate
- 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
Not accurate in databases (where master only means authoritative source), not accurate in hard drives (master only denotes precedence), not accurate in hardware clocks (used to determine sync hierarchy - see NTP for a much better convention). "Master" only makes sense in a system where a component is delegating tasks and controlling one or more "slaves", and even then something like "controller" is clearer.
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.
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.
There are a few other sections like 6.3.13 (power-on diagnostics) and 6.3.16 (optional spindle sync) where it's pretty clear that Drive 1 follows Drive 0's lead.
For cars with hydraulic brakes or a clutch, there is the master cylinder and the slave cylinder. the master cylinder is a pump that provides hydraulic pressure to the slave cylinder to do work.
"Slave" is not a term used by Git or Github, and its use of "master" is not related to the vocabulary of "master/slave". Not the first to say this, but the media seems to be getting this all wrong.
The only git-specific aspect is that every clone of a repository gets a "master branch" (more precisely a branch named the same as the cloned repository's HEAD, but that is 99.9% of the time "master") and that is the only branch that is automatically created in the clone, just like a "master disk" is used to make copies of the disk.
This is actually a git concept not specific to GitHub.
The 'master' branch uses the word the same way an audio recording does. There isn't a corresponding slave.
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.
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.
For what it's worth, I have to reactions to that, both positive:
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'.
That is hearsay at best, an intentional strawman at worst. The fact that bitkeeper uses master and slave repositories has no relationship on the meaning of master for git branches.
It doesn't actually matter what the etymology of "master" is in this context. What matters is how people affected by a legacy of slavery view the term and its usage. In general, the term "master" used to denote something that is in charge or in control is problematic.
There is talk on the originating GitHub issue to make a list of repos/authors that still have master as a branch name as a way to shame them into compliance.
Not a good idea since this is all public. There will be spiders that gather usernames of those who switched back to master. It's probably better to just abandon github.
Why would you abandon GitHub because of this change? If GitHub is signalling a sympathy for the black lives matter movement with this change, seems to me you're signalling a direct opposition to the idea of making black developers feel more welcome.
you've just proven his point, he was expressing a good point that currently there's a lot of data points showing that when you express a not "100% agree" opinion with these kind of movements, extremists of said movement will harass you online, saying that things in "if you're not with us, the good guys, then you're with the bad guys". Like you did by saying that for you it means is in total opposition.
Why can't he just be "I don't have an opinion" and just expressing his view on simply just "renaming vs quitting"?
If they didn't have an opinion, why are they leaving GitHub over the change?
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 don't see him stating he's personally planning on leaving github ? he does advice to do so yes to someone who try hard to have a behaivour back on a plateform that said plateform is rejecting.
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 ?
You're framing it like the only two options are you either agree with them and are happy to comply or it must not matter to you.
Maybe he objects to the idea that an angry mob gets to set convention by shouting loudly and threatening to destroy your career if you don't comply with their demands.
The reason I suggested not to use that script was to prevent people from becoming victims of scapegoating and crucifixion, the same way I would suggest a North Korean dissident use Tor Browser instead of Microsoft Edge.
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.
This is performative. Meanwhile there are literal slave markets in Libya and elsewhere in the world. Yet if you resist this feckless renaming side-show or call it out the mob proclaims you complicit.
It seems to me that we change things all the time in the computer/software field, languages, platforms, UIs, OSs, etc. are always changing, often at great cost with dubious benefit. Python 3 is one example, Angular is another. I could list examples for days, literally.
Therefore, to me, the idea that changing the default branch name on GitHub entails great cost without tangible benefits is a non-starter.
Don't paint the whole field with such a broad brush. Yes, some people are happy to change anything and everything at any time for any (or no) reason. But don't assume that everyone's on board with that.
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?
master/slave can definitely go - plenty of alternative terms and worth replacing the dated jargon. primary/leader/writer - or something more specific to your domain - all work.
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?
The word "master" doesn't even originate from the usage of the word in regards to slavery. This whole thing is just nonsense. If you want to replace master/slave, that makes sense, but it doesn't mean that literally any usage of the word "master" should now be discarded. We still have Masters degrees, for instance.
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"
Git is originally a derogatory term for people born out of wedlock. There's plenty of "gits" who might feel offended to be reminded of their sinful birth.
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.
> Can you point to people telling their stories of how the common name for default Git branches affected them?
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.
Thank you. While public blog posts or social media threads would be better, if you've personally seen or heard black friends or colleagues talking about being bothered by Git branches being called "master," at least that's something.
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?"
It's a shame that you're being downvoted for this, but I suppose that's the only tool these people have since they can't argue against your position any other way.
Are there any thoughts on what technical change will actually happen? Will github change existing branches? If I make a new git repo with the defaults locally and push, will github and local have different branch names?
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.
This is mentioned elsewhere, but the connotation of master in the context of source control seems to be more along the lines of master used in terms of artifact creation. For example, where you have a master copy of a film or album. This is quite different from the definition of master in master/slave terms. This is definition 27 on dictionary.com.
of or relating to a master from which copies are made: master film; master matrix; master record; master tape.
But a branch from master is not a slave by any definition. Whereas a branch is a copy of a master. To be clear, I'm not against them changing this. But it just seems odd to base it on the implication that they meant it as master/slave when it clearly isn't used that way by anyone.
I agree that bitkeeper should change from master/slave if they so desire. I'm not aware of anyone using master/slave in terms of git or any other mainstream vcs. And github's specific use of master does not use slave. By changing it, they do seem to imply that they meant it in terms of master/slave though. Branches are not slaves to a master. In standard usage, a branch overwrites the master.
Uhh, I am not going to get worked up over this. It is about as silly as whitelist and blacklist ( and who knows, maybe that will happen in my lifetime ).
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.
I hope gitlab will not follow this trend which is purely PR (pun intented), (if Sytse is reading this thread) , it will give one more reason to love them. As I really do think it's purely short-term thinking.
As other may have said, regardless of where it comes from, most of people now use it with the idea it means "master copy".
Soon:
* 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.
It is harder to use the "A: I am offended.B:So what?" today. The more vocal proponents are not above going after you personally if you exhibit wrongthink.
That said, the robot example may end up being interesting. How far can this particular language purication can be taken?
I totally agree with you, we're replacing democracy by "power to the loudest".
> 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 !
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.
Going simply by the conntation of the term, master doesn't imply some kind of ownership or control over anyone. In the source control world, the branches are more in control of development than master.
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.
This link shows the problem of using master/slave. I think everyone in this thread is ok with moving away from using those terms. The problem is that the usage of master in terms of git, and github in particular, has nothing to do with master/slave. The word slave isn't even used in standard git or github parlance.
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 you're saying is that all uses of the word master implies master/slave,
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.
The master/slave nomenclature is a completely different issue than “master branch” in git, as has been noted many times in this thread and related threads.
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).
> It seems to me that, unless it comes from the mouth of a black person
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)
I wonder what name are universities going to choose to replace master's degrees, it's a small change to make the environment less hostile and all of that.
169 comments
[ 3.3 ms ] story [ 206 ms ] threadhttps://news.ycombinator.com/item?id=23518123
https://news.ycombinator.com/item?id=23500093
This is absurd and will break lots of docs
bye to --set-upstream origin master
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.
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)
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. :)
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.
(Or, for a quick and dirty fix, always redirect master to the main branch)
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.
- 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
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.
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.
https://en.wikipedia.org/wiki/Master/slave_(technology)
It's used correctly in several of the cases listed here. Also, Jenkins uses (or used?) the term correctly.
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:
There are a few other sections like 6.3.13 (power-on diagnostics) and 6.3.16 (optional spindle sync) where it's pretty clear that Drive 1 follows Drive 0's lead.In particular, how is it different from what is called "mainline" in other VCS systems?
This is actually a git concept not specific to GitHub.
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.
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.
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.
> (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
https://twitter.com/xpasky/status/1271477451756056577?s=21
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'.
> Out of curiosity, why 'master'? What was it meant to convey? 'Master' as in 'original' or as in 'owner'? [0]
the reply:
> "master" as in e.g. "master recording". Perhaps you could say the original, but viewed from the production process perspective. [1]
[0] https://twitter.com/yawaramin/status/1272237126474752005
[1] https://twitter.com/xpasky/status/1272280760280637441
https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
Git uses origin and clone for repositories.
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 ?
Maybe he objects to the idea that an angry mob gets to set convention by shouting loudly and threatening to destroy your career if you don't comply with their demands.
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.
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?
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"
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?"
EDIT: Your downvotes are proving my point.
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.
https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
Here is the bitkeeper documentation[1] 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.
https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...
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.
[1] https://news.ycombinator.com/item?id=23484466 [2] https://github.com/openzfs/zfs/pull/10435
This is literally just pandering to make themselves feel better lol
As other may have said, regardless of where it comes from, most of people now use it with the idea it means "master copy".
Soon:
* 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 !
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.
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.
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.
> So it’s like, you know what you’re saying is not right. You’re just not trying.
https://madamenoire.com/1167067/working-while-black-my-cowor...
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.
https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
> I have wished many times I would have named them "main" (and "upstream") instead. > Glad it's happenning
https://twitter.com/xpasky/status/1271477451756056577?s=20
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).
Geez.
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)
> There is a small cost to updating existing projects, but for new projects, the cost to use a different term is zero.