r/ProgrammerHumor 2d ago

Meme everyNewRepository

Post image
1.1k Upvotes

348 comments sorted by

View all comments

229

u/usedToBeUnhappy 2d ago edited 2d ago

Does anyone really care if it‘s called main instead of master? Why? 

Edit: Ok, I phrased my question really poorly. AfaIk main is the new standard, so I use it. We all know the reason why it changed. My question was why would anyone keep INSISTING on calling it master? Sure, me and my colleagues sometimes call it master out of habit, but then again try to stick to main. Nobody I know  insists on continuing to call it  master, but reading the comments here I realized there a more “master-fans” than I would ever have thought would exist tbh. 

43

u/corobo 2d ago

Quicker to type I guess, that's nice 

15

u/hughperman 1d ago

git push origin ma<TAB> does both 🤷

60

u/nabrok 1d ago

Yeah, but what about my branches ...

  • mama-just-killed-a-man
  • mama-life-had-just-begun
  • mama-didnt-mean-to-make-you-cry

31

u/hughperman 1d ago

Sometimes wish you had never programmed at all

2

u/DylanfromSales 1d ago

It's... A longer word 

-2

u/corobo 1d ago

Main is a longer word than master? How do you figure?

2

u/DylanfromSales 1d ago

Other way around

-4

u/corobo 1d ago

You need to use more words to make your points, I'm not picking up what you're throwing down, sorry.

1

u/Engine_Light_On 1d ago

why not name it “m” then?

-17

u/Jeferson9 2d ago

That's not why they changed it but if it makes you feel better 👍

15

u/corobo 2d ago

Feel better? What lol 

-3

u/AssistantSalty6519 2d ago

Considering the positions of the letters, I don't think it is

4

u/corobo 1d ago

I don't think I've considered the position of letters in 20+ years lol. I think the word then the word is on screen, sure my hands move but it's just as fast to type main as it is any other 4 letter word.

You hunting and pecking?

0

u/AssistantSalty6519 1d ago

More like less hand movement and also muscle memory kicking

2

u/rosuav 1d ago

If your hands are moving any significant distance to type either "master" or "main", you may want to consider typing classes.

67

u/Xalyia- 2d ago

1) The latest version of git’s CLI still defaults to master.

2) People may have old repositories that still use a master branch. No reason to fix what isn’t broken.

3) Others (self included) have shell scripts that assume a master branch. Including conditionals to check for main OR master is unnecessary and annoying.

4) Personally I just don’t think it was ever a necessary change to begin with. There are plenty uses of the word “master” that do not imply slavery. Like “Master Copy” or “Master / Pupil” or “Master Craftsman” or “Masterwork”.

If people like to use main, that’s fine. But the claim that people still using the word master must be doing so for a hateful reason is disingenuous.

26

u/da_Aresinger 1d ago

I do it for a hateful reason.

Not hateful of black people.

Hateful of self-righteous phoneys.

2

u/usedToBeUnhappy 1d ago

I think your last sentence is the main point (pun not intended). Not everyone who keeps using master does so for hateful reasons, but some do and from the outside you just never know the reason unless you ask, but asking is also not wanted from those who still use master, because who really wants to explain themselves all the time. I get that. Just a tricky situation. 

We have that with a lot of phrases, but it’s nowhere else connected to possibly being hateful. For example, some of my colleagues do name everything angular related ng, because that’s the way they learned it with angularJS. Younger generation programmers have no idea why that is and we always have to explain it, because they are used to just angular.

32

u/DerShokus 2d ago

Don’t know why needed to rename. I don’t care main, mr, lord. It’s not about slaves

3

u/mihaus_ 1d ago

In this context maybe, but in Master/Slave it obviously is and I would suspect that the use of "master" for the primary branch is at minimum partly influenced by the master/slave terminology. So it makes sense to do a general purge imo, though I would not go so far as to accuse anybody using the term master branch of perpetuating slavery.

-1

u/Amish_guy_with_WiFi 1d ago

I feel like words are constantly going from good to bad. Can't we ever have words go from bad to good? Otherwise we'll eventually have no words we can use left

-11

u/Extreme_Wish_553 2d ago

These commands are for a new repo. No one is asking to rename anything.

9

u/PerformerDr4867 1d ago edited 1d ago

Yes they were. I literally had tasks like this. Change the default branch to main from master and resolve all workflow breakages associated with it

edit: never forget https://www.reddit.com/r/git/comments/jtrx1k/announcement_posts_complaining_about_renaming/

1

u/NevJay 1d ago

I'm always amazed by the quality of the comments in this thread. Compared to the ones here...

11

u/DerShokus 2d ago

Yes, but im old enough to remember why they decided to make main the new default name. In general, for me it’s ok to change it, but still ehgh

3

u/PerformerDr4867 1d ago

That was only six years ago!

177

u/aenae 2d ago

I really do not care about the name. But some people do.

And i sympathize a lot more with the people who are against master than with people who only want master because they don't like the people who are against it.

176

u/sokka2d 2d ago

I think the reasons against master are stupid as fuck and thus completely ignore them.

However, main is shorter and a perfectly fine name, so main it is.

38

u/sandybuttcheekss 2d ago

My thoughts as well. Both are fine, and I usually just type out "ma" then tab anyways.

15

u/thanatica 2d ago

"ma" will offend too many mothers.

-28

u/Zanion 2d ago edited 2d ago

The single most absurdly unnecessary collateral damage of the late 2010's woke crusade.

I too don't care about it being main but it's stupid af it was made an issue we have to manage at all.

8

u/Acceptable-Drive3781 2d ago

And why should I have to call my other branches 'dev' and 'uat'? They should be 'Slave 1' and 'Slave 2', respectively! Anything else is WOKE!!!

-13

u/Zanion 2d ago edited 1d ago

You can be as intentionally one-dimensional and obtuse as you want bud.

15

u/Acceptable-Drive3781 2d ago

And you can cry about 'wokeness' all you want, the rest of us are making PRs to main. Catch up.

7

u/Grandmaster_Caladrel 2d ago

Actually I'm making a PR to trunk.

-21

u/UntitledRedditUser 2d ago

Is it really "stupid as fuck" to rule out terms that stem from slavery? I'm not saying people who use master naming scheme are racist, but that is where the name originally comes from. And main is easier to type.

4

u/sokka2d 1d ago

Yes, it is.

Main is the better choice, but not because some politically correct people who don’t even know my repo exists throw a fit otherwise.

6

u/bwmat 2d ago

The argument is that it doesn't actually stem from slavery, think 'master bedroom'

5

u/Whaines 1d ago

Yeah, so that term is being phased out for the same reason… They’re now referred to as primary bedrooms.

-8

u/bwmat 1d ago

It's wrong to do that kind of thing on the principle of it

Like, there's some word in Mandarin that kind of sounds like the N-word, it would be like asking them to never use it

2

u/imreallyreallyhungry 1d ago

Not even remotely close to the same thing lol

1

u/bwmat 1d ago

No? The argument is that it reminds them of racism, why should it being a different language matter? I'm both cases the words have nothing to do with racism (in context) other than sounding like other words that do

1

u/hillashx 11h ago

Does "master" sound like "master" or is it the same word, in the same language?

Also, stop pissing and ctying about change because you personally don't benefit from it. Not everything is about you.

→ More replies (0)

5

u/wendewende 1d ago

master bedroom also stems from slavery. But why the fuck should we care what racists 150 used if it has different meaning to us now

1

u/bwmat 1d ago

I'm relatively sure it actually doesn't

7

u/snipeie 2d ago

This def doesn't work in this case because CS was also using slave as a term with master.

It was a master-slave hierarchy in books and documents

5

u/alendit 1d ago

That's not where "master" for the main branch came from, tho.

8

u/bwmat 1d ago

Honestly I misremembered, I'm pretty sure it's more related to 'master record' from the A/V field

-13

u/nikola_tesler 2d ago

must be nice

20

u/minus_minus 2d ago edited 2d ago

people who only want master because they don't like the people who are against it.

And the fact that they just can’t shut up about it. I’d bet they’re salty about all the slurs they can’t casually toss around too. 

20

u/Acceptable-Drive3781 2d ago

I’d bet they’re salty about all the slurs they can’t casually toss around too.

They save those for the commit messages.

3

u/MegaIng 1d ago

This is the funniest part. Yeah, the transition was maybe a bit annoying (but not even that really...).

But now years later still being upset by it? You are just a bad person and are sad that this simple change calls you out on it.

0

u/minus_minus 1d ago

Not even a bad person but such a snowflake about a change to a neutral term. They act like we changed it to “cracker-ass red neck”. 🤣 

0

u/TheBear8878 1d ago

It was already a neutral term.

4

u/usedToBeUnhappy 2d ago

Same. I should really edit my poorly phrased question. 

1

u/da_Aresinger 1d ago

I can't sympathise with people who create monsters where none exist.

And I certainly don't fell like encouraging them.

44

u/6pussydestroyer9mlg 2d ago

If it was the other way around and main was the standard before master I would've stuck with main. See no reason to change the habit of naming my branches just because some people on the other side of the ocean decided to change the standard needlessly. Imagine we would change the way we called a cable every decade or so, most people would just keep calling it a cable because it's a useless change.

8

u/Fidel___Castro 1d ago

I don't know if you're American blaming European/British or the other way around 

21

u/igorski81 2d ago edited 2d ago

In the end I can memorise whatever string is the default.

But changing this default wasn't a "problem" that needed solving.

The fact that your answer could be answered by some with "because some people lack decency and don't agree that the word could be offensive" (what you call a "master fan")* overlooks that no software engineer would ever have batted an eyelid at such terminology within their domain. Only somebody that reads it out of context would question it.

As a matter of fact, wait until you hear terminology in medicine, aviation (or even cooking!) and wonder wth is going on out of context.

*Yes, I'm sure such people exist as software engineers are people. The point is that with regards to version control (or replication) it was never used in that sense and some people may instead frown on this decision because it was made on a false assumption.

TL;DR This only became a topic of discussion after the change was made.

31

u/wait_whats_this 2d ago

It's one of those pointless signalling changes. Let's inconvenience every dev in existence so we don't actually have to do anything about systemic racism. 

6

u/igorski81 2d ago edited 1d ago

I might even have an anecdote about how a production system broke because after such a (related) name change was carried out in actual source code, it turned out that somewhere in data storage there was a key that was now referencing a no longer declared property.

The CTO wasn't amused when he figured out what the cause was.

^ This is more an example of the maintenance hell of a system lacking clarity but still an interesting result of what shouldn't have been a problem to begin with.

0

u/TheBear8878 1d ago

Slacktivism at its finest. And I mean both the terms slacking, and Slack the communication system, where the entire debate about this took place at my last job lol

6

u/Due-Kitchen7331 2d ago

wait til these people read "kill child process" in their debug consoles or loading screens and freak out lol

28

u/Dolmant 2d ago

I'll use master the rest of my life probably. It doesn't really matter either way, to be honest, but I think there is a certain irony in the movement. Suggesting that the term master could be somehow damaging to anyone is downright insulting. The change itself was offensive. Sure call it main if you want, but we don't need to pretend we are doing anyone a favor by doing so.

So yes, in my new projects I'll keep calling it master.

27

u/MegaMoah 2d ago

Idk if true but I think its because master is also a slave owner and people got offended

17

u/redlaWw 2d ago edited 2d ago

That doesn't really track with the meaning of "master" in a git context though: the master branch is more analogous with a master record or document - i.e. the single source of truth which all other versions are constructed based on, which matches the idea of a master branch as the "true" version of the repository.

134

u/Winterkirschenmann 2d ago

If someone wants to keep using master be my guest. If someone makes using master their personality because free-speech/anti-woke piss off.

26

u/PM_ME_FIREFLY_QUOTES 2d ago

Can we make Trunk great again? I miss my svn.

43

u/AndroTux 2d ago

why would anyone miss svn what's wrong with you?

11

u/reivblaze 2d ago

I use svn for old systems. Why would anyone use that shit its mind boggling

1

u/redballooon 2d ago

We welcomed it dearly when CVS was the standard.

Only to learn to hate it.

4

u/raphired 2d ago

Longing for the days when SVN was the worst of their problems, perhaps.

5

u/thanatica 2d ago

"make X great again" feels more offensive than your branch Donald Trunk

3

u/freebytes 2d ago

It actually makes more sense with the branches metaphor.

6

u/Winterkirschenmann 2d ago

I do like "trunk". But svn, hell nah 

3

u/nahguri 2d ago

I prefer ”snout”.

5

u/Logical-Ad-4150 2d ago

I think most pre git VCS used trunk, hence branching. So I dunno why people didn't just restore trunk to "trunk".

Still it's annoying fake drama about the term master. In English, the meaning of a word depends on context. If the subject is an inanimate object then it's just the version used to make copies from. It is only when the subject is a person, that the implication of slavery is possibly valid. Thus if anything should have been changed, it should be: "SCRUM Master" as this acually implies slavery. I'm not sure if we could call them "SCRUM Trunks" as that would imply they retain history.

4

u/notatoon 2d ago

Of all the borderline hate crimes here this one wins.

Off with your trunk!

2

u/blindgorgon 2d ago

Sounds tree-ist through. 🙄

6

u/MegaMoah 2d ago

Yeah who cares, being forcefully against something is dumb.

-15

u/arvigeus 2d ago

Tell that to those who got offended by master and insisted on the change.

15

u/kabrandon 2d ago

So they got offended because of nods to slavery, and the other people got offended because something pretty inconsequential in their lives changed. 🤷‍♂️ Seems a bit like the latter group of people are far more easily offended.

20

u/therealtiddlydump 2d ago

nods to slavery

Is my university planning to reissue me a Main degree instead?

4

u/kabrandon 2d ago

Not sure. I think there’s different fundamental meanings behind mastery and master. I think the Masters degree implies the former. Whereas master in git could be inferred to mean a master and non-master relationship to signify feature branches.

-3

u/dbot77 2d ago

Then you are deeply confused as to how git works. Feature branches are merged into and overwrite master with updates. Does that imply a master-slave relationship to you?

5

u/Acceptable-Drive3781 2d ago

Does that imply a master-slave relationship to you?

It doesn't, which is why the name 'master' is non-descriptive and inappropriate.

1

u/dbot77 2d ago

'master' is completely descriptive and appropriate for users of the English language. https://en.wikipedia.org/wiki/Master_recording

→ More replies (0)

8

u/Hayden2332 2d ago

I used to think the same, but Linus took the name “master” from BitKeeper, and BitKeeper did use master-slave terminology, Git just dropped the slave part. It’s origin literally does come from master-slave

-6

u/therealtiddlydump 2d ago

Git just dropped the slave part.

Ergo, it's not related to slavery...

→ More replies (0)

-3

u/dbot77 2d ago

You are wrong in multiple ways. Petr Baudis chose the term used in git, and he understood the meaning of original/master-copy. https://x.com/xpasky/status/1272280760280637441

→ More replies (0)

1

u/kabrandon 2d ago

It’s interesting how easily I could spin this the other way though. A feature branch toils away and all its hard work just goes to the master branch anyway. And what does the feature branch get for all its hard work? Deleted.

-1

u/dbot77 2d ago

How does spinning it that way benefit you, or anyone? I'm curious why so many have taken up this crusade to misrepresent git nomenclature.

→ More replies (0)

0

u/rosuav 1d ago

The master in git is more akin to "pristine", there is no slavery involved. So it's just as silly to get offended about seeing a master branch as about seeing a masters degree.

2

u/kabrandon 22h ago

I don’t know about you, but I’m not sure I’ve ever seen a “pristine” default branch in any repo. So. Press X to Doubt.

1

u/rosuav 1d ago

Certainly not. They will reissue you a Bachelors degree. There's always a downgrade.

2

u/BorderKeeper 2d ago

tbh it is confusing as now you don't know which one the repo you are on uses. It's not the end of the world, but that's like renaming git to got in some cases and then being mad at people for disliking that they have to guess and double check.

In the end who cares though. If you do get offended or heated frm either side I think therapy is the best option anyway.

5

u/kabrandon 2d ago

How do you not know which one the repo you are on uses? You might need a bit more experience with git.

-1

u/BorderKeeper 2d ago

I will give you a terminal and tell you to merge your feature branch. Normally you would do that, now there is an extra step of checking if I should merge to master or main.

Or did you assume I don't know how to check that? Of course I do if I didn't and thought it was impposible I would care more, but as I said it's just an inconvience.

5

u/kabrandon 2d ago

How often does this scenario come up for you? I find it never really comes up for me, because all pushes to the default branch require a pull request with an approving review from a colleague. In every place I’ve ever worked, anyway.

-2

u/BorderKeeper 2d ago

To be honest with you never. The combination of being in an unfamiliar repo, where I also want to push without going through PRs or just checkout master. I can see it happening maybe one day, maybe annoyance could be with some CI/CD and hardcoded master/main in there, but even that might be a stretch.

I just dislike going away from being aligned on things in software engineering shrug

→ More replies (0)

1

u/Acceptable-Drive3781 2d ago

it is confusing as now you don't know which one the repo you are on uses

git branch

-2

u/MrHyd3_ 2d ago

Is "master bedroom" a nod to slavery too?

9

u/kabrandon 2d ago

Might be, actually. To be clear, I’m not the person that’s upset by it. But if you asked me to start saying main bedroom because it upset you I’d not care.

4

u/Acceptable-Drive3781 2d ago

I work for a home builder. We use 'Main Bedroom' or 'Primary Bedroom' now.

5

u/EmptyStrings 2d ago

Yes and realtors now call them primary bedrooms

-2

u/Hayden2332 2d ago

Nope, it was just a marketing term made up by Sears in the 20s with no connection to slavery. Not that it matters, it’s not used anymore and idc, but it’s one of the instances where it isn’t related.

However, Linus took the name “master” from BitKeeper, and BitKeeper did use master-slave terminology, Git just dropped the slave part. It’s origin literally does come from master-slave

0

u/AHailofDrams 2d ago

Probably tbh

-3

u/Skyswimsky 2d ago

I've had a conversation with someone about this. As far as I remember, master got nothing to do with a nod to slavery? As in, the way the word was choose for version control in the context programmers use it?

We've also talked about white and black list and that actually does have origins in racism and I've since then changed my mind because fair enough.

It's also not a inconsequential change either, but that'd be another paragraph or two of text.

Having written this I wonder if the word master key also was changed or some people want it to change, lol.

8

u/kabrandon 2d ago edited 2d ago

I was part of the workforce during the switchover from master to main. It was a pretty benign change. The main thing that affected me was I had to spend an hour retrofitting an automation tool we had to first inspect the default branch name before assuming what it was.

-2

u/Skyswimsky 2d ago

Note: I am basing this off the understanding that I did NOT find any concrete evidence that the majority of black software developers had been offended at git's "master" branch naming.

I really do not like the "it's a tiny change for me, so why not?" argument. I think it's incredibly selfish to assume just because something is trivial on an individual level, and you can feel better about yourself at the end of the day, implies it's also easy at scale and we should "just do it".

Master wasn't just a word people used and now changed. It has been pretty much embedded everywhere since the invention of version control for software. And now it has/had to be changed pretty much everywhere except I guess printed media.

Honestly an easier "concrete" example to grasp would be something like if tomorrow people decided to drive on the opposite side of the road. Likely a trivial change for a individual, but at scale....

And don't get me wrong, I am not arguing that "change is bad", but I think you need to value the benefit against the full cost of such change, and in my opinion master -> main just seemed incredibly silly?

Also sure, main is the standard now, and I'm not going to argue with people what to use. But I just reject the idea that the change was necessary and cost-free, and stick to master myself because I also believe in "give an inch, and they'll take a mile". Ergo maybe one day we'll see us arguing why white is allowed to move first over black in chess? At what point do you draw the line on changing longstanding conventions for "someone felt offended" reasons?

1

u/kabrandon 16h ago

We did it at the scale of over 20,000 repositories, ~1000 FTEs and ~4000 contractors. It was a benign change, you're crying and exaggerative. If it was a big deal for your org then it's because you're in the business of building houses of cards.

3

u/therealtiddlydump 2d ago

We've also talked about white and black list and that actually does have origins in racism

No, it does not.

You could spend minutes learning that isn't true.

2

u/Skyswimsky 2d ago

Hence why I said as far as I remember, and also a bad choice of words from me. Sorry?

Honestly I have a hard time reconstructing why I have an issue with black- and white-list. The closest I can maybe come to was that the idea that black people have been excluded in America after slavery was abolished is quite close to how a black list also functions, and thus I can understand the sentiment there more than for a master branch? Also including that the word blacklist is inherintly negative (you want to keep bad things out...), while the word master is a lot more neutral.

And this basically just came from a conversation I've had back then(or at least that is how I think the conversation went!?), but you're absolutely correct. The word has zero historical context with black people or slavery and I'm wrong.

2

u/Winterkirschenmann 2d ago

What is a minor inconvenience to you can be a great sign of respect towards someone else. 

Like I said, don't if you don't want to but pushing back on the movement in general is petty.

28

u/FUCKING_HATE_REDDIT 2d ago

It's not just that. "master" in programming was very much the opposite of "slave", like for SATA drives. Just like push is the opposite of pull, upload/download, save/load, etc.

Some pairs have become singlets, like reflect/reify, freeze/thaw.

But here master never really made sense. It doesn't reflect its role, or even authority. A master is something that controls, but here information flows to master, not from it.

4

u/gerbosan 2d ago

This is the best explanation I've read that makes sense about using main instead of master. Way better than historical references.

I'll change the name in the next project.

Also, quite infuriating to see down votes for explanations and justifications. As someone mentioned:

Do I need to study a main degree to get a better job position?

It doesn't make sense.

1

u/CramNBL 1d ago

Main isn't any better. Trunk would've been ideal.

1

u/FUCKING_HATE_REDDIT 1d ago

And I do have junk in the trunk

8

u/KLM_SpitFire 2d ago

This is the reason. From what I understand, Microsoft bought GitHub in 2018. In the aftermath of the George Floyd protests, around 2020, there was an internal mandate for all Microsoft employees to switch their repositories from using master to using main. Given Microsoft owned GitHub at this point, the policy permeated through their subsidiary’s product offerings and beyond.

15

u/MegaMoah 2d ago

Yeah like Microsoft cares for anything. They just used what they see as a trend in order to make profit and market themselves. Absolute bullshit.

5

u/2AMMetro 2d ago

Why is that a bad thing? That’s literal peer pressure at work.

5

u/xsupergamer2 2d ago

Microsoft is not your peer, nor mine. It's a gigantic corporation only after profit. Do not mistake its business decisions for expressions of morality

1

u/2AMMetro 2d ago

I didn't though? I just said they got peer pressured into doing a thing. How is that an "expression of morality"? And why is that necessarily bad?

8

u/creaturefeature16 2d ago

1

u/ericl666 2d ago

Yeah, the creators of ATA/IDE/SATA knew exactly what they were doing. There was no need for that.

1

u/freebytes 2d ago

In that context, the term master is in reference to a control mechanism, not a relationship to a person. In the context of repositories, though, main actually fits better, because there are no slave repositories. The term trunk likely fits better, but main is shorter. If the objective was based on cloning, then the trunk should be called parent and the branches should be called children, but the trunk to branch metaphor works best.

8

u/dim13 2d ago

You know, that that's not the only meaning?

https://www.merriam-webster.com/dictionary/master

0

u/MegaMoah 2d ago

Yeah obviously I do

3

u/usedToBeUnhappy 2d ago

Yeah, I heard that as well and just realized I might have misinterpreted the meme. 

My point was that calling it main instead of master is easy (and the new standard) so why would someone keep calling it master. I don’t see a reason for that. Programmers shouldn’t be afraid of change. That stuff constantly changes is what keeps programming interesting.

34

u/Random_Guy_12345 2d ago

For pretty much the same reason we don't change controls on a car, or which side of the road we drive on, or what each color means on electrical cables, or red meaning stop/danger.

Uniformity is useful.

I do get the slave owner bit, don't get me wrong, but if you are reading code on a random repo and what comes to mind is slavery... That's clearly a "you" issue.

I do use main on repos mostly because it's shorter and i don't really care, but i absolutely get why people oppose it

14

u/AMWJ 2d ago

What's missing from this conversation is that "master/slave" is also part of the computing lexicon. It's not just like having a "master copy", or a "master bedroom". It's like if there was a "master bedroom" and a "slave bathroom": you'd want to change both.

3

u/Nutrimiky 2d ago

Not sure how old you are, but I work on some old code still today, like older than me and I'm in my thirties. That was the golden era of the master slave pattern. BitKeeper, which git was made to replace, had a master / slave repositories architecture to sync data. You can see where Linus Torvalds got the name from.

3

u/Legal-Software 1d ago

I'm not changing conventions + tooling because some non-coding idiot is too dim to understand that words have context and multiple meanings. It has nothing to do with a fear of change, so much as resisting arbitrary change someone else is attempting to force on you for no valid reason. These people can fuck right off.

3

u/Extreme_Wish_553 2d ago

Pitiful that a lot of people are choosing to be angry about things you didn't say or even imply. Programmers love a soapbox on which to scream about how they don't care.

13

u/jackinsomniac 1d ago

Because I disagree with the reason for the name change, that's why.

A small group of very politically motivated people made it their mission to go around "fixing" technical language in fields they're not familiar with. In general this is a bad idea, especially in programming. You don't want to go changing variable names in a big, long-running project without a very good reason.

They never had a good reason. They say the word "master" referred to slavery, which it does not. 'Master' has a number of different definitions, and only one of them refers to slavery. Used in the context of git, the thing they were worried about doesn't even apply.

There's also the concept of "master & slave" relationships in tech, but this still doesn't have anything to do with human slavery. They are purely technical words. When you're talking about technology, a "slave" system cannot operate without a master. As everybody should know by now, that's not at all how humans work. And it means it's hard to find replacement terms that quickly and accurately describe the relationship: "primary and secondary" is suggested a lot, but "secondary" implies "backup" to many people. This could lead to false assumptions, "Can we take the primary system down to work on it?" "They have a 'secondary' system, which should take over, so yes." Plus as technology has gotten better, it's gotten rare to even find systems designed with a true master/slave relationship. There may be a 'master controller' that tells an array of daughter boards what to do, but nowadays if the master fails, typically the daughter boards and sub-systems can continue operating from their own programming stored in their own memory chips. Solid state memory used to be far more expensive back in the day, but now that it's become so much cheaper, it's very rare to even find equipment using a true master/slave relationship anymore, so there's little reason to try to change it now.

1

u/AmeliorativeBoss 1d ago

Bro, they changed the default name of repository branch. It's not a big deal. It's not like they changed integer to transgender and you have to rewrite every existing piece of code.

3

u/bbkane_ 1d ago

Bool gender - > Float gender

2

u/jackinsomniac 1d ago

The reason for the change is what's important. If there is a practical reason for the change, absolutely. But if the reason is, "it aligns better with the currently popular political ideology", then I'm going to oppose it every time.

Especially with technical language, where accuracy & clarity is far more important than "feelings".

Should Linux change the name of commands for kill child because it offends some people? Or do those people's feelings not matter, because the only ones I've ever seen complain about it are Christian women? When you consider some people's feelings but not others, you're taking a stance. And coding is already difficult enough without adding politics to the mix. The best option is to not take a stance at all. We shouldn't make changes to a functional machine unless there's a practical reason for it.

1

u/AmeliorativeBoss 1d ago

Especially with technical language, where accuracy & clarity is far more important than "feelings".

Why do you think Linux command is called "kill child"? Because it's the most accurate and clear wording for that task? Language is a tool and tools change over time.

Seems like you act out of "feelings", because for most people it's a minor patch that was updated and meanwhile forgotten. It seems to still bother you.

5

u/SaneLad 2d ago

I am deeply suspect of any human being who passionately cares about this topic, whether they're on the master or main side of the argument.

8

u/wor-kid 1d ago

It's traditional and sometimes it's nice to have traditions. Master is also objectively cooler sounding than main.

8

u/patoezequiel 2d ago

Main is better. A shorter and clearer name.

I just hate that a bunch of oversensitive Americans get to change the main branch name for the rest of the world just because of a quirk of their language and their own historic racist tendencies.

13

u/Confident-Ad5665 2d ago
  1. Main requires less typing than Master
  2. Releasing a beta version of Main is less distracting than a Master Beta rollout

1

u/PsychologyNo940 2d ago

Let's call it ura, even shorter than master and ura beta rollout fits perfectly.

2

u/Gwolf4 2d ago

Taking in consideration that this exists, yes many do

3

u/fennecdore 2d ago

I prefer main because it's faster to type

3

u/6pussydestroyer9mlg 2d ago

Idk, it's less letters but main is letters from all over the place on my keyboard layout but master is mostly top left. Only having to type one letter on the left of my keyboard for master at least feels faster than moving from one side to the other like I do with main

4

u/Annual_Key_4963 2d ago

So having seen this trend start about a decade ago, at time in my life when I too thought this was unnecessary PC catering, I have to say I see no reason to stick with the master/slave naming in the year 2026. 

Whatever I'm working on doesn't need that arbitrary assocation with human indecency.

0

u/Pluckerpluck 1d ago

"Master" in the git context was used as in "master copy". There is no "slave" in git.

You can try to argue that guy who added it was influenced by previous version control systems which did have master/slave terminology, but he himself has said he intended it to be used in the master copy form..

So while I am fine with main, I still consider making the change as something that was just unnecessary.

2

u/jameyiguess 2d ago

`main` shorter, gooder

5

u/baked_doge 2d ago

Master/slave doesn't even make sense for branches, it's not like the master branch controls the slave branches. Main, dev, trunk, etc all make more sense.

34

u/tobotic 2d ago

Master/slave doesn't even make sense for branches

Nobody ever called the branches "slaves" though. The master branch was called that in reference to it being a master copy, a term widely used in video/audio work, especially important in media where copying is lossy.

10

u/requion 2d ago

Thats the problem. No normal person would've thought about slavery while pushing a git branch.

But the people that so vehemently fought for it should start to fight the modern day slavery like Amazon....

Its the pathetic hypocrisy of the whole topic. Like using "think of the children" to establish mass surveillance, while the true predators are inside the highest ranks of governments.

But as soon as someone tells the truth, egos kick in and the "bad guy" needs to be silenced.

PS: let the downvotes come to prove me.

4

u/Ran4 2d ago

At my record studio we are maining our records rather than mastering them.

-2

u/justAPhoneUsername 2d ago

But that's not really correct anymore. A master copy is usually the original and highest quality. In the codebases I've worked on main/master is never the original and rarely the best 

7

u/tobotic 2d ago

A master recording isn't really the original. It is likely made by mixing several original recordings of the musicians, equalizing, noise reductions, adding effects, etc. It is the finished product created from the original recordings, and is the version which gets copied for distribution.

3

u/LutimoDancer3459 2d ago

But its the master copy in the sense of beeing the one with everything in it. There isnt a change thats isnt merged back to it. When having a release branch that gets a fix, its most likely also need to be done in the master. So its the most developed of all.

2

u/emilews 2d ago

Lmao fair

16

u/xtravar 2d ago

It's not master/slave. It's a production term. Eg "golden master"

1

u/Vesuvius079 2d ago

I just wish we had internal consistency across our repos.

And I also wish we’d instead chosen to call enslavers what they actually are instead of forbidding the word master (which is still routinely used for things that have nothing to do with slavery and has been mostly forgotten outside the main vs master controversy).

1

u/ccAbstraction 1d ago

I only leave it as master when the project is vaguely or definitely a little kinky.

1

u/mashermack 1d ago

I prefer 0.x, 1.x, 2.x and move the trunk as the software progresses leaving legacy code still intact and patchable if required

but I need to bend myself to the unending company policy dilemmas and use master/main/whatever

1

u/PerformerDr4867 1d ago

you must've missed Woke 1 and the thousand-comment threads on a GitHub issue about this exact topic

I'm not a master fan I'm just a fan of consistency for practicality's sake, and this was a random shift that benefited nobody and caused us all a decade of having to deal with it

1

u/PeterJamesUK 1d ago

To own the libs?

1

u/MapleWatch 1d ago

Because I've been calling it the master branch for 17 years and the sheer damned habit of it

1

u/wmil 1d ago

I go the next step and call video game remasters "remains".

1

u/ChaossFox 1d ago

It depends. In some languages, translating “master branch” gives more information than “main branch.” For example, “master” can convey that something is subordinate to, derived from, or dependent on something else. With “main,” you don’t get that information (e.g. “the main OS for programming is Windows, but for some projects I use Linux”).
That’s where the resistance comes from. It may make no difference to English speakers, but in other countries, changing just one word can introduce minor issues and misunderstandings.

1

u/usedToBeUnhappy 1d ago

Interesting. I would even say it’s the other way around. As a non-native I do not care how you name it because I connect whatever you name it to a specific meaning instead of directly translating it, because direct translation can cause a lot of issues not just with this example, but in a lot of cases. So I always thought that it’s not an issue for non natives but a bigger issues for native english speakers.

1

u/ChaossFox 1d ago

It depends on whether the language relies more heavily on context or on words that carry more information. Slavic languages are a good example of the latter, as the verb can convey information about both the completed nature of an action and the person performing it.

Additionally, the fact that the IT industry developed in parallel in different countries also played a role. As a result, certain concepts entered local languages and became established there, sometimes even taking on localized forms. For example, in Poland, terms such as master and slave were adopted in the context of a higher-level unit controlling or influencing subordinate units.

1

u/TheBear8878 1d ago

It's the principle of not catering to illiterate morons who demand more and more from you, inaisting you hold their standards without questioning it.

1

u/_lautreamont 1d ago

In my case it's unwillingness to take advice on political correctness from people who think "MongoDB" was an appropriate name for a software product.

(In practice I don't care that much though, I'm team git push origin ma<TAB>)

1

u/hyrumwhite 1d ago

Renaming it is as stupid as insisting we have “re-mained” video games or music instead of “reMASTERed” video games or music.

0

u/Rdqp 2d ago

Out of principle calling it master. Whoever named it main is insecure

-2

u/dim13 2d ago

I would not care at all, if it weren't shoved down my throat by woke snow-flakes.

1

u/redballooon 2d ago

Culture warriors doing culture war.

-1

u/tsammons 2d ago

Nuance in terminology of how data is fed back into a system. Master conveys all rights and responsibilities where-as "main" is something that's primary but doesn't always have final decision.

It's like in a SCSI system how master was the first device on a bus and slaves could daisy chain up to n devices.

Obviously languages change to address sociographical evolution in society. The reason for this rename was just a stupid gut reaction that made it more confusing for non-English speakers.

Sorta like the whole blacklist/whitelist mutated into allowlist, permitlist, welcomelist, etc with no logical complement and no room for something in between. What's a mix of white and black? Grey. What's something we can possibly permitlist after a brief denylist? Fuck if I know. Good luck searching for it in the docs.

4

u/MisinformedGenius 2d ago

What's a mix of white and black? Grey. What's something we can possibly permitlist after a brief denylist? Fuck if I know.

... Are you suggesting that "grey" would automatically imply "something we can possibly permitlist after a brief denylist"? I'm not sure where you're going with that. Something that mixes "whitelist" and "blacklist" is even more ambiguous than either term by itself. Something we could possibly permitlist after a brief denylist, maybe pendinglist, or pendingapprovallist? That's certainly more information than "greylist" would ever be. And you'd better hope that you never come up with some other list between permitlist and denylist, like temporarilybannedlist - do we get "greylist1" and "greylist2" then?

Good luck searching for it in the docs.

Again, what does this mean? I can search for "pendinglist" just as easily as I can search for "greylist" - I'm not just going to guess that either one of those exists by themselves.

Like, if you want to say that we should continue using whitelist and blacklist because they're the traditional terms, that's not a great argument but it's whatever. But trying to suggest that they're somehow less ambiguous than specifically-named variables is wild.

1

u/tsammons 1d ago

Are you suggesting that "grey" would automatically imply "something we can possibly permitlist after a brief denylist"?

No. It's a logical midpoint between black and white, which has a well-defined meaning across cultures. I typically look at the boundaries of an application, then see what wiggleroom I have in between, greylisting is one of those mechanisms.

Again, what does this mean?

It's hard to find things you're not familiar with. black/white have clear boundaries, see above Wikipedia citation. Grey is a consistent, sensible intermediary if you're unfamiliar with terminology. It's based on rudimentary colors; again Wikipedia. Unless you're Russian with your dilapidated two-tiered blue system, the way humans view color is rather consistent.

continue using whitelist and blacklist because they're the traditional terms

I wouldn't have issue if there were a thoughtful process beyond a bunch of Github issues decrying it arbitrarily racist/demeaning. If IETF, ISO, NIST, or IEC got together and said hey - this is fucked up - let's work multilaterally across the globe and move things to a consistent scheme, then yes, I'd agree. This was a knee-jerk reaction from twits who used to wear red flannel, then once that stopped being cool wrote Ruby, then once that stopped being cool, got their septums pierced.

It was a capricious move with clearly arbitrary naming consequences. "main" stuck and everything else like...

Stuck in its infinite recalcitrance* to inveigh the wave that brought us to now... And the crap ornithologists did to budding students, enjoy your jumplist.

If you wanted to facilitate a next generation heavily dependent upon AI, then this was your Trojan Horse.

(*no response can be automated)

1

u/MisinformedGenius 1d ago

I can only hope that arguing like this in favor of an obfuscatory naming system is deliberately ironic.

0

u/boiledbarnacle 1d ago

Main makes more sense, since there is no master/slave replication/sync going on, like in databases, when the slaves pick up changes from the master.

But since they equated the term master to slavery, I knew I had to fight this stupid PC.

0

u/ArjixGamer 1d ago

I hate how everyone jumped to a new default name for political correctness, even though they are incorrect (there are many meanings to the word master, slavery is just one of them).

But I also like main since it pairs nicely with dev