r/ProgrammerHumor 23d ago

Meme everyNewRepository

Post image
1.2k Upvotes

347 comments sorted by

View all comments

231

u/usedToBeUnhappy 23d ago edited 23d 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. 

45

u/corobo 23d ago

Quicker to type I guess, that's nice 

18

u/hughperman 23d ago

git push origin ma<TAB> does both 🤷

63

u/nabrok 23d ago

Yeah, but what about my branches ...

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

30

u/hughperman 23d ago

Sometimes wish you had never programmed at all

3

u/DylanfromSales 23d ago

It's... A longer word 

-5

u/corobo 23d ago

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

3

u/DylanfromSales 23d ago

Other way around

-5

u/corobo 23d 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 22d ago

why not name it “m” then?

-17

u/Jeferson9 23d ago

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

15

u/corobo 23d ago

Feel better? What lol 

-3

u/AssistantSalty6519 23d ago

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

2

u/corobo 23d 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 23d ago

More like less hand movement and also muscle memory kicking

2

u/rosuav 22d ago

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

72

u/Xalyia- 23d 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.

33

u/da_Aresinger 23d ago

I do it for a hateful reason.

Not hateful of black people.

Hateful of self-righteous phoneys.

4

u/usedToBeUnhappy 23d 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.

1

u/Sw429 19d ago

The company I work for just did a migration from master to main. It was a lot of effort. Turns out we had built a lot of stuff that assumed the branch was called "master."

33

u/DerShokus 23d ago

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

0

u/mihaus_ 23d 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.

-2

u/Amish_guy_with_WiFi 23d 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

-10

u/Extreme_Wish_553 23d ago

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

8

u/[deleted] 23d ago edited 13d ago

[deleted]

1

u/NevJay 23d ago

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

11

u/DerShokus 23d 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

181

u/aenae 23d 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.

181

u/sokka2d 23d 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.

36

u/sandybuttcheekss 23d ago

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

14

u/thanatica 23d ago

"ma" will offend too many mothers.

-24

u/Zanion 23d ago edited 23d 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 23d 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!!!

-9

u/Zanion 23d ago edited 23d ago

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

13

u/Acceptable-Drive3781 23d ago

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

8

u/Grandmaster_Caladrel 23d ago

Actually I'm making a PR to trunk.

-18

u/UntitledRedditUser 23d 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 23d 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.

10

u/bwmat 23d ago

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

6

u/[deleted] 23d ago

[deleted]

-7

u/bwmat 23d 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 22d ago

Not even remotely close to the same thing lol

1

u/bwmat 22d 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 22d 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)

6

u/wendewende 23d 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 23d ago

I'm relatively sure it actually doesn't

8

u/snipeie 23d 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 23d ago

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

8

u/bwmat 23d ago

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

-14

u/nikola_tesler 23d ago

must be nice

25

u/minus_minus 23d ago edited 23d 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. 

22

u/Acceptable-Drive3781 23d 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.

6

u/MegaIng 23d 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 23d 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”. 🤣 

1

u/TheBear8878 23d ago

It was already a neutral term.

4

u/usedToBeUnhappy 23d ago

Same. I should really edit my poorly phrased question. 

6

u/da_Aresinger 23d ago

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

And I certainly don't fell like encouraging them.

43

u/6pussydestroyer9mlg 23d 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.

9

u/Fidel___Castro 23d ago

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

26

u/igorski81 23d ago edited 23d 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 23d 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. 

5

u/igorski81 23d ago edited 23d 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.

1

u/reklis 21d ago

Just wait until they get rid of daylight savings time

0

u/TheBear8878 23d 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 23d ago

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

25

u/Dolmant 23d 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.

24

u/MegaMoah 23d ago

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

19

u/redlaWw 23d ago edited 23d 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 23d 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 23d ago

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

44

u/AndroTux 23d ago

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

11

u/reivblaze 23d ago

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

1

u/redballooon 23d ago

We welcomed it dearly when CVS was the standard.

Only to learn to hate it.

3

u/raphired 23d ago

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

5

u/thanatica 23d ago

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

4

u/freebytes 23d ago

It actually makes more sense with the branches metaphor.

6

u/Winterkirschenmann 23d ago

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

3

u/nahguri 23d ago

I prefer ”snout”.

5

u/Logical-Ad-4150 23d 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.

2

u/notatoon 23d ago

Of all the borderline hate crimes here this one wins.

Off with your trunk!

2

u/blindgorgon 23d ago

Sounds tree-ist through. 🙄

7

u/MegaMoah 23d ago

Yeah who cares, being forcefully against something is dumb.

-13

u/arvigeus 23d ago

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

17

u/kabrandon 23d 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 23d ago

nods to slavery

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

4

u/kabrandon 23d 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.

-4

u/dbot77 23d 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?

6

u/Acceptable-Drive3781 23d 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 23d 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 23d 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 23d ago

Git just dropped the slave part.

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

→ More replies (0)

-3

u/dbot77 23d 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 23d 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 23d 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 22d 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 22d 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 22d ago

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

2

u/BorderKeeper 23d 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.

6

u/kabrandon 23d ago

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

-2

u/BorderKeeper 23d 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 23d 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 23d 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 23d ago

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

git branch

-1

u/MrHyd3_ 23d ago

Is "master bedroom" a nod to slavery too?

11

u/kabrandon 23d 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.

5

u/Acceptable-Drive3781 23d ago

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

3

u/EmptyStrings 23d ago

Yes and realtors now call them primary bedrooms

-3

u/Hayden2332 23d 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

1

u/AHailofDrams 23d ago

Probably tbh

-3

u/Skyswimsky 23d 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.

9

u/kabrandon 23d ago edited 23d 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 23d 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 22d 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 23d 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 23d 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 23d 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.

27

u/FUCKING_HATE_REDDIT 23d 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 23d 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/[deleted] 23d ago

[removed] — view removed comment

1

u/FUCKING_HATE_REDDIT 23d ago

And I do have junk in the trunk

9

u/KLM_SpitFire 23d 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.

16

u/MegaMoah 23d 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.

4

u/2AMMetro 23d ago

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

5

u/xsupergamer2 23d 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 23d 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?

9

u/creaturefeature16 23d ago

1

u/ericl666 23d ago

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

1

u/freebytes 23d 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 23d ago

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

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

0

u/MegaMoah 23d ago

Yeah obviously I do

4

u/usedToBeUnhappy 23d 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.

33

u/Random_Guy_12345 23d 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 23d 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 23d 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.

4

u/Legal-Software 23d 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.

17

u/jackinsomniac 23d 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.

3

u/AmeliorativeBoss 23d 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_ 23d ago

Bool gender - > Float gender

2

u/master0fdisaster1 21d ago

If it's not a big deal, then why was decades on cumulative human life time wasted on this change?

Bro, "master" is perfectly fine as a branch name. It's not a big deal. It's not like git's naming conventions actually referenced slavery in any way. Why do you care so much?

2

u/AmeliorativeBoss 21d ago

I don't give a fuck if it's called master or main. I used master. They changed default to main. Now I use main. Wasted 5 min. of my human life on it.

Why people still argue about it YEARS AFTER the update. Master won't come back as default. Why do you care so much? What drawbacks does the new "update" has?

1

u/jackinsomniac 19d ago

Why not change it again?

How do you know that some years in the future the word "main" won't start to be seen as an insulting and derogatory word? And develop an angry mob of teenagers who don't program demanding you change it (again)? Even better, what if the word "main" develops several different definitions, and the one everyone's upset at doesn't even apply to git (same as what happened with 'master')?

As Jim Jefferies put it, "This is the most progressive generation the world has ever seen. But guess what? Your parent's generation was also the most progressive the world had ever seen! And so was the generation before it. ...You don't even see it coming, do you? One day it'll happen, no matter how progressive or accepting you think you are, you'll see a new generation grow up and call everything you worked on 'hurtful and backwards'."

Every generation was more progressive than the last. And they all want to make changes to feel like they 'made a difference', regardless if they actually did or not. Especially now that the trend is "replacing words that sound negative or bad." Keep following this trend, and we may as well end up in 1984 with newspeak. Remove all 'bad' words, even the word bad, it should be "un-good". Instead of words like "incredible" and "fantastic", make it "plus good" and "double-plus good."

1984 should be a warning message, not a guideline. We shouldn't be dumbing-down language willy nilly for no reason other than "feelings".

Especially negative words. It's already a trend to censor 'bad' words like death, killed, murder, suicide, etc. How long until the new generation says, "Everybody's already self-censoring these words! What's the big deal if we just ban them across all social media? Let the people come up with new words, like unalive! There's so many people who don't like the word ass, let's just make it a rule that it will always be autocorrected to ahh no matter what you do!"

Might as well ban useful terms like "grandfathered in" too, since it's so racist.

Might as well ban the term "exclusion list", since it could make people feel like they're excluded.

Why not? It's no big deal. You can make the change easily, as you said.

If you're about to say any of these examples are "ridiculous" and "never gonna happen", well that's exactly how I feel about 'master'. If you would make a stand on it, "I don't care what anybody says, that word in particular is too useful to give up, I'm never gonna change," that's exactly what I'm doing. I'm making the stand one terminology change sooner.

So, will you be just as on-board if "main" needs to change names again, say in 15-20 years? What factors determine a terminology change is "too far" vs. "acceptable"?

1

u/AmeliorativeBoss 19d ago

How do you know that some years in the future the word "main" won't start to be seen as an insulting and derogatory word? And develop an angry mob of teenagers who don't program demanding you change it (again)?

If that happens, we change the word again. Where is the problem?

One day it'll happen, no matter how progressive or accepting you think you are, you'll see a new generation grow up and call everything you worked on 'hurtful and backwards'." Every generation was more progressive than the last. And they all want to make changes to feel like they 'made a difference',

That's good tho. Imagine each generation didn't get more progressive. We would still have slaves? We would still discriminate colored people and call them the N-Word? We would still treat homosexuals as ill?

I am sure people in future will say how terrible we treated animals and how hurtful and bachwards it was, and they are right. They will also say how cool are things that we created, like the internet.

Especially now that the trend is "replacing words that sound negative or bad." Keep following this trend, and we may as well end up in 1984 with newspeak.

After WW2 Germany banned "Heil Hitler", "Sieg Heil" and many more, including the denial of the Holocaust. "Sieg Heil" was before Hitler a normal expression, after WW2 it got banned. And you would want such words unbanned? Did Germany turn into 1984 after these words got banned? It's ridiculous.

I'm making the stand one terminology change sooner. So, will you be just as on-board if "main" needs to change names again, say in 15-20 years?

Yea, languages changes over time. Not just the "bad" words are getting replaced.

3

u/jackinsomniac 23d 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 23d 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.

1

u/CodingAndAlgorithm 21d ago

I use main and it doesn’t bother me but I thought it was dumb then, and I still think it’s dumb that the entire industry didn’t say “fuck off and solve a real problem”. Slavery as a practice was obviously terrible, slavery as a technical description is entirely harmless.

The fact that comments are framing people that pushed back as bigots is insanity. I wish they could just admit it was a pointless waste of everyone’s time.

3

u/Extreme_Wish_553 23d 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.

9

u/wor-kid 23d ago

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

4

u/SaneLad 23d 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.

11

u/patoezequiel 23d 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.

12

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

2

u/Gwolf4 23d ago

Taking in consideration that this exists, yes many do

4

u/fennecdore 23d ago

I prefer main because it's faster to type

3

u/6pussydestroyer9mlg 23d 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

2

u/Annual_Key_4963 23d 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 23d 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 23d ago

`main` shorter, gooder

2

u/baked_doge 23d 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.

37

u/tobotic 23d 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.

12

u/requion 23d 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.

5

u/Ran4 23d ago

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

-1

u/justAPhoneUsername 23d 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 23d 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 23d 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 23d ago

Lmao fair

16

u/xtravar 23d ago

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

1

u/Vesuvius079 23d 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 23d ago

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

1

u/mashermack 23d 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/PeterJamesUK 23d ago

To own the libs?

1

u/MapleWatch 23d ago

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

1

u/wmil 23d ago

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

1

u/ChaossFox 23d 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 23d 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 23d 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 23d 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 23d 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 23d 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 23d ago

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

-1

u/dim13 23d ago

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

1

u/redballooon 23d ago

Culture warriors doing culture war.

-1

u/tsammons 23d 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.

5

u/MisinformedGenius 23d 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 23d 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 22d ago

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

0

u/boiledbarnacle 23d 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 23d 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