Don't know why people here got triggered by DEI, but the "master" naming is just bad, "main" is actually a better and more generic description.
The word "master" means someone/thing that has the capability of controlling things, like "Mastered", "Master Degree" etc.
But in most Git contexts, "master" is just "one of the breach that we hand picked to put our finest results in", that's not mastering anything, it just means "if you know what's best for you (or not), just use this one".
Another similar wording is in IDE hard drives. Remember the fun time where you can to setup jumpers before your secondary IDE hard drive would work? Yeah that secondary drive is called "slave". I'm still confused why the first drive must be called "master" since I never see it whipping any other drives to make them work harder or really doing anything that's remotely controlling.
The computer guys in the old times really have a weird taste in naming things.
I think you're missing the historical context[0]. It came from "master-slave architecture" which has an older history. It's why we refer to a master copy of a photo or document too.
I really don't care if it's main or master tbh. But is anyone actually offended?
Well said. I think the slavery connotations in Git are not a big deal. But I have always disliked the word "master" because it never seemed well-suited for what role it played in the version control sphere. Labels like "main" or "primary" always seemed like better words to me, so I am glad that this change was made.
For IDE you are mixing up 2 separate concepts. The addressing primary/secondary is purely addressing, I don't recall seeing "Master/Slave" in relation to that. Labeling on HDDs I've seen always used primary/secondary
Where the master terminology comes in is that a certain version of ATA added bus mastering DMA from the drive. Maybe some harddisks had a jumper to disable or enable that
This is verifiably untrue. Older IDE hard drives commonly used master and slave on their printed labels instead of primary and secondary. Google “ide drive master slave” images and you’ll see plenty of examples.
I don’t say this to justify sticking with the older terms, just to assert that they were actually used.
There is a double confusion here because "primary" and "secondary" were used to refer to IDE channels. Most machines had two IDE channels (i.e. physical connectors on the controller card), each of which could have a master and slave device (two connectors on the cable).
So you have IDE0, primary, and IDE1, secondary. For the four devices a typical system would support, they would be referred to as primary master, primary slave, secondary master and secondary slave. This was extremely accepted terminology.
Newer machines and BIOSes could usually boot from any of these four devices but originally, many machines could only boot the primary master. That's why it's the master and the other one is the slave -- it is subservient in the sense that it can not be a boot drive and was usually used for secondary storage, not OS.
You betray your own ignorance. Master has been used historically to refer to the "final" or "canonical" copy. For example, you make copies of a CD based on the master. Creating that master copy is called mastering.
The word "master" stems from Latin, meaning "great" or "teacher". Just as teachers pass on knowledge to students, data is copied from the master.
Any slavery related connotations is insanely recent, and arguably manufactured specifically for the purpose of linguistic censorship. Historically, slave owners were referred to as... owners.
The "final" or "canonical" argument can only indicates that the word "master" has multiple meanings, which is not a really special. Tho, "Master Degree" really means teaching, my bad.
> Just as teachers pass on knowledge to students, data is copied from the master.
In the Git context, the "canonical" way to use git is that you merge/copy data _from_ other branches, such as `wip` or `dev`, _back to_ `master` or `main`, not the other way around.
All and all, it's done, OK? Don't like it? Hey, you can still use "master", just customize it. But you'll probably piss some people if you do, and then you have to dig out your dictionary again and again. Choice wisely.
The word "master" means someone/thing that has the capability of controlling things, like "Mastered", "Master Degree" etc.
But in most Git contexts, "master" is just "one of the breach that we hand picked to put our finest results in", that's not mastering anything, it just means "if you know what's best for you (or not), just use this one".
Another similar wording is in IDE hard drives. Remember the fun time where you can to setup jumpers before your secondary IDE hard drive would work? Yeah that secondary drive is called "slave". I'm still confused why the first drive must be called "master" since I never see it whipping any other drives to make them work harder or really doing anything that's remotely controlling.
The computer guys in the old times really have a weird taste in naming things.