| There is a logical goal, but first one thing to address: 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.