It sounds way less offensive to those who decry the original terminology’s problematic roots but still keeps its meaning intact.
Active / passive means something different.
Master / slave means one thing tells the other thing what to do, and the other one does it without question. The slave is not passive in performing the task.
It’s a relationship that should never occur between humans, but it does occur with machines. The terms describe what is happening accurately. Other synonyms are approximations and lead to confusion in a field where confusions cause bugs / failures and depending on what you’re working on, that could put lives in danger. Do you really want such confusion around the systems of an airliner, where everything has redundancy, master/slave relationships are common and something being passive means “it’s only monitoring what’s going on”?
You want more Boeings? Shit like this is a good way of getting there.
I seem to have stumbled into an argument that people are more passionate about than me. I mentioned I’d seen ‘active/passive’ used (in computer networking), and in that context, it ‘seems alright’ (in the sense of actively giving demands, vs. passively accepting them [and doing what it’s told, of course])
If someone has made good-faith request not to use certain terminology (like Master/Slave), then I’m generally more interested in finding acceptable alternatives than I am in dismissing their concerns outright. If, at the end of a proper search for alternatives, nothing suitable can be found, then fair enough. I’d question the idea that it’s really impossible to find something else though, but - for now at least - I’m sure that Dom/Sub isn’t it.
Same here - I’m more interested in a suitable alternative than to argue whether they are justified in their concerns.
I don’t think there’s a single right answer though. This terminology is used in many scenarios, each a little different and each with a potentially different answer
- Most git distributions now default to “main” and some variation of branch. It was a trivial change and seems as meaningful.
- Jenkins changed from master-slave, to controller-agent (or node). I’m still getting used to it but no big deal.
- Many DB or service distributed systems changed from master-slave(s) to primary-replica(s) and that also works
Wait until you find out how many programmers don’t even speak English. They must not be able to understand any of this if it’s so confusing to native speakers, right?
The consequence of updating language is not plane crashes. You need to update the version of the human interaction API that you’re using.