Hacker News new | past | comments | ask | show | jobs | submit login
Gitlab default branch name changes to main (about.gitlab.com)
105 points by ProZsolt on March 14, 2021 | hide | past | favorite | 261 comments



Yeah, I get it. It is a necessary change just so you take this of the table and not deal with the sporadic complaints that would come. Keeping the 'master' or 'master-slave' (in context of HA) terms just isn't worth potentially offending someone, or losing a sale, or getting bad press. We changed our verbage a couple years in our product as well just for that reason (Master-Slave to Primary-Secondary). The previous company I worked at (circa 2006) did the same as well after a complaint, so this nomenclature change was happening for a few years now. Meh, whatever.

It would be nice if that was the end of it, but it feels like we're now just looking for things to be offended by. For example, I have to admit that the terms 'whitelist'/'blacklist' being labeled as not 'inclusive' caught me by surprise because my brain didn't even make that connection ... at all. I wish we, the global community, didn't all have to pay for America's internal cultural hangups.


> I wish we, the global community, didn't all have to pay for America's internal cultural hangups.

Can't wait for Disney to remove any references to the "Dark Side" in Star Wars, Harry Potter to rename the "Dark Arts" into the "Bad Arts" and Lord of the Rings' "Black Riders" to become the "Evil Horsemen."

Nobody ever used to connect the term "blacklist" to race. But common sense doesn't seem to play a role anymore.


> You are on this council, but we do not grant you the rank of Main.

> What? How can you do this?! This is outrageous! It's unfair! How can you be on the council and not be a Main?!

I dunno, the dialogues were always terrible in the prequels, maybe it will improve matters. :/


Seeing black / whitelists discussions I always wonder, if white color is racist also by containg all wavelengths, while black suffers by absencing visible light.


>if white color is racist also by containg all wavelengths, while black suffers by absencing visible light.

This definition of white/black colors is context dependent.

In some contexts white is defined as a combination of colors, and black is absence of colors.

In some contexts (e.g. art) white is defined as absence of colors, and black is a combination of colors.


It is not a matter of context or definitions. It's a matter of the underlying physical process.

Typical computer displays generate colors by adding light of different wavelengths. However, paint pigments generate colors by absorbing light of different wavelengths.

Whether a system emits light directly, like a computer screen, or reflects incoming light, like a painted canvas, the perception of color is still determined by the wavelengths of the photons reaching the observer.


Heh. I guess since I engaged in pedantry, I can't complain if others do as well.

I disagree though. Your argument is akin to complaining that we shouldn't use temperature because in the fundamental quantum field reality, there is no temperature. Or maybe you would complain about using various equation of fluid mechanics (all of which are at best approximations) instead of field equations to calculate behaviour of liquids. Or maybe complaining in programming that it is incorrect to reason about objects or monads because it's just bitshifts and logic gates underneath.

The notion in art that 'white is the absence of color, and black is a combination of colors' is a useful abstraction for that particular domain because the canvas is white, and black can be made by mixing paint colors. It is as real as anything else that we, as humans, engage in.

>the perception of color is still determined by the wavelengths of the photons reaching

Not quite right. Color is not a physical process. It is brain experience and does not exist independently. It is USEFUL to sometimes map physical wavelengths of light to colors but that is context dependent. Not only would different species experience color differently for some specific wavelength, but also different humans will experience them differently as well (color blindness is one example, another one is that you can train your brain to be more receptive to color variations)


> But common sense doesn't seem to play a role anymore.

If it were just a common sense problem the damage could be reverted in it's due time. It is about hierarchy, if you put weak people in power they'll game the system and push whatever the mob wants, it won't stop with random tech lingo.


I don't mind so much when the renames make sense or are more comprehensible… master to primary for DBs, master to main for git. Indeed whitelist/blacklist is just ridiculous overreach, what can you do.

But Github went way too far by aggressively pushing devs to rename their own local master branches to main. This caught me by surprise and I almost accidentally renamed the branch of one of my previous clients.

https://twitter.com/Adys/status/1354468440753508355

Really gross.


Does it still do this if you don’t have your default branch set to main? I had to specifically go and set that on a settings page somewhere.


The terms whitelist and blacklist aren’t very precise. The better terms allow list, deny list or something that more concretely describes the auth model are actually helpful.


The terms "whitelist/blacklist" are no less precise than stack, heap, queue, memory, signal, object, class, instance, process, and so on. They acquired precise meaning not by etymology but by usage. It's silly to argue "Oh you didn't want these terms anyway: they're not precise enough."

Well, the whole discussion is made of silly hills not worth dying on, so to speak, so maybe it's par for the course ...


Sure. The existing terms are a little quirky and you can make the argument that 'allow' and 'deny' lists make more sense ... but come on man, why be obtuse? You know that's not why these terms are being changed.


In 2022: the terms "allowlist" and "denylist" evoke the realization that marginalized groups where and are DENIED privileges afforded to others. You are now cancelled.


What to expect, if we live in the world were intelligence is becoming rare, and people can't read the context, and get insulted by anything. More and more have such delicate souls, poor things.


That’s a lot of words to say “this is a good change and nothing has been lost.” Incredible that this post has almost 200 comments.


He didn't say it's a good change. He said it's a CYA move that's become necessary.


Time has been lost. When management required this change, it broke some test and deploy automation, and some git non-experts screwed up their clones and needed help.


and there may be security issues down the line due to non-authorized users claiming ownership of "master" branches.

Time is the most precious thing you have in life, you cannot get it back.


This will absolutely cost customers.. The rest of the world is getting fed up with the US. Most of the world is not as deeply racist and the US... Master is not associated with anything negative here.


"Whatever you do, don't use gitlab. They changed their default git branch to 'main'."


[flagged]


> There is no end goal here being offended is the goal.

Nop, it’s a mean. Being perceived as a victim is very bankable these days, so the craze will continue with more people being offended and asking compensations (often monetary) for it.


The people who are offended mostly aren't even the people who would get any kind of compensation. They are offended on behalf of others.


The natural conclusion of the black/whitelist argument is renaming the colors.


If you dig a little deeper you might find your brain does make that kind of connection subconsciously.

This article gives a nice introduction into the work of cognitive linguists George Lakoff and Mark Johnson. https://theconversation.com/how-did-white-become-a-metaphor-.... The language constructs we use embed positive and negative associations with the words used to describe black or white things, low or high concepts.

But I have to admit my bewilderment with the default branch name change too. I've seen older uses of the word master to mean original source of truth or master of students -- or padawan.

I believe it's better to live in a time where we think more seriously about the words we choose to use than in one we don't. Language is fluid and always changing anyway.


> your brain does make that kind of connection subconsciously

This should work both ways then. So loving black tea, black humor, Black Mirror, Black Swan and the color black in general would make me like "black people" more because my brain does the wiring subconsciously when it reads the term "black"? Nope. Don't think so. But maybe making everything about race is, well, racist?


>If you dig a little deeper you might find your brain does make that kind of connection subconsciously.

I'm sure the brain makes all kinds of connections subconsciously. The specific claim though is that your brain makes racist connections (where 'racist' is broadly defined by certain kinds of social 'scientists', where the academic field of 'social science' in general is sloppy and non-rigorous), with the corollary being that you then perform racist actions. Those propositions are wholly unproven and on the surface strike me as pseudo-science.

I have also yet to see any evidence that that cultural connotations behind the colors 'white' and 'black' (like 'white is pure' and 'black is evil') actually even maps to people or racist behaviour. Do people see 'dark eyes' or 'black hair' as evil? First I hear of that. And I'm not even sure if the white/black connotations are cultural at all. I suspect that they come from something deeper, namely, nighttime was/is dangerous for our species. As I child, I was afraid of the dark and I can guarantee it had nothing to do with race or anything from culture. Where did I learn that?


It's not America. America is the only truly free country. Only 15 counties in the world allow you to even own land if you're not from a specific religious group, ethnicity, or born in the country.

And guess what they're all western democracies.


What? Citation needed. Unless you’re talking about citizenship/permanent residence being a prerequisite to owning land, there’s 27 countries in the EU alone that I think serve as counterexamples...


The US doesn't require citizenship in order to own land. The US also has public lands where anyone is able to hunt, provided they have a license. In most states a license requires paying a nominal fee and maybe taking a 1-2 day hunter education course.


I would like to point out that it's perfectly OK to have master/slave relations between computers, hard disks and git branches. The only place where it's problematic is between humans. Perhaps we would do well to remember that words can have different meanings in different contexts. It's nice to try to be considerate of people who are sensitive to certain issues, but at the same time they would do well to limit their sensitivity to where it's appropriate.


Absolutely.. most people complaining about this seem to want to purge the concept itself.. which is crazy to me. The concept is just that. It is not good or bad if you don't involve any human parties and practise it. It just describes that one or many entities control one or many other entities.

Culture has become oversensitive in a bad way. And IMO changing "master" to "main" won't help fight racism at all. It is just some useless showpiece action to render whoever it does as a good person or company.


> Perhaps we would do well to remember that words can have different meanings in different contexts.

I’m afraid this idea is rapidly becoming deprecated - now if a word has multiple meanings, we pick whichever one is most offensive and forget the others

(No judgement on whether that’s a good thing or not, I see pros and cons)


Exactly. The computer systems have no way way to subjugate each other, with perhaps the exception of the rather extreme STONITH. I think dominant and submissive better captures the relationship between nodes: the nodes agree upon their roles and exchange power in a consenting relationship. If nodes are not agreeing to power exchange, you end up with all kinds of split brain behavior and data corruption.


Its perfectly fine between humans as well. The difference between humans an machines is, one can and should give consent the other not.


Master / slave are catch all terms versus more precise ones that represent the exact relationship of two systems.


I personally prefer primary/secondary anyway.


That doesn't infer the same relationship of dependency, but infers a parallel independent relationship.

Not the same thing.


So in a master slave database setup, the slave does all the work while the master supervises?


That's... A really good argument.


Primary / Replica.


That's not either, slave is not always a "replica" of the master, only in some contexts.

And a master does not even need a slave (like in the github case) - so git's master is not even like the master (who had slaves) that people are offended about.


It's more similar to the meaning of audio master, like a reference copy, not that branches are slave of it.


So do I, but I wouldn't care enough to start a debate about it.


If you did care enough to debate about it, that's okay.


I'm African and I think these name changes are ludicrous. Why not fix the (hopefully unconscious) hiring biases that surely exist in big tech that ends up hiring overwhelmingly male candidates of European and Asian origin?

Reminds me of something Martin Luther King (MLK) said after he started the second phase of his activism. Civil Rights and Voting Rights Acts had been passed 1964 and 1965 respectively, so MLK started to agitate for economic opportunities and equality. He noted that this would be the harder fight because allowing people to vote costs nothing. It was during this phase of his activism that he was assassinated.

Changing the name of your repo means little and is not a substitute for looking deeply at your organization and asking the hard questions. You can call your repo Conan the Barbarian conqueror of all, or master. It doesn't matter to me.

Edit

Can I just add that IMO overcoming bias can only be achieved by individual effort. No amount of talk about diversity and equality by the company will fix the problem if any persons involved in the hiring process has biases and preferences rooted in ethnicity. If diversity initiatives were sufficient Google would be a more diverse place today. Not faulting them for trying though.

My experience: I once interviewed a candidate who was much older than the rest of the team and I could see ageism welling up in me as soon as I met him. I had to consciously blind myself to the age of the candidate and forced myself to consider the him on merit only. Turns out the guy was great, and I agreed with the team that he would be a good hire. All I ask is not to look at the color or my skin but only on what I know. And do not offer me a job that I cannot do just because you want to be diverse.


I agree with everything you just said, but why can't it be both? It seems to me like a knee-jerk reaction to disparage small, symbolic changes like this because there's more important change that should happen instead. This implies that there's some kind of zero sum game at play where people's tolerance for change is somehow depleted by small changes, making larger changes harder. I guess the jury's out on that one, I don't know of any experiments made that can indicate one way or the other, but I don't believe that's the case. In fact, I believe disparaging small changes can be harmful to larger changes, because it accuses people that engage in trying to make positive change happen of wasting their time, because they're not focusing on the changes that you personally feel are more important.

Having been an activist for many years, albeit in union related issues and not what's generally called "civil rights", I can certify that the main issue with any kind of social change or activism is that people are not engaging in it in the first place. Because of this, I'm firmly convinced that even "meaningless" change is at least change, and that denigrating it will turn people off on attempting change at all.


Thanks for making that point. You are right. I was just concerned some organizations would take naming a repo as "job done".


> "Why not fix the (hopefully unconscious) hiring biases that surely exist in big tech that ends up hiring overwhelmingly male candidates of European and Asian origin?"

Speaking of biases, please refrain from lumping us Asians in with whites. Asians had nothing to do with the origins or history of America's race problems.


nothing in the comment implied that, if anything it asked for a stop to look at people as "asians", "whites", "blacks" or anything else and just look at them as people (while remembering that your ability to do so is likely imperfect). we do not need blame we need unity


I think the default branch name change has been good for the ecosystem; “master” didn’t always make sense for whatever workflow was used, and it was hardcoded all over a bunch of tooling. I think “main” makes more sense, regardless of politics, and this encouraged a lot of software to make the default branch configurable.


I’m worried about wokeness but I switched to “main” because I took the cue from Linus and because I figured the cost was (almost) zero and if it marginally improved the happiness of a potential future employee it was easier to do now.

In hindsight I agree, it feels like a better choice anyway - quicker to type and it makes sense. Win win.

That said my concern is that the “cost was zero” - one of the biggest problems with wokeness is it serves to distract from productive actions rather than sanctimony / tokenism / virtue signalling. Perhaps a symptom of twitter syndrome: virtual likes (easy, simple, shallow) vs real change (hard, messy, compromising).

When I start discussing the latest woke language debate, I remember that this pontification is exactly my objection, and that I’d be better off thinking about how I can help people who are poor or homeless or unable to access good schooling, rather than endlessly debating which words to use. There certainly is an opportunity cost, mostly on the political left as it neglects vital issues such as financial inequality, education, health, and deteriorating infrastructure.

Perhaps the best thing I could start with is to quit twitter to rid myself of the distraction? I don’t know. Anyone managed to work out how to navigate this?


You just have to be realistic and contextual with the conversations you're entering in.

In the above comments, I might as well very much seem like a virtue signaling SJW that would rather have a small language win than a hard-problem-solved kinda win.

However, outside of these few comments, I'm active in leftist political organizations and I've organized strikes, campaigns and more to best the actual lively hood of a lot of lower class (and therefor usually radically diverse) people.

Just keep in mind that this _is_ about language in this context. But for me as someone that tries to make every part of my live better for me people, this is also part of that, how small and ridiculous it might seem in it's effect.


Agreed. I was interested to read in the article that the master name does indeed originate from master/slave, because that doesn’t map to my mental model of git branching at all.

If “main” is a better description and offends fewer people, why not switch? Just seems like opposing a very minor change for the sake of it.


This will necessarily cause some people to hijack the reference branch by creating one branch called "master" and this branch may be used upstream (e.g. Debian builds) to create packages without approval from the main maintainer (who is committing in "main").


If there are any tools hardcoded to use master then there’s nothing stopping anyone continuing to call their reference branch “master”. These changes don’t even apply to existing repos, just as a default for new ones.


> it was hardcoded all over a bunch of tooling

But that was fine because everyone used it. I agree "main" would have made more sense from the start, but changing it now is just a waste of effort and makes things more difficult (e.g. before you could have hard-coded "master" but now you have to figure out if it is "master" or "main").


The workflow I use on my personal repo (for stuff I can't/won't publish) doesn't even use a default branch, just feature branches and branches named after hostnames.


Are there actually any devs out there that are really offended and feel excluded or worse than others because the default git branch is called master?

I work in a fairly small company, but if i think of all the things we'd have to change in our infrastructure to exclude all of those offending words (like Black- and White-Lists), we'd probably be busy for a couple of weeks.


How is blacklist and whitelist offensive now? It seems that some people have nothing better to do than make trouble for the sake of it.


It reinforces black is bad and white is good.

Also, deny list and allow list are more precise terms anyway.


>Also, deny list and allow list are more precise terms anyway.

Are they? Black/whitelist feels way more natural to me. You can also say things like "blacklisted this ip" instead of "adding to the deny list" or something.


I prefer "blocklist" and "allowlist" which sound more natural to me, but you could certainly use "denylisted this IP".


That's fair. Although I still think blacklist/whitelist is more natural/easier for most people to understand.


"I allowed this ip" "I denied this ip"

that these are stored in a particular data structure isn't the important part IMO


It's really very easy. "denylisted this IP"


Add this ip to the deny list.


blacklist was never intended to mean black people, but undesired people

it doesn't reinforce the idea that black is bad and white is good, it was modelled around the idea that black is bad and white is good.

Because for humans black (dark) is bad and white (light) is good.

Black cats were considered a symbol of bad luck because they were invisible in the dark, not because they resembled black people.


Black bad and white good will remain until you feel safer in pitch BLACK night than during daylight. It has nothing to do with American socio-cultural societal illness.


> we’d probably be busy for a couple weeks

You would get paid to implement more descriptive systems. Sounds like a good deal to me.


Either

(1) Default name doesn't have inherent value; therefore, changing the default isn't a big deal (low downside), even if the upside is low

(2) "master" is for some reason a better name than "main"

I never see the people complaining about this stuff spelling out a reason why it's a bad idea to change (2), and am forced to conclude that we are in scenario (1).

It seems to me that opinion is much more divided on the amount of upside in changing the name. But if the downside is virtually non-existent, who cares? If this is important to some people, shouldn't we just listen to them, and move on?


I don't know why you've missed the obvious:

(3) "master" is a bit worse than "main" but changing it now is annoying.

It's like how electrons are negative or an inch isn't exactly 25mm or Pi is half of full turn instead of just a full turn, etc. They all could have defined better but changing them now would be more trouble than it's worth.

> the downside is virtually non-existent, who cares?

Because a) it isn't virtually non-existent. It means you have to configure another thing on all systems you use git on, it means pretty much all existing tutorials are now wrong, and it means all scripts that assume `master` (a pretty reasonable assumption!) are now broken.

And b) it's the principle of the thing! People don't want SJWs to win the argument.


There is a downside which is all aliases and snippets which assume `master` and no longer work (or work across repositories).


Assuming a repo has not changed a default is kinda broken either way, so if this leads to more fixed software... (had quite a few annoying moments with repos that didn't use master as the main branch for whatever reason (e.g. having "develop" and release-specific branches)) and tools that insisted that had to be what I wanted)


Web links can break too. A URL that could previously be used to retrieve the most recent version of a document may no longer do so.

I've already read one bug report where two people were talking at cross-purposes for a considerable time because one of them was reading a stale version of a proposed standard for this reason.

It's hardly the largest cause of «Cool URIs don't change»[1] violations out there, but it's enough to cause some real trouble.

[1] https://www.w3.org/Provider/Style/URI


At the risk of being too dismissive - that sounds like incipient tech debt coming due, rather than a new problem entirely (yes, the line between those things is blurred)


We have auto merges setup vs master within bitbucket. I've asked our support team to raise it with them and get it addressed. Thats the only reason we've not changed it. We don't develop off master anymore anyway, so it is a bit of a moot point from anyone using the repo. The main annoyance is that when you clone a repo it always comes from master so you have to tell people.


We should probably stop referring to nice teeth as straight and white too. Wouldn’t want to offend.

If you can’t disambiguate software development from human abuse the problem is your grasp of semantics not society.


Personally i do not care about the change in the default name of the main / master branch in git.

But i totally agree with you on the point that we should be able to differentiate such terms from their meaning in another context. I see how this can offend people but honestly the only thing we'll ever be able to do is change the labels on such things. We're assuming so many of those words to be a defacto standard in IT that they won't die anytime soon.


This just seems like a wholly childish comment. White and straight seem like good descriptions for teeth.

Why do you feel outraged by the conversation around improving technology to be more inclusive?


Because if you apply this equally you can’t use the word “pussy cat”.

We have to get real. These problems are real. So tackle them in a real way.

Renaming branches in version control is virtue signalling horseshit.

Wake up.


Why are you so offended?


Unfortunately, its not programmers making these decisions. It's non-technical, marketing, and HR departments that copy and paste the terms from the most recent treatise on wokeness.


I didn't think of the word "master" being offensive in the context of Git branches until the issue came up a few months ago.

Once I became aware that some people are offended by the word "master" in this context, I immediately realized that I was blinded by my privilege, and I will henceforth name my branches with a new social consciousness.

That is, I was blinded by intellectual privilege: I had assumed that anyone smart enough to use Git would be smart enough not to care about this.

I will continue to name my own branches "master," and I have successfully convinced the organization I work for to do the same.

Before, I called branches "master" without any political intention at all. Now, I do so with an express political intention to demonstrate my explicit defiance of the censorious sort of people who insist that I must change my words because you might be offended by them.

Being upset about the name "master branch" is a completely ridiculous politicization of technology.

I'm thinking of downloading/buying and hoarding every mathematics and computer science textbook and paper I can find that uses the word "binary," since I'm sure they'll be banned soon due to being offensive to trans people, and someone ought to be preserving knowledge for when our society stops this insane witch-hunt and regains its sanity.

For posting this comment, I'm sure I'll be accused of being a racist, and stand a real risk of losing some karma.

I'm not a racist. The way I interact with people of all races is ethical, and gives me no trouble sleeping at night. I'm glad slavery ended long ago.

I'm simply taking a stand, in my own little way, against political correctness run amok.


Ironically, it'll probably be the Scrum Master that ends up creating a Story to update everything to Main.


Hells no. If this going to be enforced it better be done programmitically on my behalf and if the enforcement tool breaks anything the enforcement team is doing the RCA.


When I think that people are not that stupid, there's always someone that surprises me.

What on earth has the name "master" to do with anything? Why dont we remove the word "master" from all languages in the world and make it a tabu to even speak of it. What does master/slave in relation to "hu-mans" has to do with anything else in the world that has the same name?

Just the amount of money and work hours done by everyone just to make this completely stupid change and not to mention behing completely stupid, its insane, could feed all the starving people on the world.

MY BRANCH WILL ALWAYS BE CALLED MASTER IN ALL THE PROJECTS I CONTROL, TILL THE DAY I DIE.

PS: Sometimes I wonder if people actually have work to be done, to take us to the futur and beyond, or they just go to the toilet and come up with these ideas.


Please don't be hysterical.

In case you're getting angry at the downvotes, I can tell you why you're getting them. There are only two lines of content in your comment other than tribal affiliation signal. One of them is a factually obviously false statement ("Just the amount of money and work hours done… to make this… change… could feed all the starving people on the world"); one of them is a question answered in the first paragraph of the article ("What on earth has the name "master" to do with anything?").


Please never use the word hysterical. It is deeply rooted in hate against women.


In the current climate it is impossible to determine if this is serious or a joke. This is in itself hysterical.


why would I be angry with downvotes? They dont mean anything to me. In the meantime, I just created another repo with branch called... master.


Cool man hope you feel extremely badass for doing that!


> One of them is a factually obviously false statement ("Just the amount of money and work hours done… to make this… change… could feed all the starving people on the world")

Hyperbole for this one thing to be sure, but the amount of money _and_ time spent in total on the Social Justice Industrial Complex over the past few years could probably have terraformed Mars. What a waste.


I for one think it's great that people are willing to make things a little more accessible for more people. If people want to be part of our community of developers I think it's great that these organizations listen to people who might have a problem with certain terminology. Even though I don't have a problem with those terms, I think it's still worth evaluating if they're worth keeping if it makes it harder for someone to be part of our community.

Hope more of you feel the same, as I'm getting kind of tired of the "the SJWs are at it again" shtick. There's also legitimate reasons to why these changes are necessary outside of some loud obnoxious screams from certain SJW-like people, that yes, are annoying to hear. Some of the response from our community to "push back against this" is just equally weird, tone deaf and childish however.

Say what you want, be we all know we've done silly refactors over smaller things. So don't make this bigger than it should be: it's about making our community bigger by making it easier for people to be part of it!


> I for one think it's great that people are willing to make things a little more accessible for more people. If people want to be part of our community of developers I think it's great that these organizations listen to people who might have a problem with certain terminology. Even though I don't have a problem with those terms, I think it's still worth evaluating if they're worth keeping if it makes it harder for someone to be part of our community.

Is it more accessible? As in, is this change driven by complaints from actual people who feel excluded by the terminology? As far as I'm aware, none of the projects making these changes even claims that, it's all speculation on behalf of hypothetical offended parties.

Not that it really makes it less annoying to have terminology used by people from all over the world be dictated by American cultural sensibilities, but it's easier to stomach if there's some material justification behind the change.


> Is it more accessible? As in, is this change driven by complaints from actual people who feel excluded by the terminology? As far as I'm aware, none of the projects making these changes even claims that, it's all speculation on behalf of hypothetical offended parties.

I'm an African American, and no I'm not offended by Git's branch name. White progressives spend so much time on virtue signalling but hardly pay any attention to pressing Black problems like Black poverty and education.


Genuine question: do you feel like the changes are also condescending?


I don't know, I can't speak for the people who's access is limited. However, I am Dutch and can say that these cultural sensibilities are far outside of just the "American" one.

There are plenty of people that struggle with this terminology in a realistic way. Even if you can't find anecdotal evidence of someone being offended by this, you can rationally come to the conclusion that it might be worth changing it. And for it to be accessible, it doesn't need to come 100% from the people that face problems with the terminology. If it were to be 100% those people, than it would be a great from of cultural emancipation however!


I mean, I don't think it's unreasonable to ask for at least a couple actual examples of this change helping people feel better about participating in technology. In the absence of such, it all feels very performative and, dare I say, a cheap way to score good PR for participating organizations. I don't think it really hurts anyone to an extent that it should be opposed, but neither does it really help, until proven otherwise.

> However, I am Dutch and can say that these cultural sensibilities are far outside of just the "American" one.

Are they? Does the master/slave terminology also have very negative connotations in your culture? I thought it was almost exclusively an American thing due to their historical circumstances.


I would suggest looking up what the Dutch did in relation to race equality in history and how we were involved in a lot of slave trade, sometimes even to the US.

I would say you have a point with saying it's performative, and I don't have anything to counter that. However, perhaps your energy could be spent looking for someone that is actually offended by this to counter your own perspective?

Kinda Karl Popper style of disprove your own theory?


> I would suggest looking up what the Dutch did in relation to race equality in history and how we were involved in a lot of slave trade, sometimes even to the US.

I am aware of the history, but that's not enough to give the words themselves emotional charge and significance. The reason this is so for Americans is that the consequences of slavery and racial segregation are keenly felt right now - it's not just an abstract wrong committed on people long ago and far away. As a point of comparison, I'm from Eastern Europe, and the word "slave" is derived from "Slav" - but this is effectively ancient history with little bearing on the present, and so the word doesn't carry any emotional charge or special meaning.

To put things differently, is there a segment of the Dutch populace for whom the words "master" and "slave" signify that kind of viscerally felt injustice, as they do for black people in the US? This isn't a gotcha question, I genuinely don't know, and these kinds can be arbitrary and irrational. For Poles, "slavery" is abstract, but "forced labor" brings up some major traumas from around World War 2, for example.

> Kinda Karl Popper style of disprove your own theory?

I was hoping someone would do it for me in this thread. :) Might still happen, if not, I might have to do some digging.


> I am aware of the history, but that's not enough to give the words themselves emotional charge and significance.

I disagree. Nazis, soviets did a lot of crimes against humanity and in certain countries symbols of those regimes are banned, also speaking positively about it also is banned by claiming it dismisses all those crimes.

It’s not required for that word to be relevant NOW in order to be somewhat negative/avoided.

I think it applies also to master/slave stuff: it attempts to normalize those terms by dismissing history of those words. Also - if we forget shortly that we are used to master branch in git: why word “master” is right choice for it? for me “main” makes sense.

as for DB - original/replica also makes sense.


> dictated by American cultural sensibilities

The English-language Internet (and tech) field has a large centre of gravity in the US, so those of us outside of the US do tend view a lot of the rending of garments on some topics to be quite strange.


>I for one think it's great that people are willing to make things a little more accessible for more people.

How does this make anything more accessible for anyone?


There are plenty of people in our society that actually have a negative relationship to these terms that we commonly use in our profession. Psychologically, it can be harder to be part of a group of people or a profession when you have to use these terms, therefor lowering accessibility. This can be because of stigma enforcing terminology (such is the case of master/slave for some people).

These are usually not effects experienced by the majority that's fine with those terms however, which makes it hard to empathize with people that do struggle. Unfortunately, people seem to think that rationality without empathy is always the road to a good conclusion. When you do it in these contexts, however, you're actively excluding those who you fail to empathize with.


Please stop speaking up on behalf of African Americans without consulting their own opinion on this matter.

I'm one and not even my Black friends care about this silly posturing from White progressives. We are frankly getting tired of this virtue signalling while the American society doesn't give a shit about actual Black problems.

What is "rationality without empathy"? Have you tried getting off that armchair and tried talking to poor Black people to understand how they feel?


Yes I have. Very weird for you to assume I don't. I don't live in America, however I am constantly reminded of my country's (The Netherlands) colonial past (you know, the spice trading, genocide inducing, slave trading one) and the repercussions of that. My city's suburban neighborhoods are filled with people of lower class of all different types of ethnicities. I've done as much as I could in the last few years to emancipate them, and as such I have ran into these "language problems" before, even in Dutch, even in different places than tech.

To act as if our community does not have those issues, or to think that I do not have anything meaningful to say because I'm in an "armchair" doesn't make sense. I'm not American, I'm not speaking on behalf of African Americans, I'm speaking on behalf of myself and my own experience.

I don't necessarily think this will persuade you to think differently however, so yeah. Keep your opinion, but don't assume my circumstance based on your subjective experience.


As someone from a working class background, I find your use of the term "lower class" problematic. It suggests you somehow perceive me and my ancestors as beneath you, or that we have less inherent worth as human beings. We prefer the term "working class". I find it strange that you're so keen to tell others that using inclusive language is a non-issue, yet you yourself are perpetuating stereotypes by using exclusionary and hurtful language.


You're right. My apologies. It is problematic and didn't think of the repercussions of translating my thoughts like that. I am capable of making mistakes, but don't mistake that for unwilling to do good or willfully being exclusionary or being hurtful on purpose.

EDIT: Also worth noting I am actually originally from those neighborhoods and I'm also raised in a working class family. I'm also working class by my country's standards.


It evokes slavery and makes some people feel unwelcome. Many other projects have made similar changes to their own repos (eg Go made the same switch) and there has been quite a lot written on the topic if you google around.


[flagged]


He's probably created an anonymous account because we live in a world where you may well lose your job for even questioning that a _source control branch name_ might offend someone.

An opinion that - in the real world - the vast majority agree with.


Trying to portray the use of terms like master-slave as something that "might offend someone" is a complete misrepresentation of the issue, and one that is spawned from bad faith.

The overall goal is inclusiveness. The goal is not centered around whether an expression offends, but whether an arbitrary naming choice does not help accommodate other people or if it might bring discussions and debates over personal matters some people feel strongly about.

A few decades back, there was a common rule of thumb that was quite simple: do not discuss politics or religion in the workplace. The reasoning is straight-forward and simple to understand: if you wish to work somewhere where coworkers do not antagonize other coworkers for stupid personal reasons then you simply didn't opened the door to discussions about stupid personal matters.


> Say what you want, be we all know we've done silly refactors over smaller things.

As a very very junior dev, I had "nuke" in a function name, and logging that included the function's name. Turns out Japanese customers are not super big fans of nukes. Lesson learned, small change made, life goes on.


>There's also legitimate reasons to why these changes are necessary outside of some loud obnoxious screams from certain SJW-like people, that yes, are annoying to hear. Some of the response from our community to "push back against this" is just equally weird, tone deaf and childish however.

I understand your perspective. I'm not against changing the term. We changed it in our product a few years ago (master-slave to primary-secondary) as well ... primarily because even if you offend one (current or potential) customer it's just not a hill worth dying on.

But to address your point though, I wish there was some acknowledgment by 'the SJWs' (as you put it) that even if the term is archaic and should change, the tech community simply used a descriptive dictionary term for a particular architecture, and therefore the term is wholly unconnected to 'white supremacy' or 'systemic racism' or 'unconscious bias'. But for many who raise these issues, there is no good-will or charity. And that's why there is pushback. Many people don't want to accept the position that they were purposely insulting other people when these terms were in widespread use.


> Many people don't want to accept the position that they were purposely insulting other people when these terms were in widespread use. True, but I think it's important to notice that you're not purposely insulting people until you start defending this terminology that can be oppressive for some people. Everyone in this entire thread had the opportunity to go "you know what, if this makes someone feel unwelcome, I get that. Perhaps a good idea to change it". It's when people start defending something that is both "so unimportant that they don't understand" but also super important that it doesn't change just gives a really weird vibe.

I just can't seem to understand why people are so unwilling to just be a little bit more welcoming, even if it is hypothetical according to them.


In general I find tech to be a very welcoming industry, especially compared to every other industry. I think there's a human issue that is happening, namely, if you come in with a negative and accusatory energy people will be turned off by that, get very defensive, and mirror your energy back at you. That's not a tech thing, but a human thing. And yes, many people do feel beaten down with constant accusations of ill will. This is why the principle of goodwill and charity (i.e. assuming the best intentions of people) is so important for all sides.


Good intentions are hard to see, you missed it yourself. Of course SJWs have problematized this in terms of semantic drift, but most people only listen to the extremes and use those to define the average of that group. Often I find being tuned into the bad intentions of the people you agree with is more important.


> I for one think it's great that people are willing to make things a little more accessible for more people.

This doesn't achieve that. It very clearly does nothing.

Human beings as basic pattern matching engines have been hacked by things like twitter to amplify beyond reasonableness many concepts and ideas which they are shown as related and then regurgitate and spread.

Whilst this in particular may not be "important" it is certainly but one minor example of a very serious trend that is demonstrating a very low latency mechanism at play for creating fast paced change in western society that undermines the strengths of slow change that made it so successful.

Now you might be the kind of person who might have a desire to see those fundamentals undermined under a guise of faux altruistic reasonableness, I don't know, but the overly simplistic acceptance of it indicates an avoidance of any of the reasons why people might be resistant to it. Thus why i question your motivations here.


I think it's important to be inclusive. I'm not against this but there are definitely situations where this has gone too far. I've started to notice some companies completely excluding white men from PR images and not sending them to events which is super weird and definitely not inclusive.


I don't like the continuing insinuation that there's "some loud obnoxious screams from certain SJW-like people".

Usually it's just loud obnoxious screams from Anti-SJW people, and people blindly following the call to arms against what they call "SJW bullshit".


Yeah that's true, and I feel you on that. It's just that when conversing with people that do feel like these "SJWs" exist, makes it seem more nuanced, since you're distancing yourself from that stigma even though you're saying things relatively similar to SJWs.

Honestly, I just do it avoid being called one, even though I'm not in any way close to something that could be defined as a SJW.


Anyone who believes that "master" is some kind of slur and takes the opportunity to take offense over it is not someone you want causing problems in your organization.


I dont know, I was taught from a very young age to be nice. And honestly, I kinda of kept it as a close part of my personality to not make anyone feel uncomfortable for any reason. Although I can argue most of these things from a political angle, I also feel like "making people feel more welcome" is a goal in and of itself, and therefor can't be overlooked.

Honestly, I feel like if you would have a problem with a particular community you would like to have it resolved too right? I just don't think that it's ever been about terminology because you never had to feel uncomfortable because of it. That's not bad however, but it's easy to forget that if you don't relate to someone subjective reality, doesn't mean it's any less real.


Totally agree with this.

If someone still struggles to get behind it, think of the few chars that will be shorter to type and also think how it is much easier to compare the branch concept a real tree, and talk about the main branch. Maybe they could have gone for trunk? (If you care so much about main vs trunk, then choose whatever makes you happy)


It's very smart. Trunk is a better term than "main" and reflects very well the logic with the tree and historical naming (including CVS, SVN, and the trunk software itself).

main implies that one branch is more important than the others. This could be offending to some.


> main implies that one branch is more important than the others. This could be offending to some.

What if one branch is actually more important than others? What about weighted graphs? Stochastic dominance? You can't blindly project social concepts on math/computing science, it's a blind alley.


>main implies that one branch is more important than the others. This could be offending to some.

I can't tell if this is satire or not.


It's HN so it may not be. In Japan, main family is the superior family while branch families are treated as lower class. This imperial system is still very much prevalent and map to skin too.


“I am personally not offended by this, therefore anyone that is offended is a problem to be removed”

People have different life experiences and backgrounds. The cost to you of renaming is near zero, if you’re the one loudly opposing something that makes your coworkers more comfortable then you’re the one causing problems in the organisation.


I have yet to hear of anyone being actually offended by this.

> The cost to you of renaming is near zero

Not true. I just had to update a load of tests for a git client I'm working on that assume the default branch name is `master` (I wrote them before this mess), and now I have to configure Git on every system I use to use a default name of master. It's not a huge pain, sure, but it isn't nothing and I don't get any benefit from it either.


Sounds like a flaw in your git client. It was always possible to change the default branch name, so hardcoding master was never right. You’re far from alone in making that assumption though! The good news is this makes everyone’s git tools more resilient.

> It’s not a huge pain, sure, but it isn’t nothing and I don’t get any benefit from it either

The entire notion here is accommodating people. It doesn’t benefit you personally but it does benefit others. And it’s not a huge pain. At a certain point we’re expending more energy debating doing this than if everyone just did it and moved on with their lives.


> Sounds like a flaw in your git client

It wasn't in the client, it was in the tests. You know like, here's a script that makes a test repo:

  git init
  git add foo.txt
  git commit -m "A"
  git switch -c develop
  git add bar.txt
  git commit -m "B"
  git merge master  # This will break soon.
> The entire notion here is accommodating people.

Is it though? It seems to me like the notion is appearing to accommodate people. I still haven't seen a single person say "my great grandfather was a slave and this offends me", only people saying "this might offend someone".


> I still haven't seen a single person say "my great grandfather was a slave and this offends me", only people saying "this might offend someone".

In today's world, it's enough for many companies. Si vis pacem, para bellum. You don't want to passively wait until you're attacked, you need to prepare the defenses first so your enemies don't even have a ground to stand.


If you strip away all the political outrage what’s actually happening on a technical level is that git is adding a new feature: customisable default branches. I imagine they will provide an option to use it (“git checkout —-default” or whatever) and yes, you’ll have to update your tests to accommodate it. I’ve lost count of the number of times I’ve had to tweak code because of an external API change that doesn’t benefit me personally. Often it involves using an entire new API because the old one is being retired! Compared to that this is a walk in the park. A couple of hours at most. And yet everyone is expending hours upon hours arguing about it.


Right but people are arguing about it because it is unnecessary! I bet if an API you use broke backwards compatibility just so it could `color` to `colour` you'd be arguing against it too!


OK so we’re finally at the actual core of the matter: the technical arguments aren’t actually valid, it’s that you don’t think it’s worth the minimal effort because you don’t personally know of anyone that is offended by the master/slave connotation of “master” branches. That’s always the actual core of the complaint yet everyone dances around it.


He didn't dance around it; it was the first thing he said. https://news.ycombinator.com/item?id=26455182


We all know exactly the kind of people driving this change. We've worked with them. We know how they function on teams and in the office. We know they aren't particularly good at what they do, barring a few exceptions. And we know what they will do to us, to our jobs, and to our companies if we don't bow to their demands.


I don't know, seems like a very weird subjective reality you're trying to push in an objective one. I am one of those people, yet I haven't had any significant problems with my work ethic.

Pushing a narrative that these people are "gonna do something to us" is a weird one to push. What's gonna happen? We're gonna be kinder to one another? We would want to make people around us happy in a profoundly human way rather than a shallow one?

Just to follow you along in your way of thinking. What are "we" gonna do to your job and your companies? I honestly fail to see what you mean.


Claiming without evidence that African Americans are offended (not to mention it is patronizing to them) by a term like "master" is subjective reality.

Cancel culture, which grand parent is referring to, is real. You will find many anecdotes on Hacker News. Here is one: https://news.ycombinator.com/item?id=21484347


If an employer or coworker doesn’t agree to whatever is your latest demand, “you” would start a campaign to get them fired or contact their customers to try to lose them business. Happens regularly.


I mean, that would imply you would prefer a term that is in a way discriminatory to a particular group right? Not in bad faith, but it seems you kind off admitted that there is some evil in doing so, and that you're willing to do it.

Also, I wouldn't do that. Emancipating an actual workforce or colleagues would be my solution, not making the company suffer under it.


No, but that’s the reasoning you would use, that anyone disagreeing with you must be evil or discriminatory.


> that would imply you would prefer a term that is in a way discriminatory to a particular group right?

Here we have an example of how you go about dealing with the issue


Where is this imaginary line between “ok to be offended” and “not ok to be offended”? Who decides where that line is?

If you can trivially avoid even the risk of offending someone — especially in a professional context — then why wouldn’t you?


How is making a change that impacts people globally (which includes non English speakers) to mildly please a tiny portion of loud people trivial?


How big of a change is this for you? I mean seriously?


I cannot wait until the woke find out what 'robot' means in Hungarian.


I feel that way about people who lack empathy


As an Italian, let's talk about spaghetti code then :)


The number of people that _genuinely_ have a problem with the word "master" (excluding all the weird (white) twitter people) is close to zero.


In most places this is true. But working in Plantation heavy part of the South, it’s awkward.

Read it in a Southern white male accent to someone whose grandparents were sharecroppers in the Delta. We lose a lot of black talent to other industries, non technical roles in IT, and other locations despite good pay/cost of living.

My black friend from high school on my team who is not overly sensitive and I have open conversations on race with has says it occasionally makes him cringe. I try to maintain an environment that’s sensitive to people’s real feelings, because I want them all to enjoy work. Not PC BS, but thinking about who needs to be asked to speak up, who needs more quiet time, etc.

Probably hearing it in a different accent would make it more divorced from the past.

This alone obviously won’t fix anything. But it’s one less thing to make people feel uncomfortable, and it doesn’t cost anything except a naming convention.

People talk about diversity as if it’s just helping minorities. But working with low and high functioning teams over the years, my experience is that a happy diverse team is productive and creates a better product. I think including more perspectives in a job that is creative creates better results earlier in the process.


So what did your friend say? "I don't want to work here anymore because I keep hearing "push my change on master branch" and that is uncomfortable to me"? And how do you know that this is making IT lose talent?


> My black friend from high school on my team who is not overly sensitive and I have open conversations on race with has says it occasionally makes him cringe

I'm sorry to hear your friend won't be obtaining a degree just beyond a Bachelor's, or audition for the role of Bruce Wayne's butler, or pass beyond journeyman status in any trade. Does he not value recognized excellence? I presume he's not an heir presumptive of a Scottish peerage, nor does he aspire for a senior post in the Queen's household. Does he have any interest in the recording industry, I hear they do great things with old LPs these days to make them sound better. Perhaps he is musically inclined, there is a leader of the band job if he is. He could enlist in the navy, if he's not looking to get beyond an E-9. Regardless, I applaud gitlab for affording your friend the last venue of employment when the world and its derisive callousness collectively turns him away from his avocation. From development he may switch over to network and/or security, but better wait a few years. Those scoundrels still maintain a list of things that are denied, and things that are allowed, and your friend is probably not ready to know about them yet. To your friend!

By the way, does he have any possession? Any at all? He may be in for a surprise to discover how he himself is addressed. Break it to him gently, won't you?


How many people have a problem with the word 'main'?


Nobody had a problem with "master" 18 months ago. Including you.


If 4chan can cause an issue with the "OK" symbol, "main" should be easy for them to mess with. C and C++ will just have to change, along with street names and large water pipes.


Since we're talking about naming branches, what are your preferred names for branches ? I like 4-letter names:

  - `main` points to the last release for libraries (along with tags for history)
  - `prod` points to production in deployable projects (not libraries)
  - `next` is the development branch for the next version
  - `deps` is a temporary branch for dependency updates, squashed and merged regularly onto `next`


Good for you that you found something that works for you. But why the random length restrictions to 4 chars, seems kind of outdated? Also, how does using only a "next" branch for development scale for teams (maybe using a fork-based workflow?).

While I use a similar approach like yours on my personal projects, I still prefer the widely known and battle proven Git-Flow when working on agile teams:

    - master
    - develop (optional)
    - feature/*
    - release/*
    - bugfix/* (optional)
    - hotfix/*


I use this pattern mostly on solo projects and small OSS libraries, when working with clients in teams there is usually already a convention in place, most often just `master` and `develop`.

I've never managed to find use in the "complexity" added by adhering strictly to GitFlow (maybe I'm working in too small teams), I don't find it suited to the continuous delivery method. I still use feature branches and hotfixes though.

I much prefer a linear history, and use semantic-release to automate releases via commit message standardisation, which gets rid of the `release/*` pattern.


Git flow doesn't care what you call your branches.


correct, it doesn't, but using a quite common scheme like this makes onboarding and reasoning about git-related issues easier. YMMV.


I generally have v0, v1, v2, ... as the main branch. All changes are made in feature branches (with unimportant naming) and are merged into the appropriate main branch. If we need to support releases then a v1.2 or similar branch is created for each release. Fixes are then added there (as well as the main branch usually). I generally don't create branches for prod or releases, just tags. I also don't have a `next` branch. Whatever is on the version branch is "next" to be released.


Actually, almost all of our ancestors had been slaves longer or shorter in history regardless of race/country.


It only matter in an American context. Nobody's give a rat fuck about white people enslaving other white people, or black people still enslaving other people in Africa TODAY.


father/son nodes were changed to parent/child long before "wokeness" or "SJWs" or even "PC"


Was that actually a thing? I’ve only ever heard parent/child. Frankly, using gendered terms here just sounds bizarre.


My memory for that kind of thing only goes back to around 1990 and it happened before my time.

I think father/son was a 60s/70s-era-ism and it was changed 70s/80s?


I wonder if a master's degree is also offensive.


Good question - the appears to be "no", since it has a clear origin and meaning unrelated to master/slave relationships.


Agreed. Git has a very painful history of keeping master code where slave code in branches did all the work.


Did you read the linked post which explains the history of the term in git?


by that logic, would the linux command "kill" also be offensive enough to the relatives of murder victims that it warrants a rename?


Give em a few months.


Shouldn't the real name of this software be "signal" anyway ?


But the default signal is one that "asks" the process to quit. Therefore killing it is fairly descriptive. I can ask someone who doesn't know much about computers what "killing" a program will do and they understand.

signal is not a bad name but `signal 123` is far less obvious than `kill 123`. Of course `signal -USR1 123` is far more obvious than `kill -USR1 123` so there are tradeoffs.


I'm still waiting for Mastercard to change their grossly offensive name. /s

This is how they will say 'PaYMEnTs aRe raCiST'.


Great point to bring up. They can play the main card and call it EqualCard® . Sounds much better isn't it?


Call that main's degree lol


Lol, are we mains graduate now ?


[flagged]


Apparently the HN crowd disagreed on your facetious mastery :)


Yes, conscientious people already call main degree/bedroom/bathrooms etc.


Confusing if they have two masters degrees...


Well some main are more main than others one can always add footnote to clarify in resume.


All mains are equal, but some mains are more equal than others.


Would it be a big deal to change it? I don’t mind calling my degree something else.


Master has multiple definitions, yours is not the same as the one git used.


Exactly, and gits is not the same one as a slave master.


Turns out it is:

> This term came from Bitkeeper, a predecessor to Git. Bitkeeper referred to the source of truth as the "master repository" and other copies as "slave repositories".


In all of the previous discussions of this topic, I have never seen this simple fact pointed out. To me, this is a definitive argument for changing the name. If the facts had been different, I might have seen the matter differently, but if these are the facts then the name change makes sense.


I'm not sure about the accuracy of this quote. In git world branch names have nothing to do with repositories. If anything, the "source of truth" repository is generally called "origin".


Bitkeeper must be punished for these transgressions.


Turns out the meaning can change over time. I'm confident the number of people using a master branch and the people owning slaves and thus being slave masters is zero.

Otherwise, one would probably soon need a list of banned words that may have been used in the past in "controversial" context so to not offend anyone. But I'm not sure how much of human language will remain at this point.


Just the same as a Master's degree.

edit: to the downvoters:

https://en.wikipedia.org/wiki/Master%27s_degree

A master's degree[note 1] (from Latin magister) is an academic degree awarded by universities or colleges upon completion of a course of study demonstrating mastery or a high-order overview of a specific field of study or area of professional practice.

The holders of a Master's degree are expected to be the "source of truth", as much as git's master branch is the "source of truth".


Except that it is, as explained in the actual article.


If we're referring to 'master' in the context of master/slave, then that's also not the same as the one git uses


According to the article it does.


Sad that the article fails to mention what proportion of people of color are employed by GitLab, how that number is evolving, and what steps they're taking to avoid actual discrimination ; as well as their policies regarding the role of contemporary forced labor in their hardware supply chain. (It's entirely possible they're doing the best they can on those fronts, too.)

Such a renaming is clearly a "long hanging fruit", and a way to start a conversation.

I can't entirely shake up, though, that though that any minute discussing the naming of git branch repositories is not spent on discussing slavery and racism. Which I'm unfortunately not qualified to do.


We made this change for our repos internally a year or two ago. Making it the default is a great step and I hope others follow suit.


Some words trigger strong negative emotions for many people. For example, anyone with a loved one who died by suicide can be triggered by the word 'suicide'. They can be working productively and happily, see the word 'suicide' in some code, and then spend the rest of the day suffering.

People deserve to work and live without triggering their traumas.

Name changes are cheap to implement. For example, we can use 'shutdown' instead of 'suicide' and help our teammates to be more productive and happy.

So let's just all do the name changes without complaining or judging the people who ask for them. We'll do it because we care about them.

Potential trigger words and suitable alternatives:

- suicide, abort -> exit, crash, stop, halt, shutdown, terminate

- kill -> stop, halt, shutdown, terminate

- infect -> assimilate, convert, install

- master -> main, primary, leader

- slave -> backup, secondary, follower

- blacklist -> denylist, blocklist

- whitelist -> allowlist, passlist

- daemon, demon -> server, worker

- cop -> supervisor, monitor, watchdog

- male -> plug, prong, sender

- female -> jack, socket, receiver

- mate -> connect, link, join

- gender-changer -> adapter, socket-to-socket adapter, plug-to-plug adapter


The only right solution is for those people to learn emotion regulation.


Would you please explain a bit more?

Specifically, consider a person who lost a child to suicide. What kind of emotional regulation skill will help them remain happy and productive at work after reading the word 'suicide' in code?

Who teaches this skill?

What percentage of people are able to learn and use it effectively?

How does the cost of learning and relying on the skill compare to the cost of changing some words in our code?


It's not feasible or reasonable depending on the world catering to your every need. If seeing or hearing a word will result in a mental breakdown, the solution is NOT to demand the entire world stop using that word, but for you to build mental resilience and being able to cope with that word, longterm this is the only way for you to not be miserable.


> It's not feasible or reasonable depending on the world catering to your every need.

You are implying that someone who wishes to remove trigger words from their codebase is "depending on the world catering to their every need." I don't see how that could be true. What does it even mean to depend on the world?

Removing trigger words from work documents and systems is inexpensive. It makes business sense.

You suggest that people "build mental resilience and being able to cope with that word". You seem to be repeating yourself. Again, please share some documentation about how to do this and its effectiveness.

There's some information that you seem to be missing: the characteristics of the human grieving process, techniques for dealing with grief, techniques for teaching those techniques, and their effectiveness. I suggest that you study a bit about the grieving process. I assume that you are a mortal human. Unless you die young, you will experience soul-crushing grief one day. You will be better off if you learn about it beforehand.

It's possible that you have experienced soul-crushing grief and have repressed it. Is that what you mean by "mental resilience"? If so, I'm very sorry for you. Repression puts off the hard work and prolongs the recovery time.


That saves two bytes.


It does, but somehow I get the idea that your comment doesn't really capture the crux of this debate :)


But now costs thousands of man hours on extra user friction, e.g. extra commands to rename it to main, mistakenly typing master instead of main, fuck that


This is the best argument for this change.


The most unfortunate part of all this churn is that git didn’t provide a way to ask it what a repository’s main branch is named.


This is not unfortunate at all. This is something that only has an impact when you create a brand new git repo,which is relatively rare.

When that happened, you could just rename the original master branch.

Nevertheless, git added support for this option less than a year ago.

https://github.blog/2020-07-27-highlights-from-git-2-28/#int...


> This is something that only has an impact when you create a brand new git repo,which is relatively rare.

What a strange thing to claim, when both this thread and the original post talk about things that need to update based on the change, such as CI/CD scripts, git aliases, and so on.

> Nevertheless, git added support for this option less than a year ago.

Yes, I'm just saying it's strange that git added support to customize the name, but then didn't add a way to ask it what it's configured to, given that things will depend on knowing what that name is.


> What a strange thing to claim, when both this thread and the original post talk about things that need to update based on the change, such as CI/CD scripts, git aliases, and so on.

I believe I've said something that's easy to understand, at least without bad faith.

Git end users create repos only rarely, but creating preconfigured Git repos is gitlab's business. This discussion is about gitlab's announcement. Do you have a hard time understanding any of this?

> Yes, I'm just saying it's strange that git added support to customize the name, but then didn't add a way to ask it what it's configured to, given that things will depend on knowing what that name is.

It's called software development best practices, particularly adding changes in a backward-compatible way so that not to change the expected behavior.


> I believe I've said something that's easy to understand, at least without bad faith.

I’m pretty sure I understand what you’re saying - "this change only affects creation of new repos”?

The responder isn’t missing your point, they’re disagreeing with it - they're pointing out that anybody who needs to work with a repo now needs to explicitly configure the name of the canonical branch, where previously they could safely assume the default was “master”; ergo it affects anybody who uses a repo for as long as it exists, not just the repo creator and not just at repo creation time.

> adding changes in a backward-compatible way so that not to change the expected behavior

The expected behaviour until recently was that “git checkout master” would take you to the canonical source branch - this behaviour has changed, in a backward-incompatible way (any code which worked in the past by using that command now needs to be changed)


I assure you that the default is not always master.


You can resolve to which branch <remote>/HEAD points? (as far as I understand, local repos don't have a concept of a "main branch", it's only a thing concern remotes and the default branch checked out when cloning them?)


> as far as I understand, local repos don't have a concept of a "main branch"

    $ git init
    Initialized empty Git repository in...
    $ git symbolic-ref --short HEAD
    main
    $ git switch --create feature-branch
    Switched to a new branch 'feature-branch'
    $ git switch ???
> You can resolve to which branch <remote>/HEAD points?

Correct, this is the best way I've found. I have this as a git-alias:

    main-branch = !basename $(git symbolic-ref refs/remotes/origin/HEAD)
But it doesn't help for local repositories that don't have a remote. And it's ironic to need to use "origin" for that, which is itself a "master/main"-like default remote name.


that's what I mean: "main" is just the automatically created branch so that there is a branch for HEAD to point to in an empty repo. It's not special in any functional way locally. I.e. if I create "develop" and delete "main", locally nothing in git itself will ever miss "main" or needs to be told that "develop" is the primary branch, because that's not a concept locally (afaik). It knows the current branch (HEAD), that's it. So wanting to look it up locally doesn't make sense from gits perspective, although maybe the ability to tag a branch as such would be useful for some tooling, but it would in a way introduce the concept to git, not expose something it hides now.


This usually works but not all git remotes have a `/HEAD` ref. I think GitHub always does though.


I think it's important for people to resist this senseless exercise in imposing conformity, for its own sake.


What if it was never about economic slavery, and computer people are just really into S&M.


It's also nice because main is less characters and less confusing for new git users.


I see this article is flagged. Really? Can't we even discuss this issue like adults?


Unfortunately the answer isn't necessarily yes. In this case, though, I think people may be reacting more to the fact that this topic has had dozens of submissions and at least a dozen major discussions in the last year.


Outside of a few trolly throwaways, the thread seemed reasonable enough last night. After being unflagged though, it's devolved even further into culture war flaming.

It seems to me HN is just not a community suited to discussing topics that are sensitive to some, but not others. We collectively are not very good at putting ourselves in other's shoes. That's something necessary to understanding the context behind decisions like these - or to at least frame them for discussion.

Sadly this thread has become just one more battleground for a war with no winners. Hopefully the temperature will lower in time, and productive discussion will become possible again. But we're not there yet, and I suspect the early flaggers recognized that.


Wait until the word 'native' gets added to the list of non-inclusive terms.


Hmmm this explain why git push origin master failed for me...


Right I should have known that it is Sunday slow news day.


If we must have a struggle-session on this and rename to appease the performative gods, why not just call the default branch, you know, "default"?


Yes, this is such a silly Git problem

In Mercurial it is always "default", and in SVN one used to use "trunk"


its strange that a company with "git" in their name would be worried about offending people


This is american cultural imperialism. Plaina and simple. I am planning to migrate to Russian or Chinese hosted git alternatives.


That's actually an interesting cultural and language difference. Being Russian, I never thought about the offense meaning of the word "master" in English, at least in this context.

The reason is that in Russia word "master" ("мастер") means something like "an expert in his field", usually referred to professionals. It seems that it has the same Latin root but evolved into a different meaning. So the Russian meaning is more close to the Italian "Maestro".

And for me, that meaning was a good fit for the "master" branch, like it contains something professionally made or finished, and just learned that Americans put different meaning when they were deciding on the branch's name.


Another usage of "maestro" in Italian is in "muro maestro" meaning the "load-bearing wall", which is quite apt for git.


yeah, similar, there are different words and phrases produced from "master" in Russia, and all of them means something related to professional or good work. Like "master-skaya" is "work room", and so on. So I was always thinking in this context referring the git branches.


In Spanish too.


I am not American so maybe the impact of why it needs to be changed is lost on me. But given the context it’s either a zero or a positive net effect.

I, however, can’t imagine switching away from a service that I use to something else based solely on this issue.

If it’s not for you but it (tries) to helps others and doesn’t really take anything away from you then it’s a net positive change.


Another victim of this hysteria.

Will surely make a point to switch it back every time I create a repo.


Please don't take HN threads further into flamewar. This sort of provocation is close to trolling. It seriously damages the thread, especially when the topic is provocative. Please don't do it again.

There are plenty of ways to make substantive comments on both sides of this question, as other users have demonstrated. Please either do that instead, or (always a fine option) don't post.

https://news.ycombinator.com/newsguidelines.html


This all thread is a huge flamewar...


It's a matter of degree. If you don't consider that, it leads to a nihilistic "why bother" attitude that actually makes things much worse. Let's inch our way toward something better instead.


See, that would be making yourself a victim of "hysteria". If you just raised an eyebrow and moved on then your claim that it's "hysteria" might have more weight but you'd have less opportunity to grandstand about it. This is also an amusing choice of terminology because of the origin of the word hysteria but I'm going to guess you didn't do that on purpose.


Do we really have to examine the origin of every word we use rather than according its modern common usage and use in context?


We're not examining every word. This article is about examining a specific word, with a specific history, within a specific context.


In a specific country, whose industry takes free open source labor from all over the world and then imposes its own cultural values.

Open source people from other regions provide the majority of code and have no say in political decisions. One might be tempted to say that they are slaves.


Please don't use HN for political and ideological flamewar, regardless of what you're battling for or against. We're trying for something else here.

https://news.ycombinator.com/newsguidelines.html


> imposes its own cultural values.

This is a default. If it offends your sensibilities so much, you can configure it to be something else.

Heck, I'd even go as far as suggesting that "main" is a more common word for non-native speakers of english than "master", making it more intuitive for non-US developers.


Why are you so invested in something with so very little impact on you?


That's how society keeps going downhill. Just raise an eyebrow and keep moving whenever X is introduced, soon enough we'll be paying the price.


Whether it's called "master" or "main" affects me very little.

Whether it's called "master" or "main" affects some people very much.

I'm enough of a team player that I'm willing to make the switch to make others more comfortable.


Adoption of more inclusive terms is hardly "hysteria".

This IETF memo^1 makes a rational, compelling case for adopting alternate terms.

I encourage you to read it, and try taking a broader, more empathetic view. Pause to consider the weight and connotations of certain words for certain groups of people, before claiming victimhood or accusing others of hysteria.

Characterizing the change as "PC Politburo" word-policing strikes me as a shallow, knee-jerk response to a positive change. Fewer characters, less baggage, clearer semantics. What's the harm?

1. https://tools.ietf.org/id/draft-knodel-terminology-04.html


Part of taking a broad and empathetic approach is understanding all people's emotions, thoughts and desires without necessarily sympathetiszing with them. Empathy is a pre requisite for agreement, discussion and conflict resolution.

What these types of changes show, however is that there is no discussion and the opposition to such change indicates a "lack of empathy" which is a classic othering tactic. That to me is worrying. People should be able to meet in the middle, to negotiate change.

These types of change appear to have been done with no real agreement, no meeting in the middle. It appears as if, ironically (and with a bit of exaggeration from me), no empathy outside of the ingroup was used.

The reality is no holistic understanding or discussion is required as it's a foregone decision and one where almost everyone in this discussion forum has no say about. We should just get on and live with it.


"What these types of changes show, however is that there is no discussion and the opposition to such change indicates a "lack of empathy" which is a classic othering tactic."

Huh? That's quite a bit further a stretch than any of the "woke" accusations I've received for suggesting a pivot from "master" to "main" might actually be a simple improvement.


You sound more hysterical than they do. How badly does this affect you and your life, really?


> You sound more hysterical than they do. How badly does this affect you and your life, really?

So much this.

Naming things is an arbitrary process, and adopting a default naming suggestion to accommodate someone's sensibilities is something that does not have any negative impact on anyone. At all.

To those who are whining about a default naming suggestion: grow up.


Downvoted because sneering dismissal serves no purpose except to make discourse more toxic.


I fell too that this master-slave thing is a overstretch and a little hysteria. That being said, I do think 'main' is a better name for what this branch is supposed to be and it might be better for beginners to understand. Of course, 'master' is the term we are all used to and that will cause a lot of confusion and broken pipelines too.


Is it really necessary to change it every time? Github did the same thing last year, I just went into my organisations settings and switched the default back to master.


I did that recently. I had been developing some code for a few months, committing to a local repo, and I finally decided to upload it to GitHub. The local branch was named "master" because that is Git's default, but GitHub decided it should be "main", so the first thing I did after creating the repo was to revert it to "master".

Fuck virtue signalling and Twitter keyboard warriors. My parents grew up under an oppressive ultra-catholic dictatorship where they had to pretend to be "good" Christians, and I for sure don't want society to go the same way again.


This change does no good, it serves only to allow people to virtue signal.


Did they sign a contract with ICE


That was GitHub




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: