Locking comments. Had a good run, over half a day, but this was always headed for an emotional train wreck.
Personally I’ve come to hate main because it breaks habits easily. I’m working 75% of the time on master repos, but then I might need to do a quick edit on a main repo and suddenly my git checkout master doesn’t work.
Or even copy pasting scripts from one project to another can easily break if you forget to change the branch
The reason behind the change is pretty stupid anyway (I’m against slavery but it shouldn’t be treated like a slur still)
I always rename my branch to main. Because it’s shorter? That’s the extent of my reasoning. Thanks for coming to my ted talk.
Using master is stupid. Is your branch in charge of others? Is it more skilled than your other branches? Software engineering has too many crusty dorks that stick to their paradigms like it’s their religion. Acting like it’s their heritage to use outdated terms but also it doesn’t matter so that’s why they’ll keep using it.
Calling an original, analogue recording a master does make sense, as all copies of it will by nature be of a lesser quality. This isn’t the case for git branches tho.
I don’t think the word “master” is indicating quality though, just that it’s the “source” or “basis”
The name have nothing to do with being in charge of others, skill level, or anything, but, sure.
No one commits to
trunk
anymore…I think you are onto something. Especially Mastodon devs are losing so much.
The default branch for some projects is “production” since CD deploys on pushing to that branch
For new projects, main. My thought is that even if master is not offensive, since the industry has generally made the change, the only reason to stick with master is stubbornness or hating political correctness, neither of which aligns with my self-view so I’ll use main and move on.
In general if people are genuinely hurt by the use of some words, I’m not sadistic so I’ll avoid using them. From my perspective morality is the pursuit of the reduction of suffering, even if that suffering is internal.
It kills me that this take is so hard to find online.
Did I think calling the main branch “master” was offensive before this controversy? No, I’d never even considered it.
Does switching to calling it “main” impact me, like… at all? Also no. It’s like the lowest effort change to make.
If I can make my industry more welcoming to a more diverse group of people, that is a solid victory and way more important than the name of my primary git branch.
No one is offended by that word, at some point we need to stop wasting time on pointless debates and move on. If I start tweeting that I find “main” offensive are we going to have to find another name?
I mean, the problem people have with it isn’t a name change or improving inclusivity. It’s the fact that they feel like they are being bullied into doing something they had no input into in the name of inclusivity. What pisses people off is how, as soon as someone says “x” isn’t maximally inclusive of some marginalized group, everyone has to change or else get called a categorically bad person.
For example, suppose you have a red hat that you enjoy wearing. You got it at wafflefest a decade ago, and it says “I <3 Waffles”. Then one day, your boss sends out an email that no more red hats are allowed in the office because it might create an unwelcoming environment. You will, of course, be pissed off. Not because you can’t wear your waffle hat anymore, but because your boss feels entitled to control the minutiae of you life like this. You’ll think to yourself “fuck that guy, and fuck whoever brought up banning red hats in some corporate board room 1000 miles away. This is bullshit!”
People like their autonomy, and don’t like being controlled. Doesn’t matter if it is in the name of increased corporate profits, or inclusivity, or saving the bees, or dying of lung cancer. They don’t care about the name of their git branch - they care that they feel like they are being forced to change it.
That analogy doesn’t really apply though. The decision to change master to main was a collective one, not made by “some corporate board room 1000 miles away”. It may feel like that’s how it went down because you only noticed when GitHub changed their defaults or whatever, but that decision was not made in a vacuum, it was the result of lots of people saying “hey, this is a problem, let’s fix it” for a long time before any actions were taken.
Don’t forget laziness. I have some projects that have been around forever and I am not changing it across my infra because I am lazy. I will do it next year…
Do you have any evidence that “the industry” has made the change? My personal experience says the opposite. Unless you mean “new repositories use the new default name” which says more about people simply not caring rather than anything else.
In general if people are genuinely hurt by the use of some words, I’m not sadistic so I’ll avoid using them
That’s a sane position. Only issue is that this have nothing to do with the question, and the people that were the most vocal about this issue had no business talking about it in the first place.
Ultimately, git is flexible; beyond some potential local and shared automation, anyone can call their local branches however they want, regardless of other and servers. Personally, changing years of habits and tooling (that probably should not have hardcoded some names in the first place) is not worth following a change proposed by misled people.
both. but majority are master cause that’s the default and I’m too lazy to change nor do I really care.
Master. I find the whole “reasoning” behind the controversy absolute horseshit peddled by nontechnical people on the sidelines
Just that master doesn’t actually makes much sense in most git workflows.
If you understand master like you would understand the master/slave relationship in old tech, then of course, master seems to make sense until you realize that there is no slave in that sense or in name. Additional, master is rarely doing anything but having release or hot fixes being merged into it. Arguably dev is the master of the branches.
In other words, master was always a bad name. It is silly to rename it because “racism” but it is at least equally silly to act like master is a much better name than “main” or “live” or “prod” or … Fuck, the list is long.
The master branch is called master not because of slavery. It’s a master copy of the code, like how in the record industry there are master records. It has nothing to do with slavery
Based. We need to make music industry use Main records and not Master records from now on!
“Trunk records” for indie music seems 110% appropriate to me.
https://www.etymonline.com/word/master
contrastive adjective (“he who is greater”)
This is not to say that the term predates slavery and is neutral today in pejorative terms.
Music used it because the original is of greater quality. The term is technically and syntactically correct here.
Slavery used the term correctly, extensively and horribly. Honestly, it tainted it.
Most of the people who say it’s no big deal or they don’t care have ancestors who were on the unimpacted or positively impacted side of slavery. Very “let them eat cake” tones. (even though that story itself is a misnomer)
To be perfectly honest, the term in its etymological roots doesn’t fit well in the digital age for common use cases. It’s fallen into common parlance from the analog era, when it had a more direct meaning. Even though it’s not regularly being used as a pejorative, there’s (not zero, but) little harm in slowly phasing it out for better, more accurate terms like main or trunk or origin.
The harm is in allowing these fucking fascists to try to redefine the English language like the people’s republic of china did during the cultural revolution. I’m not going to be bullied by liberal arts partisans into reconfiguring how my brain works because it makes them feel powerful
I’m not going to be bullied by liberal arts partisans into reconfiguring how my brain works
I hate to tell you this, but that’s a fascist argument using tradition to block out change and accepting others. It’s a screw those other races/religions history and feelings because it makes me feel less powerful kind of statement. I doubt that’s your intent, but there it is.
No, you are wrong
the master/slave relationship in old tech
The master branch is called master not because of slavery. It’s a master copy of the code
Non Examples:
In source code management master may refer to the trunk branch. In disk imaging the gold master is the version which will be released to manufacturing for duplication.
You know that master has multiple meanings?
Master of a slave is one of them.
Master is also the title you get when you master sth.
So the thing is that master was probably a thing before slaves were invented (I guess).
before slaves were invented
Like, before the invention of agriculture?
Master debater
Ding ding ding. Trend-hopping C-suites pretending to give a fuck because DEI or whatever.
I honestly don’t know, and I’m not at my PC to check. I assume it’s main, but with my ADHD I’ve never actually paid attention to that. All I ever remember are my branch names.
Just use
main
. I’m not bothered by either, but I’m not in the demographic that would be bothered bymaster
, so I usemain
and STFU. It takes way less effort to switch tomain
(if you haven’t already) than to come up with all this rhetoric about whymaster
shouldn’t trigger people.I would argue that it’s best/easiest to leave existing projects on master, and just use main for new ones. Either way I agree, people arw reactionary af about this issue
That’s why we switched, on both closed- and open-source projects. There’s just no winning an argument that puts you on the same side as racists.
At one point I was considering how, if someone asked on one of our public repos, I’d say “no” but at the same time post a receipt for a donation to the NAACP just to prove I wasn’t racist. Thankfully I realized how stupid an idea that was before it came to that.
Performative wokeness is a cancer, man. Did any of this arguing and vitriol actually help any marginalized group in STEM? I really fucking doubt it.
The real answer is whichever is easiest. If you’ve got a master branch and it’s a pain to switch, then I wouldn’t do it. If you’ve got a badass coder who is disturbed by the terminology, then I’d say to do it to keep the peace. It depends on the situation.
I use master in all my projects
I save my code as .txt files on my hard drive.
They follow the naming convention “project1”, “project1a”, “project1a1” and so on in consecutive logical order
I believe that’s called goblin mode (production_code.final(2).txt)
I don’t care which one you use, just don’t change it once it’s established. So many legacy Yocto projects got broken cause open source libraries changed their branch names.
I don’t care which one you use, just don’t change it once it’s established. So many legacy Yocto projects got broken cause open source libraries changed their branch names.
This was one of the arguments when the renaming was first proposed. “Just rename it, it won’t break anything! It’s only racists that want to keep the name!”
Sure, except for all the CI/CD scripts, release scripts, etc that all have “master” there and are now broken.
I know of a company that their entire CI pipeline was broken overnight because some “helpful” person renamed the branch to master but didn’t bother checking out their pipelines…
I know of a company that their entire CI pipeline was broken overnight because some “helpful” person renamed the branch to master but didn’t bother checking out their pipelines
Sounds like the sort of simpleton that would find “master” offensive.
If it uses
master
and it’s too much trouble to get people to switch. It staysmaster
until we can coordinate.If I’m starting a new project I use
main
.Why?
It doesn’t take much to do and it avoids any misunderstandings or arguments and we’ve got work to do. I don’t particular care if you guys are “stuck” on
master
. If that’s what it is and everyone wants to keep it that way, I don’t have enough will to change it. If it’s under my control, I will change it.You know what else avoids arguments? Not hiring people who start arguments over token bullshit.
I will just say that things in tech change a lot in general. That’s just the nature of it.
If I can do one small thing that makes people feel better, then why wouldn’t I do it?
I don’t necessarily see that as a connection to a measure of competency. It seems you do and you probably have good reasons to believe so and I would say that I haven’t experienced that.
I see mostly people defending master starting arguments. I’ve never seen anyone pushing for main get even half as mad as some of the people coming up with a reason why it’s stupid. Like, holy shit guys, just don’t change it and move on, why be so mad about it?
Main.
Don’t get me wrong, the whole debate is Microsoft just being performative (why not use your vast wealth to actually help people?). But honestly, putting the debate aside, “main” is just a clearer and more intuitive name.
I think it’s the same with blacklist/whitelist -> blocklist/allowlist.
Itallowlist/blocklist actually says what it does in the name without using the idea of racism and white supremacy. I wish more software would just use these terms by default. (maybe some aliases for the old names)The problem is that “master” means several things. There is Masters degree, master sword, master blacksmith, master copy, all of which have absolutely nothing to do with master / slave.
The Git “master” terminology came from “master copy”. There’s an email thread online where someone asked Linus Torvalds the origin and this is what he said.
The whole thing about it being about master / slave was some random uneducated person guessing, and they were wrong.
I agree that main is simpler and clearer, but it has nothing to do with racism.
Clarification: the “it” in the second sentence was referring to “blocklist/allowlist” specifically, not “main”
Of course the name “master” in the git context may mean something completely different from slavery or similar, but the possibility of misinterpretation is IMO another (maybe small) reason that new projects should consider using the clear and unambiguous “main” instead of “master”.
It actually says what it does in the name without using the idea of racism and white supremacy.
The origin of the words blacklist and whitelist doesn’t have anything to do with racism. If someone looks around and only sees racism, then who is the racist?
Even if the word’s origins aren’t racism, I hope you can see why having a blacklist with “bad” things on it that won’t be allowed and a whitelist with “good” things that are allowed maybe isn’t the friendliest terminology. (especially when there are more intuitive names available that avoid this problem)
Some would argue it’s culturally imperialistic to impose US cultural sensitivities on the rest of the international English community. Wasn’t the inventor of git Finnish? The entire world uses git.