It would be better if we completely abandoned that terminology.
1: https://news.ycombinator.com/item?id=31341392
2: https://news.ycombinator.com/item?id=31341661
3: https://news.ycombinator.com/item?id=31340318
Not pointlessly redefining words that have no ill intent in the first place and harassing people that don't use the words you decided were proper.
Ignoring connotations, master/slave is pretty unclear to me and needs more explanation. I've seen it used to describe:
* a coordinator with a worker pool in which the coordinator sends jobs to the workers for actual computation
* a designation of where on the bus a device sits
* a designation of which copy is the source of truth/gets writes (master) compared to the read only copies
* a designation of which instance is currently doing the work vs which is the standby in an active-active failover
Yes those are all similar, but it's annoying to hear someone say "this is configured in a typical master/slave pattern" only to be left wondering which of the above applies.
I guess we could make some sort of purity argument about which of these is the one-true use for master/slave. Or we could differentiate the cases with more applicable and descriptive words. As a bonus some folks aren't offended.
> * a designation of where on the bus a device sits
I see, you're worried people will get this mixed up with Rosa Parks?
Honestly, it feels like the PC brigade is really having to bend over backwards to find arguments. That should tell them something.
> Or we could differentiate the cases with more applicable and descriptive words.
So you get Primary / Secondary or Main / Secondary... For all of your above cases. I don't quite see how that differentiates them.
Hey, some people are still hosting their databases on clunky old IDE hard drives! Let's not be insensitive to their lived experience for the sake of technical novelty.