There was a lot of dog-piling by culture-war peddlers. They try to ragebait people so they can pull you into their spheres of influence to sell you their supplements, placebos and political ads.
They rely only on appeals to emotion (specifically knee-jerk reactions to any change).
So they can be ignored.
-----------------------------------
But now to the actual logical goal.
The goal is to prevent mistraining.
"Master" didn't really make sense. It was supposed to mean one thing that controls another thing (the slave), but nothing ever works out that way in reality.
For example:
- Written records/logs: A master record would sometimes be overridden by a slave record. Also, adding a third record for fault-tolerance to tie-break inconsistencies breaks the master/slave metaphor.
- Storage media: "Master" records didn't make sense since you'd also have a "gold master", again breaking the metaphor.
- Storage media devices: The master/slave pins in ATA/PATA devices (and similar) didn't actually do what they said on the tin.
- Distributed Version Control Systems (e.g. git): It's distributed by design, there is no master. It didn't make sense in the git flow context, the trunk-based development context, the forked project context, the merged project context, the upstream/downstream context, etc...
- ... and practically everywhere else you would run into a master/slave metaphor.
Every system worked differently, and treated the metaphor differently too.
-----------------------------------
The whole problem with a bad metaphor/analogy is that things don't work how the metaphor suggests they work. People are not sure where responsibility lies. Multiple people work under the same information and end up with incompatible understandings of how things actually work.
If you're not familiar with ATA, you're going to come across the terms Secondary Master, and Primary Slave.
Then you're going to run into questions like: How can there be more than one master? Does a primary master control a secondary master? What happens when they disagree? Does a primary slave control a secondary slave, or a secondary master? etc...
Or worse, you're not going to ask the question and work under an assumption without realising it.
Removing the possibility of that happening as much as possible makes everything better.
It's always better to replace a confusing term with a less confusing term.
That's why people stopped recommending "master" in git workflows.
-----------------------------------
TL;DR: "main" reduces confusion in the git-flow context, "trunk" reduces confusion in the trunk-based development context.
I always thought it took, pretty directly, the 1st meaning in https://en.wiktionary.org/wiki/master_copy, which does fit the ultimate definition as it's the copy all of the edits follow from until they are merged at which point they become the new master edit and the following edits become based off of it. Same of branches, just on a large scale of edits.
Main (or most any other common primary branch name) can have equally trivial confusions that are not actual problems. The endless debates about branch names didn't come about because people were so confused we needed something else to stop the madness, they came about because people were convinced they could find a problem to need to fix. Any of these branch names work equally fine, it really doesn't matter and there is no deeper logic needed to justify why we switched.
Yes, switching standards is confusing and taxing.
Although, using bad standards is also confusing and taxing.
Usually those taxes are internalised somewhere and forgotten, becoming a hidden tax. They become apparent once pointed out, like when trying to fix a standard or switching to a new standard, but they exist nonetheless.
------------------------------
> you'd have to be an obsessive to think that hard about minor language choices to the point of forcing a change on tens of millions of people after-the-fact.
No, it's not mis-managers throwing their weight around, it's not culture war, it's not etymological one-up-man-ship, it's not politics, it's just systems theory.
Every time someone gets stung by a hidden tax in a system, and the cause of the sting can't/won't be addressed, it builds up pressure.
If the pressure can't be relieved, it continues building to the point that the system starts to strain. Eventually the system reaches the point where the strain has to be released and there's a sudden change.
Systems theory.
I really hate how people pretend to be stupid and not know that master means a lot of different things: "animal owner", "an expert", "a tradesman", "postgraduate degree", "original", and many others (including dated definitions). Wiktionary lists 21 definitions, only one of which is slave owner.
It lists two which references "slave".
Definition 2 references slave owning, but that's irrelevant to the actual discussion here.
This thread is talking about definition 17:
> (engineering, computing) A device that is controlling other devices or is an authoritative source. > > Synonyms: coordinator, primary > Antonyms: secondary, slave, worker
---------------------------
> I really hate how people pretend to be stupid and not know that master means a lot of different things
"Master" meaning different things is exactly the problem.
Even if we limit ourselves specifically to definition 17, it still means too many things. It's overloaded to the point that it doesn't accurately describe the systems where it's used.