I've never thought master/slave offensive in the context of computers. Those words imposed their inoffensive meaning in the culture of computer users for half a century. Now they just ruined it, they actually changed the context to make those words offensive again. Sometimes you just have to fight the cultural battle.
https://en.m.wikipedia.org/wiki/Blacklisting#Origins_of_the_...
What's next, blackboards and whiteboards? What about red-black trees? Do we really need to shuffle around well established non-offensive terms just because they have a color in their names?
If there was some truly offensive embedding in our nomenclature im all for removing it but this seems like a silly PR stunt. We're turning completely benign ideas into something offensive.
If you have seen a word used in a certain context enough it can become difficult to ignore that context in other uses. Similarly, after watching an actor play a role well it may be hard to separate them from that role while watching other movies.
It may also be useful to imagine master/slave replaced with words that are offensive to you to imagine what it’s like for someone else. For example, if they were called pimp/bitch servers I’m sure others would find that offensive.
Different sets of words will be offensive to different individuals. I’m sure we could find 2 words which are less offensive to all.
(1) There's no particular reason to start using the terms in a new project
(2) Leader/follower is much more accurate and clear than master/slave in basically every way
(3) It's a lot less difficult than I originally thought to fix legacy docs and code with nicer language
(4) The fact that master/slave has never bothered me personally has absolutely zero bearing on whether I should support their continued use.
I agree that "leader/follower" might be easier to grasp for someone who has never encountered these terms before, but it is also true that it causes a bit of confusion for more experienced engineers.
For example: if I am reading documentation about a hardware controller and find the "leader/follower" terms I would wonder (and, in fact, this has happened to me in the past) if they have the same meaning as "master/slave" or if the author has decided to use these other terms because there is some particular behavior quirk that applies to this hardware that I should be aware of.
All in all, you have to compare cons and pros and, for this particular context (engineering), I think correctness and lack of ambiguity is more important than "feelings"... but this is (obviously) just my personal opinion.
Master/slave was chosen on purpose because it is very clear, clearer than the alternative you suggest, and is no more offending that using Knight, gladiator, etc.
Sometimes we must realise that an issue lies with the people who are offended by anything and everything, not with what offends them.
That said, leader/follower and allowlist/blocklist are both better than the older terms in every way. The represent the actual mechanisms better and they're less metaphorical.
Not for me. A master is to me much more controlling than a leader. A follower is to me much more independent than a slave.
Again, take say i2c where the master is the only one who can initiate a transaction. Being an "i2c follower" doesn't convey to me that the follower is prohibited from initiating a transaction.
The controller/worker suggest by others is much better than leader/follower, but "worker" doesn't work very well in all cases IMO.
Also, when I'm working in a corporate hierarchy, I don't want to see the words "leader" and "follower" all day. But perhaps that is an intended side effect of that change.
As for blacklist/whitelist, my first thought was that I'd change it to allowlist/blocklist and sure enough that's exactly what they did.
There's nothing wrong with this change. If you have a problem with it you need to look deep inside yourself and reexamine your own biases. That's where the real problem lies.
> If you have a problem with it you need to look deep inside yourself and reexamine your own biases. That's where the real problem lies.
So if you are not happy with established terminology you change it but if someone else is not happy with the change he is biased?
There are valid reason to be bothered by the change itself, even if the new words are OK. For 1) from the leadership, it is intellectually weak/calculating and fear-based appeasement move to a vocal extremist ideology group; there was nothing wrong with those terms in those contexts. For 2) the change and the associated power play has divisive and desintegrative effect on the project. For 3) it is a nasty manipulation of decent people, unaware of the political power game that is the real motivation behind these calls for new, better terms.
But primary/secondary doesn't mean the same as master/slave.
Consider master/slave from say i2c protocol. Switching to primary/secondary would completely obscure what is going on, you might as well call them apple/orange, while with master and slave it is very clear.
So I guess it's "take it or leave it".
For example, as an European, when someone says "slave", I immediately think about ancient Rome. To think that in the USA you had slaves only recently always strikes me as really strange. To say nothing about the segregation period quite recently.
In any case, I still wonder: you can remove these words from software and try to banish their current metaphorical usage. But will it really make a difference to your history? These seems like nervous attempts at "making everything right" in a situation where no right can be made - at least there is no easy way to do so.
Sorry but I must disagree. The U.S. slave era was not uniquely American. Who operated those slave ships to "import" the blacks from Africa? It wasn't the Americans. No, the Dutch had a big role, as did other cultures.
And as the protests around the world have demonstrated, racial discrimination is a global issue with similar problems in many countries to what you see happening in the States.
I, as a human, love being a master to my computer slaves.
Anyway, allowlist and blocklist are more self-explanatory than whitelist and blacklist, so this change has negative cost.
No, it does not. All changes have cost. They just can't see it now, or chose not to see it now. Aside from the obvious cost in the very same patchset.
Is blacklist/whitelist inherently racist, or does it have racist origins? Try as I might I don’t see inherent bias in it.
I mean, if it was a library or a DB sure, but these seem to be more in the language core.