Is it silly though? With enough linguistic archeology I bet you can make this entire comment I'm writing right now extremely problematic and offensive. The linguistic treadmill means exactly that older terms change meaning back in time. They also change meaning FORWARD in time, meaning your inoffensive terms today will almost certainly be offensive in the future.
It's also the case that offense is language dependent, which is always funny when Americans hard ban certain words on chats and then Swedes can't use the Swedish word for "end" because it's spelled like a slur in English.
The whole terminology in IT could be turned upside down because it can be quite offensive if people ignore the context, so it is not limited to processes. There are utilities like "man", "finger", etc. that could come across as offensive too, to some, with no context-awareness.
Today it is "master" -> "main", tomorrow the whole IT terminology.
There are many PRs on GitHub with regarding to these, by the way.
... also what about pins? Slave and master pins! Must be about slavery, right? No, it is not, not at all.
In any case, who made the association of the git branch "master" to slavery? It is absurd. People need to take the context into account.
Of course, but they do not care about that. They made the association, and now they are being vocal about it. I am pretty sure most of us never made this association or attribution. I have never thought about slavery until they told me their own associations to it.
I am pretty sure master / slave pins were not intended to be offensive, nor attributed to slavery. Similarly with the git "master" branch.
It is based on nothing. It is not intended to be offensive, and it is not intended to be about slavery. Similarly how master and slave pins are not either, or how blacklist and whitelist are not about race either!
I grant it's not nothing, but I think it's not enough of something to make changes over it. Thinking of a master record or similar is the natural reaction when you learn about the terminology, and most young people have never used bitkeeper, so unless you go out of your way to explain why this is "bad" most people won't even know, so what do you gain from it?
Has the Linux community thought through the implications of using words like "containerization", when millions of slaves are still shipped around in shipping containers [1]? Docker is problematic technology to say the least.
Yes, we ought to change "containerization" everywhere! In the Linux kernel, user-space, Docker, everywhere, only because people have difficulties with context-awareness! /s :D
Please IT people, tell me that this thing is absurd.
We better get rid of database constraints at the same time, since people were constrained on those same ships. I don't see how we can move forward as an industry until these grievous harms have been addressed.
Side note, I had a professor who used to talk about "forking children" (processes) and I mean... the way she said it, with her accent... there are better words we could be using here to mean the same thing that wouldn't cause such absurdities to be uttered.
If there was a case where that was more than a quantum of annoyance, where it actually was any kind of actual weight at all, maybe those incredibly small feelings might be interesting to weigh. But they're not. They're the smallest of feelings, weighing nothing. Making this change is the easiest lightest most obviously acceptable of wins.
This is such a weirdly patronizing comment. What exactly makes the feelings of the people who cried about the original name "bigger" than those of the people who don't like the change?
Master can conjure a horrible past. That's a real actual hazard.
Avoiding it should be easy. It should be the easiest of easy things. Make the change and move on. Hack your reality, improve things, don't make more of a glaring ugly mess of things than need be.
It costs so so little to do a small good act. You wouldn't name your primary branch holocaust or tyrant or oppressor or doommaker or worldruiner or hates[ethnicity]. But computing used master/slave extensively for decades (ex: I2C, IDE protocols). Folks arguing that it hurts their feelings to not have those names wouldn't be given any weight. These are alligator tears.
No one has made a case that "main" is a bad name. Because this isn't a real case. It's perfectly clear, no lesser a name in any way.
More broadly, when assessing positive liberty (freedom to do something) versus negative liberty (freedom from being dogged), we shouldn't favor positive liberty to make broadly harmful defaults that can hurt people and/or bring misery over negative liberty not have a world a rare couple antagonists insist on driving down in stature.
This feels to me like people either dragging their feet & bringing resistance, or, on many many cases, people actively obstructing, making an easy simple improvement much much more fraught & hard. And many of those people I feel like do it because they know it is a good change, and they actively seek to keep the world worse. I have little and descendingly less pity for any. If someone wants to build a case for why their feelings here that we shouldn't do this have weight, I'm all ears. And I'll spend some time to read more comments to see what I see. But the person I replied to made zero case for why they felt their emotional injury (as they begged for tolerance of intolerance), yet felt that their case should carry as much or more weight, where-as master/slave usage in computing are words which associates with slavery. Which is the ultimate positive liberty vs negative liberty case, which reflects the matter here: the negative liberty to not be enslaved outweighs any positive liberty to enslave.
You're free to think it's stupid!! That fact though just doesn't matter very much in this case. It doesn't actually really affect you. You can adapt, with barely more than zero cost. It's stupid maybe perhaps possibly!! But of no cost. And that's the weight of your feelings here: it's not actually of any consequence to you, you are claiming stake in a matter without any basis. You're free to feel however you like in this world, but whether those emotions actually match/reflect the circumstances that spring them matters. Generally I think most people kind of agree that it sucks that master/slave (ex: i2c, IDE protocols) nomenclature was chosen & used in computing, and calling the shift away stupid-in my view- should be taken as the smallest imaginable quantum of protest, the smallest tears imaginable. Stop stopping the world, let time progress forward, don't trap us in your negative energy forever.
I think those people are taken into account, and on balance are ignored because their argument is far less reasonable. "Slavery was one of the most awful things humans have ever done so we shouldn't continue to use the language of slavery to describe every day things because that diminishes the importance of our history" makes a lot more sense than "we should keep this terminology because it's tradition."
"Was"? There are millions of people in slavery in the US penal system today. Entire cities like Dubai continue to be built by slaves. I, for one, find it to be extremely insulting towards their intelligence to think that unrelated use of the word "master" in a different context is somehow considered to be offensive.
> Except the master branch has nothing to do with slavery.
It did, it originated from Bitkeeper that literally used to the term "slave" to refer to non-master branches.
> It's more like 'master bedroom.'
This is even more ridiculous. Where do you think that term came from? What made that a master bedroom in comparison to the other bedrooms? Could it be because that was the one the master was sleeping in, in comparison to the ones slaves were sleeping in?
There are many more kinds of masters than just owners of slaves. The word "master bedroom" only appeared in 1920, it has absolutely nothing to do with slavery.
No, that's just one of those made-up lies people repeat often enough online to become "true" because it's the top search result and because it makes them feel good about continuing to use that term.
> TO LET, Westmoeath Cottage and Garden, situated near to Cook's River, only
three miles from the city. the cottage contains
parlour and drawing room,and four large bed rooms ;
detached kitchen, bakehouse, landry, storeroom,
four stall stable and double coach-house, servants'
rooms neatly fitted up, together with hay-loft and
granary, school house and master's bed-room. A
cottage containing four separate rooms for overseer
and workmen ; two excellent wells of water on the
premises, about six acres of garden neatly laid out
and planted with the best vines and fruit trees,
'This property is fit for a family of the first
respectability.
You couldn't own slaves in London in 1845, and in any case the name derives from the "Master of the household", so if you want to be mad about it, you should call it sexist, not racist. Or you could just be chill, stretch the meaning a bit and say the couple together are the masters of the household.
But, now I'm curious: Where do you draw the line? You don't like git master branches and master bedrooms, but what about other uses?
You can have a master key, master record, master a skill, create a masterwork, be a master to an apprentice, join the toastmasters, be a master of ceremonies at a formal event, you can dress up for comic con as Master Yoda, Master Chief, or Dumbledore (the Headmaster of Hogwarts), you can be a Master Chief in the US Navy, be the dungeon master for a game of D&D, get a Masters' Degree and so on.
Which of these things are in your opinion bad and should be renamed?
This is very much like asking why are you focused on fixing one bug at a time in your software when you can fix every reported bug simultaneously?
I don't know man, maybe it's because fixing this one completely inconsequential bug faces so much backlash for no particular reason other than "change bad"?
And well done with using an example from a book series where the only Asian character is named Cho Chang and where there are elves with long noses in charge of the "central bank". That really works in your favour, you totally owned me [pun intended] with that one!
> A footman in his lordship's service stated he went into his master's bedroom [...]
isn't an example of the phrase "master bedroom".
I am also skeptical of "school house and master's bedroom". The main cottage has "four large bed rooms". Why would the "master bedroom", if it is meant to be read as it is today, be listed after the list of detached outbuildings?
But as I said elsewhere, I do not care about that a lot. However, I do think those words are bad for other reasons because they do not illustrate the _actual_ role and relationships of branches in a VCS in a _good way_. If the master branch is not actually ruling over other branches, then it should be named something else, like "primary" as far as I am concerned.
Language is in constant flux. If a word has a remote historical connection to master/slave in a precursor project people nowadays don't even know, and people invent a "folk etymology" comparing it to a master record, do you really gain anything worthwhile from insisting on the history?
PS: about the role in git: I don't feel that strongly about it, but I think master is somewhat more descriptive. The master branch contains the most up-to-date version of the source code, so e.g. if I'm working on a feature branch and a colleague pushes a bug fix that affects me into master, I need to merge/rebase to get the latest changes into my feature branch. So, while the master branch doesn't "rule" the feature branches, there is still the implication that changes to master should find there way into the feature branches at some point, which I think main doesn't convey that clearly.
I'm with you on the cost basis for this. It makes no sense to die on this hill.
But to answer your question, it's unclear how "inclusive" this actually is. No person of color I've talked to about this (at least 3 that I can recall) has thought this was anything other than weird virtue signaling by admittedly mostly white social justice warriors. Their feelings on "master" terminology ranged from mild bemusement to "I REALLY DON'T GIVE A SHIT."
If the only people being "included" by this are people whom are themselves being uninclusive, even if for the right reasons... I question how "inclusive" this actually is.
That said, I'm definitely in the idgaf camp. My new repos are "main" because that's the default. Most of my old repos are still "master" because I never bothered to change it.
It is simply the soft bigotry of low expectations rearing its ugly head…again.
“Well OBVIOUSLY”, says the white knight, “some people are too stupid to understand the context and nuance of a langue like mine English. We just HAVE to adjust it because they won’t understand.”
It says much more about the people pushing such things than it does about the perceived slight.
Correction: it costs something (breaking with past convention which adds friction), and it makes some people unhappy and others unhappy. This is not a harmless, all-upside change the way you are making it out to be.
The cost is measured primarily in time. Experts in git/GitHub just experience a little annoyance (per repo). But for new comers (esp self-learners) the cost is much higher (takes the form of dysfunctional instructions, tutorials, readmes), and at the margin could cause someone to give up on a tutorial.
Cost should be weighed up against benefits i.e. that those hurt or upset by use of the word 'master' would no longer be. It's highly questionable whether the term master ever upset anyone (not simply those who were upset by the idea that someone else could be upset by the term's use).
A second-order cost is the precedent. There isn't a word in the English language which cannot be interpreted as malevolent given enough effort from the interpreter. Therefore it can be a better strategy to accept that there exist words with multiple meanings depending on context, and live with this language feature/imperfection, rather than impose costly changes on everyone to benefit a (possibly non-existent) few.
Because it goes hand-in-hand with the euphemism treadmill. I defer to the late great George Carlin's words on the subject:
I don't like euphemisms, or euphemistic language. And American English is loaded with euphemisms. Cause Americans have a lot of trouble dealing with reality. Americans have trouble facing the truth, so they invent the kind of a soft language to protest themselves from it, and it gets worse with every generation.
> This change does hurt people. Have you never seen a newbie struggle with an out of date tutorial? There’s fifteen years of books, tutorials, videos, and other learning material out there that assumes the use of `master`. It takes about a decade for these things to die off in the clear-cut cases. However this is not even a clear-cut case, because Git defaults to `master` and GitHub defaults to `main`, so the confusion will last longer.
> Version control is a hard enough concept to grasp well at the best of times. And now there’s going to be a bunch of newbies – many of whom will be black – getting frustrated and confused because they are following the tutorials as best as they can and not getting the results they expect. On balance, there is probably more harm done to black developers with this change than leaving things as they were. Haven’t you ever seen a young developer lose confidence when they are trying the best they can to follow instructions and it’s just not working? Disliking the fact that this is being done to new developers thoughtlessly is not “pointless”.
> There’s also the matter that everybody I have seen advocating for this change has been white, and the responses I have seen from black developers generally ranges from “this is pointless” to “this is [performative / virtue signalling]” (insert appropriate term depending upon whether they are left or right wing). People start with the assumption that this is clearly the right thing to do for black developers, but people assuming that don’t seem to be actually listening to black developers about this, or at the very least, only listen to the ones that agree with them.
> This could have been done in a better way – coördinate with the main Git project around changing the default across the board, plan an update to as much documentation as possible, and make it happen in sync. But GitHub charged in unilaterally, seemingly with an overactive case of a white saviour complex, with people like you telling everybody ”this change hurts nobody”. This was done in an entirely thoughtless manner and does hurt people.
Beyond what I originally wrote, you also had ridiculousness like `git init` creating a branch called `main` if you install Git through Apple developer tools and `git init` creating a branch called `master` if you install Git through Homebrew; or getting a repo with `main` if you initialise the repo on GitHub and then clone it locally, but getting a repo with `master` if you initialise the repo locally then push to GitHub.
I don’t especially care what the default is, but I do care that GitHub didn’t seem to give a shit about the disruption they caused as long as they looked like they were performing racial justice of some kind (whilst having zero black people in leadership!). Why wasn’t the change centralised through the Git project so everybody could make the change together?
As someone who has seen black colleagues happily using master/slave terminology in new code (embedded systems so this was around I2C devices), and the only one or two developers I’ve worked with who tried to push this renaming being white - I have two issues:
First, I think it’s just a dangerous idea that people have to be so coddled and be ‘protected’ from seeing words that aren’t slurs and have either no contextual relationship or only very tenuous relationship to actually sensitive concepts (‘master’ has many meanings divorced from African slavery and git never had slave branches so plenty of other senses of the word apply). I feel like it’s going so far that anybody who needs this probably haven’t yet really achieved the resilience needed to operate in the real world.
And secondly, since none of the black developers I worked with actually cared about it, it feels like it’s not great to do something and think you’ve done your bit for racism prevention when you’ve done nothing that makes any real difference to it!
Primarily because it encourages people to keep doing this performative stuff, think they're actually helping people, and take resources away from more meaningful work. By resisting these efforts, I'm preventing what would likely be runaway acceleration.
Curiously "man" is etymologically gender neutral, where wo/wif(man) denoted the female prefix for man, and the male dropped what would otherwise be were(man), seen in for example werewolf, which is gendered.
Yes, "man" is etymologically a person, "woman" is a female person, and "wereman" is a male person. Over time "were" got dropped, but "wo" got kept, so "man" is either a gender-neutral person or a male person, distinguished based on context. E.g. "mankind" is gender-neutral.
Huh. I always visualized "trunk" as some kind of chest where all the code was stored. Somehow it never occurred to me to think about trees. What a weird feeling.
Following the logic of the master rename though, should we even then use the terms “tree” or “branch”, since so many people were murdered by being hanged from them in lynchings?
I’m disappointed that this headline will lead to more clicks. This is your reminder that in git the branch name is just a pointer to a commit. Renaming that pointer is relatively seamless on GitHub (https://github.com/github/renaming?tab=readme-ov-file#rename...). Also, git 3.0 isn’t forcing this change on existing repos, just new ones that no automation depends on. And if you really like the old name that’s always an option for your repos. Remember, it’s just a pointer.
The other git 3.0 changes are more consequential and worthy of discussion - changing from SHA-1 to SHA-256 for greater security and performance, changing the storage format for performance and introducing Rust.
SHA-1 is not broken enough to be a serious issue for git. The migration to SHA-256 has been forced by on git by clueless morons, and it is, in this very special way, similar to the master-main rename.
From a third-world perspective, it feels like American politics being injected into the developer domain because of some previous biases that Americans had. Which is sad for a community that claims to be global.
Lots of Americans don't support this either. Of course, that doesn't actually matter to the people who have pushed this change through. They think that it's a righteous change, so it doesn't matter whom it annoys.
Lots of non Americans support the change too. Master was a terrible default name, switching it to a better name that’s also more inclusive language was a good idea. Where American politics infected things was the the reactionary response of people who are vehemently opposed to any attempt to fix problems that don’t directly effect them.
This whole 'master branch' outrage doesn't even make sense. Should saying things like:
"I've mastered computer programming." also be an offense?
We absolutely should deny and disregard these nonsensical demands _by principle_. What was even the actual case made by people who wanted this? And don't tell me "well it's not a big deal, just accept it don't whine about something so small", because that won't fly, or shouldn't at least.
Adulthood is about realizing people who 'just want to do real work' will always be fucked over by people who vocalize their needs and organize like-minded ones, justified or not.
Eh, that's some interesting historical trivia, but I don't see how that matters tbh. If everybody is fine with the word because they (quite reasonably) assume it was inspired by master record or something similar, and you bring up some 25 year old history (20 years when the debate got started) about not even git but a precursor, does that really help with anything? I am sure there are other innocuous seeming words that have a dark etymology, should we go search for them so we can update the language?
You're implying that those who are throwing hissy fits about "master" are aware of bitkeeper documentation and their (wildly unchecked) emotional response to this matter is nuanced enough to take "provenance" of technical terms into account.
Do you even realize how ridiculous these nonsensical "arguments" sound?
Honest to God not something I care about but: this is pretty much the nail in the coffin for “master”. I do know some people _did_ care about the name. Sometimes surprisingly senior people who never supported a tech upgrade want the name changed. In any event, it’s done, “main” won, it’s fine, let’s move on.
Maybe they resisted because it was completely ridiculous waste of engineering resources all over the country and for absolutely no tangible reason other than white people trying to feel better about themselves.
I work in the field of film mastering (with countless product names with the word “master” in it) and luckily no one got the ridiculous idea in their head that we need to change this lingo.
Show me a single person who has a valid reason for me not calling my branch “master” or my bedroom “the master”. I honestly think this sort of ridiculing word policing is why we lost this last damned election. And if you’re somehow proud that you’ve renamed your git branches, you’re very likely a contributor to that lost election.
I actually worked in film audio engineering and Master is not the universally used term and hasn't been used uniformly throughout history. I have an analog Mackie mixer from the 2000s with "Main" as the name of the Main Bus that was designed before the whole debate took part.
As far as software goes, things are similar. The process of "Mastering" is an exception.
As far as git branches go, I am fine with main. It has two advantages over master aside from any culturual questions:
1. main is more self-explanatory for beginners who don't know how "master" was/is used in tech.
2. it is shorter. While two letters don't make a huge difference, that is still a subtile advantage.
Whether these two points alone are enough to justify the needed work (which is probably not a lot to be honest), IDK.
That "waste of resources" is completely made up, this changes nothing for any existing repo what so ever. Any existing repo that updated did so completely voluntarily, no tool forced them to.
At most you could argue that you needed to run one additional command when pushing the initial commit during this transitional period where GitLab/GitHub had updated the name but Git itself has not. Therefore, now we're back to square one with less "waste" as you put it.
Same for me, but kind of because of DEI. Basically, it offended some people, and even if I thought it was a little overblown, it took about 2 minutes to change the default name of future repos to be something else (which was at least as good, and perhaps better). It made some people happier at approximately zero cost to myself, so why not.
Yeah that’s how I feel about most progressive stuff - sure it might not bother me, but also changing doesn’t bother me either. It costs you so little to accommodate other people.
I used to feel that way up until about a year ago. At worst I would roll my eyes at the silliness and then move on, because this stuff rarely matters much one way or another.
But then the 2024 elections happened, along with a bunch of exit polls, voter interviews, and other data showing that a surprising (to me anyway) number of people hate this kind of virtue signalling to the point that it can sway their vote. It's very possible those swung votes have ushered in a host of harmful changes that I think do matter a great deal. So now I'm sick of this stuff, it's not only a waste of time it's actively harmful.
I’d like to see a study showing 1) people aware of this issue and 2) for whom it swung their vote to the right. That’d have to be, what, 10 complete idiots? “Well, I was going to vote for A, but some of B’s supporters asked if I would please be considerate, and that’s a bridge too far.”
I don’t think it’s true that the culture war issues themselves were the cause of those swayed votes so much as there’s a propaganda machine running 24/7 stoking those resentments and using such cultural critique as fodder.
This works really well to whip people into an othering frenzy to distract them from voting for their own economic interests.
Making "some people" happier isn't zero cost if the people in question are intolerant lunatics with ideas corrosive to the social fabric. It's one reason why the pendulum is swinging fiercely in the other direction.
TIL "I'm uncomfortable calling it master-slave, can we do main-replica?" is the idea of an "intolerant lunatic" that is "corrosive to the social fabric".
Good Lord, just listen to yourself.
Red-lined districts still shape America to this day and several red states have been rampant on racial districting to screw minority communities. You can't even pretend the history of slavery is in the past in America.
I have encountered at least two bugs due to the change in names.
Everything considered I invested an hour or more in total. I am pretty sure decades of engineering time and resources were invested over the years because some people didn't like a default globally used for decades.
This stuff reminds me of what my mother said about feminists trying to get people to spell women with a y. She didn't like it because it made feminism seem like something petty and frivolous.
If I put my tin foil hat on it feels like a psyops to make the left look like a bunch of morons.
In Microsoft v. AT&T, decision 550 US 437 (2007), there was discussion about a golden disk, and the terminology changed to master
disk during the course of the proceedings, because the disk wasn’t actually made of gold.
I remember that Justice Antonin Scalia objected: “I hope we can continue calling it the golden disk. It has a certain Scheherazade quality that really adds a lot of interest to this case.”
That was true before the 3.0 release. Why didn't the people offended by "master" just change the branch name? Because it was never about their own branch names. It was about everyone else's.
> Maybe they resisted because it was completely ridiculous waste of engineering resources all over the country and for absolutely no tangible reason other than white people trying to feel better about themselves.
I think the resisting probably wasted more time than anything else.
We used the occasion to ensure that there was no hardcoded naming in our IaC, internal tooling and CI/CD. It was surprinsingly easy, gave us a great excuse to do some much needed clean up and now everything can work with any branch used as the main one.
Was it extremely important? Probably not. Was it worth fighting against/having a stong opinion about? Probably not either.
Sometimes, it's easier to just go with the flow and try to turn things which seem meaningless into actual improvements. If it makes the people who think it's not meaningless feel better, well, even better. It surely didn't cost me much.
Yah, they are losing something with the name change that they don't even understand because they apparently don't understand the intricacies of English. We would be better off changing it to "Gucci Mane" then we could tag our branches off Gucci's hit singles.It only makes slightly less sense than switching to "main"
That would make perfect sense if all branches had to be made from the default branch.
But they don't.
At `$CLIENT` we use `stable` as the default branch.
Use whatever works for you. Getting upset about a default that you can change is like getting upset about the default
wallpaper of your OS.
And before you get all persnickety about that argument working both ways: the developers of git, get to decide the defaults and they did.
If you're so upset, fork it, revert the default branch name and maintain it yourself infinitely. That's definitely worth it just to keep a default branch name you like, right?
Some of your scripts could possibly use `origin/HEAD` and reflect whatever origin thinks is the default branch. (Though obviously that assumes you always have an `origin` remote or something remote-like.) Including using the commit referenced by `origin/HEAD` to find the `origin/{branch-name}` that matches if you want a name to check locally.
PSA: You can run one git command and ignore this change and associated drama entirely. I don't care which you prefer, but let's not pretend like main "won" when sticking with master is as easy as:
To be fair, ignoring the drama is just adapting to changes, which is crucial in this field. Our old repo defaulted to master, our new ones defaulted to main. No time was spent on bike shedding.
This has been the case on nearly every open source and proprietary project, I have worked on.
Most people do not care and will stick with the old default on old projects and use the new default on new projects. Occasionally, it stokes conversations around possible third options that are more descriptive like stable or development, but the norm is to just go with the default.
Going out of your way to set the default to the old name really reeks to me of slacktivism. People probably think that they're taking a stand, but in actual fact others will just assume that your repository is older or that you have an old configuration.
Tip: the next time you need to name a function, don't use "a stupid word that doesn't say much about anything". That's not how you're supposed to name stuff in programming. :)
I once wrote a liblinux library for Linux software development with freestading C. One of the things I did was replace the "main" function with a "liblinux_start" function.
Standard C stops you. The C standard library is hardcoded to call the main function. Providing one's own ELF entry point also breaks libc initialization unless the exact same startfiles are used.
Freestanding C gets rid of the libc so that's not a problem.
Seeing some of the complaints around this feels like people are somehow still stuck in 2020 instead of 2025. People need to do a fresh pull down from main and update their arguments.
Frankly I don't really care either way, main is shorter and conveys the same meaning so by my metrics it's better. You can override the default to be whatever you want.
Don't know why people here got triggered by DEI, but the "master" naming is just bad, "main" is actually a better and more generic description.
The word "master" means someone/thing that has the capability of controlling things, like "Mastered", "Master Degree" etc.
But in most Git contexts, "master" is just "one of the breach that we hand picked to put our finest results in", that's not mastering anything, it just means "if you know what's best for you (or not), just use this one".
Another similar wording is in IDE hard drives. Remember the fun time where you can to setup jumpers before your secondary IDE hard drive would work? Yeah that secondary drive is called "slave". I'm still confused why the first drive must be called "master" since I never see it whipping any other drives to make them work harder or really doing anything that's remotely controlling.
The computer guys in the old times really have a weird taste in naming things.
Well said. I think the slavery connotations in Git are not a big deal. But I have always disliked the word "master" because it never seemed well-suited for what role it played in the version control sphere. Labels like "main" or "primary" always seemed like better words to me, so I am glad that this change was made.
You betray your own ignorance. Master has been used historically to refer to the "final" or "canonical" copy. For example, you make copies of a CD based on the master. Creating that master copy is called mastering.
The word "master" stems from Latin, meaning "great" or "teacher". Just as teachers pass on knowledge to students, data is copied from the master.
Any slavery related connotations is insanely recent, and arguably manufactured specifically for the purpose of linguistic censorship. Historically, slave owners were referred to as... owners.
The "final" or "canonical" argument can only indicates that the word "master" has multiple meanings, which is not a really special. Tho, "Master Degree" really means teaching, my bad.
> Just as teachers pass on knowledge to students, data is copied from the master.
In the Git context, the "canonical" way to use git is that you merge/copy data _from_ other branches, such as `wip` or `dev`, _back to_ `master` or `main`, not the other way around.
All and all, it's done, OK? Don't like it? Hey, you can still use "master", just customize it. But you'll probably piss some people if you do, and then you have to dig out your dictionary again and again. Choice wisely.
For IDE you are mixing up 2 separate concepts. The addressing primary/secondary is purely addressing, I don't recall seeing "Master/Slave" in relation to that. Labeling on HDDs I've seen always used primary/secondary
Where the master terminology comes in is that a certain version of ATA added bus mastering DMA from the drive. Maybe some harddisks had a jumper to disable or enable that
This is verifiably untrue. Older IDE hard drives commonly used master and slave on their printed labels instead of primary and secondary. Google “ide drive master slave” images and you’ll see plenty of examples.
I don’t say this to justify sticking with the older terms, just to assert that they were actually used.
There is a double confusion here because "primary" and "secondary" were used to refer to IDE channels. Most machines had two IDE channels (i.e. physical connectors on the controller card), each of which could have a master and slave device (two connectors on the cable).
So you have IDE0, primary, and IDE1, secondary. For the four devices a typical system would support, they would be referred to as primary master, primary slave, secondary master and secondary slave. This was extremely accepted terminology.
Newer machines and BIOSes could usually boot from any of these four devices but originally, many machines could only boot the primary master. That's why it's the master and the other one is the slave -- it is subservient in the sense that it can not be a boot drive and was usually used for secondary storage, not OS.
I think you're missing the historical context[0]. It came from "master-slave architecture" which has an older history. It's why we refer to a master copy of a photo or document too.
I really don't care if it's main or master tbh. But is anyone actually offended?
All the woke stuff was so annoying past 5 years. I don't remember the company name but it was one of those feature flag toggle companies. For a year straight they communicated this change they were doing, basically replacing blacklist and whitelist with more PC terms. Someone at the company decided to not only make it a recommended change, but that the old usage would BREAK the app. They couldn't handle the word blacklist in the codebase so much that they were willing to punish their users. It felt like I was getting an email from them every 5 days for a year.
That all being said - main is shorter than master and I would say most of us here, probably 95%, are "used to it" and it would actually be annoying to go back to master.
Turns out people really, really, REALLY don't like to be forced to change their decades old thinking, vocabulary and definitions of words when they feel its either pointless busy work, propagation of an ideology they do not support or a straight up attempt at mind control.
You could have stopped at average people don't like to change. It being justified or not as very little impact on the reception.
It applies equally to this than to systemd, wayland or Rust - but Rust is now trendy so people will bandwagon in their appreciation to look cool and in - to quote other topics regularly discussed on HN.
I fear that the most interesting thing about how these changes are received by the HN community is what it says about the HN community itself.
They could have expressed themselves in a way that aligns with your sensibilities, but they exercised their freedom of expression.
I personally found that additional detail to be very valuable, because it conveyed disdain without triggering justification for people like you to censor the comment completely.
I have no interest in censoring the comment (what?). That’s nearly as far fetched as people calling renaming branches brain washing and propaganda.
It’s a rhetorical flourish pointing that in my opinion most people here are actually change averse, a trend which I personally notice more and more here.
I have no sensibilities. I am neither American nor interested in American politics. I am however deeply convinced that people having strong opinions about the names of branches have issues. An opinion I apply equally to people strongly advocating for the change and to people strongly against the change.
I prefer to default to `develop` and then eventually branch out to `release`: that way my branch names are pretty explicit. It seemed silly to me to start with a "central" branch, no matter the wording, because that's not actually how Git works (and it's rather uninformative).
For... some in the comment section, please recall the HN guideline: "Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."
I remember when default branch was simply `trunk`, but maybe that was in SVN not git… trunk goes well with branches, maybe git should stick (heh) to it
Which for some of us, Spanish speakers, was on occasion amusing or lewd, depending on the context and culture. The Spanish equivalent is 'tronco' which is very similar and it is slang for a couple of things.
Yeah. Advanced Direct Connect p2p is using TIGER Tree Hash. Gnutella2 p2p is using TIGER Tree Hash. There is BitTorrent format extension to include per-file TTH, implemented by EAD TorrentBuild. For best performance we should also get rid of pointless per-block hashes in torrent files.
TTH is universal for p2p, and yet developers choose another hashes, making their tools not ready for p2p.
My lovely Mercurial is unfortunately also not ready for p2p
At the end of the day, all I really care about is consistency. It's annoying to switch between projects which use different branch names to describe the same thing.
That being said, this is a dumb reason to introduce inconsistency.
I had this problem too until I forced myself to use the `gcm` alias from oh-my-zsh’s Git plugin. IIRC it checks out to master if it exists, else main. It has almost entirely removed this distinction from my life.
However, "man" originally means "people" as in "mankind", or "human". It's only recently (c 1400) that it replaced "wer" ("wif" being the feminine noun) as meaning males (or mid 20th century for becoming an exclamation).
In addition, this is entirely pointless, because man is short for manual, which comes from manus, the hand, because it is something, that you should keep at hand.
Been using 'sensei' as my default branch name for a couple years now.
I get to feel like a ninja when I commit, the conceptual meaning is close to that of the previous term, and there's no historical baggage related to the US. Win-win-win?
Personally I think only branch that's minimally needed is "dev", with tags for releases. "master" or "main" should just be a pointer to the latest non-hotfix tag.
Interestingly enough, the times when I've had scrum masters at work were coincidentally the times when I felt the most disrespected at work. Not from the scrum masters though, from the people who the scrum masters protected myself and my teammates from, the higher ups. The scrum masters were cool. Even on a personal level the higher ups were more or less cool. But damn, organizational and market pressures can really beat down on people.
Somewhat disheartening to see all the arguments here saying it doesn't matter how we name stuff. Lived language creates reality.
There are groups of black people that complained about the terminology, repeatedly [1]. So isn't it arrogant as a white dude to say, this thing hurts you, and we could easily change it, but fuck you we won't do it because we have always done it that other way?
Ah yes, the if we change something that would mean we would have to change everything and that would be absurd, so we can't change anything ever argument. Classic.
So, 'master' was the default branch name. Why is the default changed in 3.0? Is it because of the allusion to slavery in the United States? Even if so, what does a Git branch name has to do with that country's history? Did Git used its branch name to enslave people? When a user does 'git checkout master', are more people getting enslaved - some kind of butterfly effect?
Does it need to be said that if the US had or has a problem, it's they alone who need to deal with it? Since when did the rest of world took upon itself to "solve" their problem? Did we all get green card or something?
I don't feel like this will stop here. What's the next word some people in some other country decided to declare offensive?
Git took the branch name from Bitkeeper which did have "slave" branches and used a "master/slave" analogy. Git didn't also inherit the "slave branch" concept in that same way, but it did have that heritage accidentally imported when git lazily reused that branch name.
> Does it need to be said that if the US had or has a problem, it's they alone who need to deal with it?
Slavery/indentured servitude is a worldwide problem that still exists today in countries that are not the US. Even if you think this is an over-correction in relationship to the historic US Slave Trade specifically, that was a multinational effort involving the British Empire, the Dutch Empire, and many other Former Colonies beyond just the US' involvement. The US took advantage of the trade, but it neither invented the trade nor was the lone slave owning country involved in that trade, nor was it the last country in that trading group to end slavery trading in practice even if it was one of the last ones on paper.
I'm not trying to argue against it, I think "slave" branches make no sense anyway, but to GP's point BitKeeper didn't enslave anybody, just used the word.
If we believe we should remove allusions to negative things why are we ok with "kill", "orphan", "evict", "bash", "cut", "isolate" etc? What is special about that terrible concept that we should stop using the word even when not applied to people at all?
The point of bringing up Bitkeeper is as much because why use a word divorced from its original meaning at all? "master" wasn't an explicit choice by a git maintainer, it was inherited noise. When confronted with where that choice came from, in finding it wasn't a choice but a bad legacy, the git maintainers generally agreed it might be nice to pick something that made more sense as a choice (rather than bullshit noise from a practically dead and gone upstream project) and after much debate "main" made sense as something a lot of people were using anyway.
That's what is "special" about it, that it wasn't special. It wasn't chosen. It was just a stupid inherited default that didn't make sense when questioned.
It was never an intentional allusion to a negative thing, it was accidentally a negative thing causing real people some harm, and it was easier to fix than to justify why it was a negative thing in the first place.
Good. "master" implies a master/slave architecture which is straight-up technically wrong - and directly opposite git's true design! You couldn't pick a worse default. Even if it weren't tinged with racist colonial overtones, there is reason to change it for correctness alone.
Who gives a shit. Seriously. You can set your preferred name in the configs. And I have this since forever because I do not want to have a sudden name change. This will change will not impact anyone. But again we get this "oh this is so horrible". Nobody cares. Nobody forces anyone to change anything
socalgal2 | 2 months ago
johnisgood | 2 months ago
gritten | 2 months ago
patates | 2 months ago
boxed | 2 months ago
It's also the case that offense is language dependent, which is always funny when Americans hard ban certain words on chats and then Swedes can't use the Swedish word for "end" because it's spelled like a slur in English.
Everyone needs to stop this nonsense.
Y-bar | 2 months ago
"Ände" is a slur? (excuse my lack of transductional skills)
optionalsquid | 2 months ago
johnisgood | 2 months ago
Today it is "master" -> "main", tomorrow the whole IT terminology.
There are many PRs on GitHub with regarding to these, by the way.
... also what about pins? Slave and master pins! Must be about slavery, right? No, it is not, not at all.
In any case, who made the association of the git branch "master" to slavery? It is absurd. People need to take the context into account.
dzhiurgis | 2 months ago
johnisgood | 2 months ago
I am pretty sure master / slave pins were not intended to be offensive, nor attributed to slavery. Similarly with the git "master" branch.
johnisgood | 2 months ago
optionalsquid | 2 months ago
BitKeeper, the VCS that preceded Git, used the terminology "master" and "slaves", so the association is not based on nothing:
https://github.com/bitkeeper-scm/bitkeeper/blob/0524ffb3f6f1...
johnisgood | 2 months ago
johnisgood | 2 months ago
I do not mind blocklistd, but then again, there was nothing wrong with blacklistd either.
ret2plt | 2 months ago
rich_sasha | 2 months ago
johnisgood | 2 months ago
veeti | 2 months ago
[1] https://www.aljazeera.com/news/2018/1/26/slavery-in-libya-li...
johnisgood | 2 months ago
Please IT people, tell me that this thing is absurd.
veeti | 2 months ago
johnisgood | 2 months ago
rurp | 2 months ago
mock-possum | 2 months ago
ModernMech | 2 months ago
jayd16 | 2 months ago
nazgul17 | 2 months ago
ecef9-8c0f-4374 | 2 months ago
mirekrusin | 2 months ago
jauntywundrkind | 2 months ago
bakugo | 2 months ago
jauntywundrkind | 2 months ago
Avoiding it should be easy. It should be the easiest of easy things. Make the change and move on. Hack your reality, improve things, don't make more of a glaring ugly mess of things than need be.
It costs so so little to do a small good act. You wouldn't name your primary branch holocaust or tyrant or oppressor or doommaker or worldruiner or hates[ethnicity]. But computing used master/slave extensively for decades (ex: I2C, IDE protocols). Folks arguing that it hurts their feelings to not have those names wouldn't be given any weight. These are alligator tears.
No one has made a case that "main" is a bad name. Because this isn't a real case. It's perfectly clear, no lesser a name in any way.
More broadly, when assessing positive liberty (freedom to do something) versus negative liberty (freedom from being dogged), we shouldn't favor positive liberty to make broadly harmful defaults that can hurt people and/or bring misery over negative liberty not have a world a rare couple antagonists insist on driving down in stature.
This feels to me like people either dragging their feet & bringing resistance, or, on many many cases, people actively obstructing, making an easy simple improvement much much more fraught & hard. And many of those people I feel like do it because they know it is a good change, and they actively seek to keep the world worse. I have little and descendingly less pity for any. If someone wants to build a case for why their feelings here that we shouldn't do this have weight, I'm all ears. And I'll spend some time to read more comments to see what I see. But the person I replied to made zero case for why they felt their emotional injury (as they begged for tolerance of intolerance), yet felt that their case should carry as much or more weight, where-as master/slave usage in computing are words which associates with slavery. Which is the ultimate positive liberty vs negative liberty case, which reflects the matter here: the negative liberty to not be enslaved outweighs any positive liberty to enslave.
You're free to think it's stupid!! That fact though just doesn't matter very much in this case. It doesn't actually really affect you. You can adapt, with barely more than zero cost. It's stupid maybe perhaps possibly!! But of no cost. And that's the weight of your feelings here: it's not actually of any consequence to you, you are claiming stake in a matter without any basis. You're free to feel however you like in this world, but whether those emotions actually match/reflect the circumstances that spring them matters. Generally I think most people kind of agree that it sucks that master/slave (ex: i2c, IDE protocols) nomenclature was chosen & used in computing, and calling the shift away stupid-in my view- should be taken as the smallest imaginable quantum of protest, the smallest tears imaginable. Stop stopping the world, let time progress forward, don't trap us in your negative energy forever.
onion2k | 2 months ago
We fix things that are broken. That's progress.
veeti | 2 months ago
raincole | 2 months ago
input_sh | 2 months ago
It did, it originated from Bitkeeper that literally used to the term "slave" to refer to non-master branches.
> It's more like 'master bedroom.'
This is even more ridiculous. Where do you think that term came from? What made that a master bedroom in comparison to the other bedrooms? Could it be because that was the one the master was sleeping in, in comparison to the ones slaves were sleeping in?
kmm | 2 months ago
input_sh | 2 months ago
Here it is for example in an Australian newspaper ad from 1844: https://trove.nla.gov.au/newspaper/article/31742822
> TO LET, Westmoeath Cottage and Garden, situated near to Cook's River, only three miles from the city. the cottage contains parlour and drawing room,and four large bed rooms ; detached kitchen, bakehouse, landry, storeroom, four stall stable and double coach-house, servants' rooms neatly fitted up, together with hay-loft and granary, school house and master's bed-room. A cottage containing four separate rooms for overseer and workmen ; two excellent wells of water on the premises, about six acres of garden neatly laid out and planted with the best vines and fruit trees, 'This property is fit for a family of the first respectability.
Or here it is in London-based The Examiner from 1845: https://upload.wikimedia.org/wikipedia/commons/0/08/The_Exam... (page 523, middle row, a couple of lines below the "Police" headline)
I'm sure I could find more examples, but I think two will sufface.
ret2plt | 2 months ago
input_sh | 2 months ago
I don't know man, maybe it's because fixing this one completely inconsequential bug faces so much backlash for no particular reason other than "change bad"?
And well done with using an example from a book series where the only Asian character is named Cho Chang and where there are elves with long noses in charge of the "central bank". That really works in your favour, you totally owned me [pun intended] with that one!
ret2plt | 2 months ago
rawling | 2 months ago
isn't an example of the phrase "master bedroom".
I am also skeptical of "school house and master's bedroom". The main cottage has "four large bed rooms". Why would the "master bedroom", if it is meant to be read as it is today, be listed after the list of detached outbuildings?
Y-bar | 2 months ago
But as I said elsewhere, I do not care about that a lot. However, I do think those words are bad for other reasons because they do not illustrate the _actual_ role and relationships of branches in a VCS in a _good way_. If the master branch is not actually ruling over other branches, then it should be named something else, like "primary" as far as I am concerned.
ret2plt | 2 months ago
ret2plt | 2 months ago
adastra22 | 2 months ago
But to answer your question, it's unclear how "inclusive" this actually is. No person of color I've talked to about this (at least 3 that I can recall) has thought this was anything other than weird virtue signaling by admittedly mostly white social justice warriors. Their feelings on "master" terminology ranged from mild bemusement to "I REALLY DON'T GIVE A SHIT."
If the only people being "included" by this are people whom are themselves being uninclusive, even if for the right reasons... I question how "inclusive" this actually is.
That said, I'm definitely in the idgaf camp. My new repos are "main" because that's the default. Most of my old repos are still "master" because I never bothered to change it.
lp0_on_fire | 2 months ago
“Well OBVIOUSLY”, says the white knight, “some people are too stupid to understand the context and nuance of a langue like mine English. We just HAVE to adjust it because they won’t understand.”
It says much more about the people pushing such things than it does about the perceived slight.
EnPissant | 2 months ago
bigstrat2003 | 2 months ago
sam_lowry_ | 2 months ago
Sirikon | 2 months ago
nomilk | 2 months ago
The cost is measured primarily in time. Experts in git/GitHub just experience a little annoyance (per repo). But for new comers (esp self-learners) the cost is much higher (takes the form of dysfunctional instructions, tutorials, readmes), and at the margin could cause someone to give up on a tutorial.
Cost should be weighed up against benefits i.e. that those hurt or upset by use of the word 'master' would no longer be. It's highly questionable whether the term master ever upset anyone (not simply those who were upset by the idea that someone else could be upset by the term's use).
A second-order cost is the precedent. There isn't a word in the English language which cannot be interpreted as malevolent given enough effort from the interpreter. Therefore it can be a better strategy to accept that there exist words with multiple meanings depending on context, and live with this language feature/imperfection, rather than impose costly changes on everyone to benefit a (possibly non-existent) few.
nsagent | 2 months ago
JimDabell | 2 months ago
> This change does hurt people. Have you never seen a newbie struggle with an out of date tutorial? There’s fifteen years of books, tutorials, videos, and other learning material out there that assumes the use of `master`. It takes about a decade for these things to die off in the clear-cut cases. However this is not even a clear-cut case, because Git defaults to `master` and GitHub defaults to `main`, so the confusion will last longer.
> Version control is a hard enough concept to grasp well at the best of times. And now there’s going to be a bunch of newbies – many of whom will be black – getting frustrated and confused because they are following the tutorials as best as they can and not getting the results they expect. On balance, there is probably more harm done to black developers with this change than leaving things as they were. Haven’t you ever seen a young developer lose confidence when they are trying the best they can to follow instructions and it’s just not working? Disliking the fact that this is being done to new developers thoughtlessly is not “pointless”.
> There’s also the matter that everybody I have seen advocating for this change has been white, and the responses I have seen from black developers generally ranges from “this is pointless” to “this is [performative / virtue signalling]” (insert appropriate term depending upon whether they are left or right wing). People start with the assumption that this is clearly the right thing to do for black developers, but people assuming that don’t seem to be actually listening to black developers about this, or at the very least, only listen to the ones that agree with them.
> This could have been done in a better way – coördinate with the main Git project around changing the default across the board, plan an update to as much documentation as possible, and make it happen in sync. But GitHub charged in unilaterally, seemingly with an overactive case of a white saviour complex, with people like you telling everybody ”this change hurts nobody”. This was done in an entirely thoughtless manner and does hurt people.
— https://www.reddit.com/r/git/comments/jtrx1k/announcement_po...
Beyond what I originally wrote, you also had ridiculousness like `git init` creating a branch called `main` if you install Git through Apple developer tools and `git init` creating a branch called `master` if you install Git through Homebrew; or getting a repo with `main` if you initialise the repo on GitHub and then clone it locally, but getting a repo with `master` if you initialise the repo locally then push to GitHub.
I don’t especially care what the default is, but I do care that GitHub didn’t seem to give a shit about the disruption they caused as long as they looked like they were performing racial justice of some kind (whilst having zero black people in leadership!). Why wasn’t the change centralised through the Git project so everybody could make the change together?
https://web.archive.org/web/20201001133529/https://github.co...
Fortunately, with this change, everything will return to being in sync.
TrappedInCorner | 2 months ago
stephen_g | 2 months ago
First, I think it’s just a dangerous idea that people have to be so coddled and be ‘protected’ from seeing words that aren’t slurs and have either no contextual relationship or only very tenuous relationship to actually sensitive concepts (‘master’ has many meanings divorced from African slavery and git never had slave branches so plenty of other senses of the word apply). I feel like it’s going so far that anybody who needs this probably haven’t yet really achieved the resilience needed to operate in the real world.
And secondly, since none of the black developers I worked with actually cared about it, it feels like it’s not great to do something and think you’ve done your bit for racism prevention when you’ve done nothing that makes any real difference to it!
bakugo | 2 months ago
If your definition of "people" is "armchair political activists with nothing better to do with their lives", then yes.
dmatech | 2 months ago
stephen_g | 2 months ago
7bit | 2 months ago
croon | 2 months ago
throw-the-towel | 2 months ago
croon | 2 months ago
nacozarina | 2 months ago
binary132 | 2 months ago
SAI_Peregrinus | 2 months ago
binary132 | 2 months ago
I was making a funny
hashar | 2 months ago
« wïfmann », literally "female human", led to « wife ».
« were » means man and comes from Germanic and I don't think « weremann » has ever been a thing.
binary132 | 2 months ago
curtisblaine | 2 months ago
gjvc | 2 months ago
ogogmad | 2 months ago
onion2k | 2 months ago
theshrike79 | 2 months ago
mirekrusin | 2 months ago
matheusmoreira | 2 months ago
gjvc | 2 months ago
porridgeraisin | 2 months ago
webdevver | 2 months ago
stephen_g | 2 months ago
bni | 2 months ago
gjvc | 2 months ago
testdelacc1 | 2 months ago
The other git 3.0 changes are more consequential and worthy of discussion - changing from SHA-1 to SHA-256 for greater security and performance, changing the storage format for performance and introducing Rust.
sam_lowry_ | 2 months ago
Linus has a different view, he referred to the SHA-256 migration as "pointless churn": https://www.youtube.com/watch?v=sCr_gb8rdEI?t=11m
SHA-1 is not broken enough to be a serious issue for git. The migration to SHA-256 has been forced by on git by clueless morons, and it is, in this very special way, similar to the master-main rename.
adastra22 | 2 months ago
PikachuEXE | 2 months ago
1718627440 | 2 months ago
shiomiru | 2 months ago
Except for automations that happen to create new repositories.
TrappedInCorner | 2 months ago
ixaxaar | 2 months ago
bigstrat2003 | 2 months ago
padjo | 2 months ago
TrappedInCorner | 2 months ago
We absolutely should deny and disregard these nonsensical demands _by principle_. What was even the actual case made by people who wanted this? And don't tell me "well it's not a big deal, just accept it don't whine about something so small", because that won't fly, or shouldn't at least.
1bpp | 2 months ago
raincole | 2 months ago
000ooo000 | 2 months ago
ogogmad | 2 months ago
onion2k | 2 months ago
rich_sasha | 2 months ago
em-bee | 2 months ago
krzyk | 2 months ago
rpigab | 2 months ago
simonw | 2 months ago
Git's concept of a master branch was borrowed from BitKeeper which used master/slave terminology. https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...
ret2plt | 2 months ago
pseudalopex | 2 months ago
Some people weren't evidently.
simonw | 2 months ago
armitron | 2 months ago
Do you even realize how ridiculous these nonsensical "arguments" sound?
simonw | 2 months ago
harrygeez | 2 months ago
TremendousJudge | 2 months ago
xedrac | 2 months ago
moomin | 2 months ago
matt-attack | 2 months ago
I work in the field of film mastering (with countless product names with the word “master” in it) and luckily no one got the ridiculous idea in their head that we need to change this lingo.
Show me a single person who has a valid reason for me not calling my branch “master” or my bedroom “the master”. I honestly think this sort of ridiculing word policing is why we lost this last damned election. And if you’re somehow proud that you’ve renamed your git branches, you’re very likely a contributor to that lost election.
dzhiurgis | 2 months ago
In tech field there's lots of people living on the very fringes of society, hidden away behind keyboard.
atoav | 2 months ago
As far as software goes, things are similar. The process of "Mastering" is an exception.
As far as git branches go, I am fine with main. It has two advantages over master aside from any culturual questions:
1. main is more self-explanatory for beginners who don't know how "master" was/is used in tech.
2. it is shorter. While two letters don't make a huge difference, that is still a subtile advantage.
Whether these two points alone are enough to justify the needed work (which is probably not a lot to be honest), IDK.
input_sh | 2 months ago
At most you could argue that you needed to run one additional command when pushing the initial commit during this transitional period where GitLab/GitHub had updated the name but Git itself has not. Therefore, now we're back to square one with less "waste" as you put it.
patchymcnoodles | 2 months ago
kstrauser | 2 months ago
mock-possum | 2 months ago
rurp | 2 months ago
But then the 2024 elections happened, along with a bunch of exit polls, voter interviews, and other data showing that a surprising (to me anyway) number of people hate this kind of virtue signalling to the point that it can sway their vote. It's very possible those swung votes have ushered in a host of harmful changes that I think do matter a great deal. So now I'm sick of this stuff, it's not only a waste of time it's actively harmful.
kstrauser | 2 months ago
pixelready | 2 months ago
This works really well to whip people into an othering frenzy to distract them from voting for their own economic interests.
Tadpole9181 | 2 months ago
It wasn't the multiple dedicated Neo-Nazi propaganda networks that call all minorities and immigrants and political opponents enemies of the state.
It wasn't the election of politicians that are actual, convicted rapists and felons who distract by pointing to those who can't fight back.
armitron | 2 months ago
Tadpole9181 | 2 months ago
Good Lord, just listen to yourself.
Red-lined districts still shape America to this day and several red states have been rampant on racial districting to screw minority communities. You can't even pretend the history of slavery is in the past in America.
armitron | 2 months ago
bulbar | 2 months ago
Everything considered I invested an hour or more in total. I am pretty sure decades of engineering time and resources were invested over the years because some people didn't like a default globally used for decades.
p0w3n3d | 2 months ago
weebull | 2 months ago
To be fair, the song is about control and the abuse of power.
p0w3n3d | 2 months ago
Gibbon1 | 2 months ago
If I put my tin foil hat on it feels like a psyops to make the left look like a bunch of morons.
fuckinpuppers | 2 months ago
em-bee | 2 months ago
john-h-k | 2 months ago
em-bee | 2 months ago
and
from Latin: magister, "teacher"
teaching requires mastery, not leadership, although the concepts are related because mastery is also good for leadership.
my armchair etymology suggests that master and mastery were closely related until it started to be applied to leadership as well.
AdhemarVandamme | 2 months ago
I remember that Justice Antonin Scalia objected: “I hope we can continue calling it the golden disk. It has a certain Scheherazade quality that really adds a lot of interest to this case.”
<https://www.supremecourt.gov/oral_arguments/argument_transcr...>
em-bee | 2 months ago
ndsipa_pomu | 2 months ago
triceratops | 2 months ago
lucyjojo | 2 months ago
xedrac | 2 months ago
StopDisinfo910 | 2 months ago
I think the resisting probably wasted more time than anything else.
We used the occasion to ensure that there was no hardcoded naming in our IaC, internal tooling and CI/CD. It was surprinsingly easy, gave us a great excuse to do some much needed clean up and now everything can work with any branch used as the main one.
Was it extremely important? Probably not. Was it worth fighting against/having a stong opinion about? Probably not either.
Sometimes, it's easier to just go with the flow and try to turn things which seem meaningless into actual improvements. If it makes the people who think it's not meaningless feel better, well, even better. It surely didn't cost me much.
fastasucan | 2 months ago
thunky | 2 months ago
It's master as in "master copy":
A "master copy" is an original version of a work from which other copies are made, serving as the definitive or controlling version
snapplebobapple | 2 months ago
stephenr | 2 months ago
But they don't.
At `$CLIENT` we use `stable` as the default branch.
Use whatever works for you. Getting upset about a default that you can change is like getting upset about the default wallpaper of your OS.
And before you get all persnickety about that argument working both ways: the developers of git, get to decide the defaults and they did.
If you're so upset, fork it, revert the default branch name and maintain it yourself infinitely. That's definitely worth it just to keep a default branch name you like, right?
array_key_first | 2 months ago
theshrike79 | 2 months ago
I had a few frustrated evenings of debugging when Github changed the default to main and my local scripts expected "master".
All fixed now, but still an annoyance. Don't think about it much anymore.
WorldMaker | 2 months ago
mubou2 | 2 months ago
richid | 2 months ago
croon | 2 months ago
LexiMax | 2 months ago
Most people do not care and will stick with the old default on old projects and use the new default on new projects. Occasionally, it stokes conversations around possible third options that are more descriptive like stable or development, but the norm is to just go with the default.
Going out of your way to set the default to the old name really reeks to me of slacktivism. People probably think that they're taking a stand, but in actual fact others will just assume that your repository is older or that you have an old configuration.
OCTAGRAM | 2 months ago
Because Mercurial is using default as default, and if we have to resort to worse SCMs, let them behave like Mercurial anyway
throwawaymobule | 2 months ago
Glad it's going back to having a default and not asking.
matheusmoreira | 2 months ago
I also think "main" is a stupid word that doesn't say much about anything. I even hate "main" functions.
unwind | 2 months ago
marginalia_nu | 2 months ago
matheusmoreira | 2 months ago
OCTAGRAM | 2 months ago
1718627440 | 2 months ago
matheusmoreira | 2 months ago
Freestanding C gets rid of the libc so that's not a problem.
1718627440 | 2 months ago
fzeroracer | 2 months ago
Frankly I don't really care either way, main is shorter and conveys the same meaning so by my metrics it's better. You can override the default to be whatever you want.
nirui | 2 months ago
The word "master" means someone/thing that has the capability of controlling things, like "Mastered", "Master Degree" etc.
But in most Git contexts, "master" is just "one of the breach that we hand picked to put our finest results in", that's not mastering anything, it just means "if you know what's best for you (or not), just use this one".
Another similar wording is in IDE hard drives. Remember the fun time where you can to setup jumpers before your secondary IDE hard drive would work? Yeah that secondary drive is called "slave". I'm still confused why the first drive must be called "master" since I never see it whipping any other drives to make them work harder or really doing anything that's remotely controlling.
The computer guys in the old times really have a weird taste in naming things.
Y-bar | 2 months ago
realityking | 2 months ago
stephen_g | 2 months ago
Ferret7446 | 2 months ago
The word "master" stems from Latin, meaning "great" or "teacher". Just as teachers pass on knowledge to students, data is copied from the master.
Any slavery related connotations is insanely recent, and arguably manufactured specifically for the purpose of linguistic censorship. Historically, slave owners were referred to as... owners.
nirui | 2 months ago
> Just as teachers pass on knowledge to students, data is copied from the master.
In the Git context, the "canonical" way to use git is that you merge/copy data _from_ other branches, such as `wip` or `dev`, _back to_ `master` or `main`, not the other way around.
All and all, it's done, OK? Don't like it? Hey, you can still use "master", just customize it. But you'll probably piss some people if you do, and then you have to dig out your dictionary again and again. Choice wisely.
LarsKrimi | 2 months ago
Where the master terminology comes in is that a certain version of ATA added bus mastering DMA from the drive. Maybe some harddisks had a jumper to disable or enable that
kstrauser | 2 months ago
I don’t say this to justify sticking with the older terms, just to assert that they were actually used.
LarsKrimi | 2 months ago
einr | 2 months ago
So you have IDE0, primary, and IDE1, secondary. For the four devices a typical system would support, they would be referred to as primary master, primary slave, secondary master and secondary slave. This was extremely accepted terminology.
Newer machines and BIOSes could usually boot from any of these four devices but originally, many machines could only boot the primary master. That's why it's the master and the other one is the slave -- it is subservient in the sense that it can not be a boot drive and was usually used for secondary storage, not OS.
godelski | 2 months ago
I really don't care if it's main or master tbh. But is anyone actually offended?
[0] https://en.wikipedia.org/wiki/Master%E2%80%93slave_(technolo...
randyrand | 2 months ago
aitchnyu | 2 months ago
almosthere | 2 months ago
That all being said - main is shorter than master and I would say most of us here, probably 95%, are "used to it" and it would actually be annoying to go back to master.
OCTAGRAM | 2 months ago
Traubenfuchs | 2 months ago
TrappedInCorner | 2 months ago
How come such a marginal group of terminally butthurt people have so much control. I don't get it.
curtisblaine | 2 months ago
StopDisinfo910 | 2 months ago
It applies equally to this than to systemd, wayland or Rust - but Rust is now trendy so people will bandwagon in their appreciation to look cool and in - to quote other topics regularly discussed on HN.
I fear that the most interesting thing about how these changes are received by the HN community is what it says about the HN community itself.
the_absurdist | 2 months ago
I personally found that additional detail to be very valuable, because it conveyed disdain without triggering justification for people like you to censor the comment completely.
StopDisinfo910 | 2 months ago
It’s a rhetorical flourish pointing that in my opinion most people here are actually change averse, a trend which I personally notice more and more here.
I have no sensibilities. I am neither American nor interested in American politics. I am however deeply convinced that people having strong opinions about the names of branches have issues. An opinion I apply equally to people strongly advocating for the change and to people strongly against the change.
kv0 | 2 months ago
If this blocks you from "just want to do real work" maybe overthink your setup and adjust your pipelines?
Am4TIfIsER0ppos | 2 months ago
yunruse | 2 months ago
For... some in the comment section, please recall the HN guideline: "Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."
kiicia | 2 months ago
pjbk | 2 months ago
orphea | 2 months ago
frizlab | 2 months ago
frizlab | 2 months ago
OCTAGRAM | 2 months ago
zoobab | 2 months ago
Their current state of "decentralization" is "the developer might still have a copy of the repo on his laptop".
OCTAGRAM | 2 months ago
TTH is universal for p2p, and yet developers choose another hashes, making their tools not ready for p2p.
My lovely Mercurial is unfortunately also not ready for p2p
jmclnx | 2 months ago
What does this mean, to compile git v3 I will need Rust ?
As for 'main' I always used that, I do not know how that happened since I use git the say way I used RCS ages ago.
steveklabnik | 2 months ago
Artoooooor | 2 months ago
lunias | 2 months ago
That being said, this is a dumb reason to introduce inconsistency.
LecroJS | 2 months ago
weebull | 2 months ago
Sander_Marechal | 2 months ago
LecroJS | 2 months ago
jcarrano | 2 months ago
ndsipa_pomu | 2 months ago
However, "man" originally means "people" as in "mankind", or "human". It's only recently (c 1400) that it replaced "wer" ("wif" being the feminine noun) as meaning males (or mid 20th century for becoming an exclamation).
1718627440 | 2 months ago
semolino | 2 months ago
I get to feel like a ninja when I commit, the conceptual meaning is close to that of the previous term, and there's no historical baggage related to the US. Win-win-win?
weebull | 2 months ago
semolino | 2 months ago
I do see what you're saying, though, and will admit to some cheekiness on my end.
diroussel | 2 months ago
ilyin | 2 months ago
I'll be keeping “master”, than you very much.
the_absurdist | 2 months ago
archagon | 2 months ago
OutOfHere | 2 months ago
theanonymousone | 2 months ago
blurbleblurble | 2 months ago
lavp | 2 months ago
Voultapher | 2 months ago
There are groups of black people that complained about the terminology, repeatedly [1]. So isn't it arrogant as a white dude to say, this thing hurts you, and we could easily change it, but fuck you we won't do it because we have always done it that other way?
Some easy no effort replacements:
- master-slave -> leader-follower
- blacklist -> denylist
- whitelist -> acceptlist
[1] https://en.wikipedia.org/wiki/Master%E2%80%93slave_(technolo...
armitron | 2 months ago
I stick with "master" in my Git repos partly because it's an excellent filter: it lets me steer well away from anyone who pitches a fit over the word.
Voultapher | 2 months ago
penguin_booze | 2 months ago
Does it need to be said that if the US had or has a problem, it's they alone who need to deal with it? Since when did the rest of world took upon itself to "solve" their problem? Did we all get green card or something?
I don't feel like this will stop here. What's the next word some people in some other country decided to declare offensive?
Shame.
WorldMaker | 2 months ago
Git took the branch name from Bitkeeper which did have "slave" branches and used a "master/slave" analogy. Git didn't also inherit the "slave branch" concept in that same way, but it did have that heritage accidentally imported when git lazily reused that branch name.
> Does it need to be said that if the US had or has a problem, it's they alone who need to deal with it?
Slavery/indentured servitude is a worldwide problem that still exists today in countries that are not the US. Even if you think this is an over-correction in relationship to the historic US Slave Trade specifically, that was a multinational effort involving the British Empire, the Dutch Empire, and many other Former Colonies beyond just the US' involvement. The US took advantage of the trade, but it neither invented the trade nor was the lone slave owning country involved in that trade, nor was it the last country in that trading group to end slavery trading in practice even if it was one of the last ones on paper.
remram | 2 months ago
If we believe we should remove allusions to negative things why are we ok with "kill", "orphan", "evict", "bash", "cut", "isolate" etc? What is special about that terrible concept that we should stop using the word even when not applied to people at all?
WorldMaker | 2 months ago
That's what is "special" about it, that it wasn't special. It wasn't chosen. It was just a stupid inherited default that didn't make sense when questioned.
It was never an intentional allusion to a negative thing, it was accidentally a negative thing causing real people some harm, and it was easier to fix than to justify why it was a negative thing in the first place.
heldrida | 2 months ago
perrygeo | 2 months ago
_imnothere | 2 months ago
gullevek | 2 months ago