At a previous job, a coworker presented a compelling argument for removing "whitelist" and "blacklist" terminology from our codebases / jargon. Even though the etymologies of the words don't describe them as being based on race / racial judgments, their first recorded usages were in the 16th-17th centuries, when mass enslavement was in full swing. Setting aside the historical context, they also help reenforce the idea of "white is good, black is bad" [0].
At that job we moved to terms like excludeList, allowList, denyList, etc.
Purely from a clarity standpoint, I'm in favor of killing off whitelist/blacklist. They just introduce an extra step in figuring out what something is—whitelist usually means stuff to allow, blacklist is stuff to deny, but I at least have to dig that up from memory since white/black don't mean that at all. Exclude, allow, deny, ignore, block, etc. are all more obvious, and in many cases more descriptive. In most cases, simply replacing "blacklist" with "blocklist" helps. Though I have more trouble with "whitelist", since it doesn't directly suggest anything to me; I have to contrast it with a blacklist, and then remember what blacklist means (for authors or actors or whatever), and then map it back to what's actually going on. (For whatever reason, I have less trouble with using "whitelist/whitelisted" as a verb.) Please please use a term that describes what you're actually doing with the list.
Don't get me started on "false positive/false negative"...
> whitelist usually means stuff to allow, blacklist is stuff to deny, but I at least have to dig that up from memory since white/black don't mean that at all.
Isn't that true for most words/phrases? No words inherently mean anything. We assign meaning to them. I suppose that if enough people settle on a replacement for 'whitelist' and 'blacklist' those words will be limited to history, but right now it will mean being forced to remember multiple phrases for the same thing since others will certainly still use the current terms.
In the context of your own use/code it doesn't matter much, but every mail provider (just one example) will be dealing with blacklists that describe themselves as such and incoming requests from people looking to be whitelisted which means they'll still have to take whatever steps are needed to recall what those words mean, and must still be trained on the meaning of those words, all while still having to remember not to use those words in their own writing/code/documentation and having to remember what new words they should replace them with/translate them as.
Maybe there is too much jargon in tech in general, and I certainty don't object to efforts to reduce it, but I don't see it as saving anybody much time/effort in the near term.
> Even though the etymologies of the words don't describe them as being based on race / racial judgments
Then why should we change them? I know you said:
> Setting aside the historical context, they also help reenforce the idea of "white is good, black is bad"
But if we can't trust people to infer a word's meaning based on the context, we have a much bigger problem imo. Another example of this is the word gentleman. If you refer to a gentleman's club, that's a very different thing than calling a man a gentleman. We trust that English speaking people don't start conflating the two contexts together, because most people possess the basic ability to understand the idea of context.
I don't get when or why we suddenly decided that people can't infer the context of words. And in this specific case, if you can't infer that a blacklist is not a racial insult, but just a term that denotes a list of denials, then you have some other issues to sort out.
Put another way, should we stop referring to profitable markets as markets in the black[1] because they put a positive spin on the color black? No, it's just dumb. I trust that the average human is capable of parsing out an inferred context of a common phrase in their native language.
Furthermore, master isn't even synonymous with slavery[2]. We have "a master craftsman" and "master chefs", which aren't evil. The word "boss" is also derived from master[0], but I'm sure we would all agree that it's ridiculous to remove the word "boss" from our vernacular because it may have been used to denote something else in the past, and that thing it denoted (master) was used to denote a specific use of the word (slave master) at some point in a specific time of history that was also a bad thing.
Edit: I'd also like to add that colors denote a certain symbolism (that may vary across cultures), and has nothing to do with racist intent. White has been used for centuries to denote purity, and black is the opposite of that. People aren't black/white in that sense, because skin color isn't even black/white in that sense. The Bible refers to white as a symbol of purity, but the Jews were not "white" by any means. And apparently in Chinese culture, black is associated with heaven[3]. That doesn't mean that your skin color makes you "heavenly" or "evil". I trust the average person is able to infer context.
First, because there often isn't a context where the word has the correct meaning in the first place. If you have a list of disallowed curse word substrings and Dr. Theodore Fucknuckett gets upset at not being allowed to login, then adding "Fucknuckett" to something called a "whitelist" is using a somewhat tenuous connection to the meaning of whitelist. "Allowlist" is more direct. Also, I just made it up, and I gotta say that Dr. Ted has an awesome last name that I'm going to have to reuse for something sometime.
Dictionary meaning of whitelist:
1. A list of people or organizations that have been approved to receive special considerations or privileges.
2. A list or collection of people or entities that are known, trusted, or explicitly permitted.
Are you giving the word "Fucknuckett" special privileges? Sorta. Is Dr. Fucknuckett explicity permitted? Kinda. His name is, at least.
Master vs slave is different but similar. They are often used in a somewhat strained metaphorical way. There are often better terms. Client/server, primary/secondary, primary/replicant, authoritative/copy. (I don't actually have a problem with "master copy".)
Second, often the only context from which you are deriving meaning is the slavery meaning of master/slave. A master/slave database setup gets its meaning from the master telling the slaves what to do. And once again, it's a strained metaphor, since the significance of the master/slave setup is usually about the data, not the control.
Anyway, the point is that other definitions of the word "master" are irrelevant if you're drawing upon the slavery meaning in the first place.
Those don't invalidate your argument, but if you're balancing the usefulness of terms against potential offense or whatever—well, I argue that the usefulness is not all that high.
Third, relying on the cultural meaning of colors is problematic for the very reasons you cite. I'll give another: Lucifer means "light-bringer". How is anyone supposed to guess which meaning you're drawing upon for a given context unless they already know?
I also happen to be sympathetic to the argument that introducing more negative associations to the word "black" is a problem, given the large number that are already in use. But I'm not arguing that here; I'm just arguing that these words and contexts aren't useful in the first place. And that when the context *is useful, it's very often drawing upon the slavery meaning. (Whether that's a reason to stop using it is a separate question.)
> A master/slave database setup gets its meaning from the master telling the slaves what to do.
This I agree with. I suppose my problem is that whatever you decide to call it, that dynamic doesn't change. Although I've yet to see an article on the subject of the use of Master/Slave in computing which doesn't bring up America's historical use of slaves, the dynamic being described is older than humanity itself.
Simply calling a thing something else is never going to be enough when the problem people have is with the very concept of the thing being renamed. It's doomed to fall victim to the euphemism treadmill. No matter how abstract and convoluted our terminology gets trying to avoid talking about it, what we're describing is still right there in our faces. Rather than try to pretend the very concept of Slaves and Masters doesn't exist, it'll save a hell of a lot of time to just continue to call it what it is plainly.
> First, because there often isn't a context where the word has the correct meaning in the first place.
In this case, there's an unequivocally correct meaning to the term blacklist and whitelist that has nothing to do with race. Take the popular show The Blacklist[0], which goes so far as to title itself Blacklist, and I'm assuming it's because blacklist is such a well known term that immediately tells you what the show will be about.
> (I don't actually have a problem with "master copy".)
Isn't this exactly what a "master" branch is supposed to indicate? I was under the assumption that this is exactly why the name "master" branch was chosen. We don't have a master branch commanding slave branches how to code themselves. We have a master source of truth that all the sub branches derive from and eventually merge back into.
> A master/slave database setup gets its meaning from the master telling the slaves what to do
Fortunately I've never run into this naming schema for databases. Typically its a production, development, QA, etc for databases.
> Third, relying on the cultural meaning of colors is problematic for the very reasons you cite
Well this is the whole point of language. Of course I'm not going to understand the subtle cultural references in South Korean culture, because I'm not South Korean. Likewise I wouldn't expect people from different cultures to understand my cultural nuances. That's why good communicators tailor their speech to their audience.
This doesn't mean you can't use cultural references though. And it certainly doesn't mean that one culture can impose arbitrary language constructions on another culture because their offended by the meaning. Mature people will usually tell the offender that they've been offended. Then the offender should be able to explain they meant no offense, in my culture this term means this. And if the offended person understands different cultures have different contexts, then they can happily move on with their life and understand that specific subtlety.
My biggest complaint is nobody is asking to change these terms because they've suddenly been deemed inadequate at explaining the concept. People are trying to change these terms in the name of "social justice". If people can't understand that language evolves over time, and they can't separate their emotions from simply understanding the context of the situation, then we have much bigger problems.
How are we supposed to study earlier works of literature that have ugly things in it? As we've seen with To Kill a Mockingbird, people are trying to tear everything down, even though the book is about the evil of racism! [1]
This author writes a more nuanced article on why changing language for social justice is a bad idea [2]. All in all, we need to stop injecting racism into everything. It's getting to the point where we can't say black because that my offend somebody, and that my friend, is insane lol.
I've always felt the more compelling reason is that a blacklist is never a list of black items.
The amount of times I've seen a blacklist used as a list of users that are denied a restriction (i.e. double-negative -- able to do something) is too many.
> I've always felt the more compelling reason is that a blacklist is never a list of black items.
Why assume it's the items that should be black and not the list itself?
Really, blacklists have nothing to do with the color of lists or the items. It's from the 1400s when "black" was used to mean "censured or disgraced". We see that in phrases like "Black Mark" (as in "a black mark on your record") where at least the mark presumably had a color (“a black cross or other mark made against the name of a person who has incurred censure, penalty, etc.,”).
In that context it makes perfect sense for a blacklist to be a list of things which are being penalized/censured and for an opposite list to be described with the opposite color.
imo the more compelling argument is that the first time you hear "whitelist/blacklist" you have to ask what each means (at least I did). AllowList and DenyList are names that say exactly what the mechanism is.
At a previous job, a coworker presented a compelling argument for removing "whitelist" and "blacklist" terminology from our codebases / jargon. Even though the etymologies of the words don't describe them as being based on race / racial judgments, their first recorded usages were in the 16th-17th centuries, when mass enslavement was in full swing. Setting aside the historical context, they also help reenforce the idea of "white is good, black is bad" [0].
At that job we moved to terms like excludeList, allowList, denyList, etc.
[0] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/