I think the money quote is "By banning those words, you’re giving them the meaning you don’t want them to have." When I use "master/slave", it's not because I'm an insensitive asshole, it's because it has a distinct, technical meaning that has nothing to do with the topic you might think it does.
And thus it comes down to, "I have chosen for that word to have this particular meaning (and only that meaning), which I find offensive, therefore please don't use it anymore.", knowing full well that the speaker meant no offense when they were discussing the new drive layout. I'm not completely unsympathetic, but I sometimes feel the sympathy only goes one way.
Software engineering is undergoing a (nother) cultural change. More people than ever before are engineers and are participating in its culture, bringing their own perspectives and experiences with them. Consequently, a lot more people are weighing in on what is and isn't acceptable. This is good! Diversity breeds strength, and while it can be tumultuous it's always worth it.
Language changes too. There are all kinds of words we used to use that, for one reason or another, we just don't use anymore. And if you happen to use one, reactions range from "woof what an anachronism" to "yikes that's bigoted".
> I'm not completely unsympathetic, but I sometimes feel the sympathy only goes one way.
Yeah I can understand. But I think the asymmetry is because the issue itself is asymmetrical. On one hand it feels like busy work to go and change master/slave to primary/secondary or whatever, and it can also feel a little insulting to be accused of racism (or at least insensitivity or ignorance) for using those terms when some of them are more or less terms of art.
On the other, at least master/slave has some implications that are pretty disgusting. They're not engineering terms. They're terms that invoke some of the most brutal human regimes in history. They've been reappropriated rather clumsily to represent a controller/controllee relationship, but make no mistake: they refer specifically to a power structure that gave one human being complete dominion over another -- and often that dominion was misused to an extreme, violent degree.
So that's where the asymmetry comes from. Essentially it's a couple of sed commands vs. casually invoking (and thus encoding into our software) a history of crushing oppression.
Do you want to have control over not only the used terms, but even the thought constructs that they represent?
Most peoples throughout history have been enslaved at one time or another. Most peoples have waged war on one another, most of them brutal and prolonged. A small percentage do criminal acts even in peace time. Do you want to ban/replace terms like war, battle, kill also?
That's a fair question, and the answer is that cultural change is never "done", nor does it move in a single direction. I would imagine in 20 years our culture will be significantly different than it is now. I hope it's more tolerant, kind, and understanding, but there's no guarantee.
> Do you want to have control over not only the used terms, but even the thought constructs that they represent?
I'm not super sure what you mean by this. I'm pretty ok with thought constructs. Where I draw a line is introducing them insensitively or harmfully. Like, feel free to think anything you like at a wedding, but maybe keep your cynicism about love and connection to yourself for the duration.
> Most peoples throughout history have been enslaved at one time or another. Most peoples have waged war on one another, most of them brutal and prolonged. A small percentage do criminal acts even in peace time. Do you want to ban/replace terms like war, battle, kill also?
I get where you're coming from, and I do think in some circumstances that might be appropriate. Consider if you were building an app for refugees from a war that's killed millions, and you, for whatever reason, needed some ranking algorithm and called it ThingWar (whatever "Thing" would really be). Is it the worst thing in the world? Nah, but it is a little oblivious.
All I'm saying is that the legacy of Atlantic slavery still exerts a strong force on the lives of millions and millions of people. We should be sensitive to that.
You are free to fork the projects, that use "insensitive" terms, run sed on them, then test the result, and send pull requests. Other people then are free to reject your changes if they want, and you will be wrong to attack them for their choice.
Programming (and thinking in general) is hard enough. Have some compassion for your fellow programmers, and please do not make it even harder, by insisting on clouding our thoughts with bullshit political correctness ideas and demands that have nothing to do with programming and everything to do with empty virtue signaling.
I wish you would be a little more open minded, and I'm sorry that since you're not it seems we can't have a productive discussion.
> You are free to fork the projects, that use "insensitive" terms, run sed on them, then test the result, and send pull requests. Other people then are free to reject your changes if they want, and you will be wrong to attack them for their choice.
This is more than a little disingenuous. Would this really work for something like Redis, or is it that you know it wouldn't and you're advancing it as a non-solution because you think this is all, in your words, "bullshit political correctness"?
Lol... these words were originally written by you, don't you remember ;-) ???
I only suggested, that YOU actually do the work for what you want, and then freely offer the result to be merged in the upstream project(s)... Be the change that you want to see in the world and all that jazz...
I do think, that it is highly likely that your changes would not be merged for most projects, but of course I may be wrong. If so, more power to you ... just please do not expect others to do what you want, just because of your feelings and sensibilities. You can even pay someone qualified to do the changes, if you can not for one reason or another.
Woof, sorry I misread a little; I thought you were advocating a full fork.
I know sometimes people file issues about language, but I've seen PRs for it too. I think this taps a little into the general sentiment that open source maintainers are doing a lot of work mostly for free and are therefore pretty (maybe overly) sensitive to people asking for changes, but that's kind of a separate issue. What I take issue with is:
> Other people then are free to reject your changes if they want, and you will be wrong to attack them for their choice.
First, I don't know if I'd use the word "attack" here, but that aside, I think leaving language like "master/slave" is wrong, even if a project chooses to. Just like I think leaving a buffer overflow in would be wrong.
I guess, thinking through it, you're taking issue with someone else setting a maintainer's priorities. I don't think filing issues is really doing that -- there are lots of issues on lots of projects, and if anything most people like it when they're filed because it helps them to improve their software.
And if you file an issue and no one touches it, even after months, it's natural to wonder if the team cares about the same things you care about. At some point, maybe after a couple pings or whatever, it's reasonable to conclude that they don't.
Is saying so an attack? I would argue that happens all the time with technical issues and our community doesn't find it exceptional. But when it comes to this language stuff, it seems like it's treated like a special case.
> just please do not expect others to do what you want, just because of your feelings and sensibilities
The issue of colonial language in software is about much more than "feelings and sensibilities". I'd encourage you to read up on how the language we use shapes the way we think about basically everything and thus how we behave. It's far too important to be dismissed.
>> I guess, thinking through it, you're taking issue with someone else setting a maintainer's priorities.
You understood that very well. If you want a project to fulfill your desires, either you do the work and preferably submit it upstream, or you sponsor the change. Filing an issue for the purpose of changing the language/concepts used in a project, to me reeks of very toxic entitlement.
As you said yourself, "the language we use shapes the way we think about basically everything and thus how we behave" (otherwise known as 'Sapir-Whorf Hypothesis'). Thus demands for change of language are in fact demands for control/power over others, the clarity of their thoughts, their actions, ultimately their realities, do you agree with that ???
I have no issue, if you propose better terms, which more accurately describe the concepts which we refer to, when we use terms as "master/slave" relationship, but so far you have not done so. If you do and promote the new terms, then may be gradually people will use them instead.
> And thus it comes down to, "I have chosen for that word to have this particular meaning (and only that meaning), which I find offensive, therefore please don't use it anymore.", knowing full well that the speaker meant no offense when they were discussing the new drive layout. I'm not completely unsympathetic, but I sometimes feel the sympathy only goes one way.
No, it's the other way around. Engineers did not invent these terms. More like, ""I have chosen to use a word with a particular nonstandard meaning (and only that meaning), if you find it offensive, it's your fault for not ignoring the rest of the English language like I do."
This excuse didn't work when you used it to justify saying "ass" and "bitch" in elementary school, and it certainly doesn't in the workplace.
But ass and bitch are not a good comparison to phrases such as master/slave, which have a rich history in programming and convey meaning that would be difficult to replace. Master/slave tells me that an entity controls another entity unconditionally. This is a critical aspect of the relevant relationship, and I know of no other phrase that conveys this meaning nearly so well. Obviously we use the same words to describe a similar relationship between human slaves and masters. There's no rational reason to forbid technically useful and precise language, just because it also describes something else that we don't like.
This excuse didn't work when you used it to justify saying "ass" and "bitch" in elementary school
Comparing my argument to that of grade school children isn't going to win me over. If that's your understanding of the nuanced differences, perhaps I'll let you have that one and just go on about my day as no minds are going to get changed here.
We're actually accumulating quite a list of these "stop" words. I can think of dozens off of the top of my head, many of which don't seem obviously problematic, but could easily get a person fired if used in the wrong context.
It'd be nice to have a curated list. In theory, both pro- and anti-PC folks ought to agree on that.
Thing with making lists is they get outdated and somebody has to decide when to change them. Euphemisms are constantly turning into slurs and slurs into curse words.
hey, if it‘s just technical, why not switch to ,nazi‘ and ,jew‘ for strictly technical uses! If you only talk technical context, who should have the right to be offended, right?
It's not about intention. Nobody believes that the words "master" and "slave" are intended to cause racial stress in a technical context -- but that's not the point. The point is that these words do not exist in a vacuum, and for many people words like "master" and "slave" do in fact evoke historically-grounded feelings of discomfort, even when that isn't the intent.
When someone says "hey, I feel hurt when you use that term", the correct response (imo) is to do your best to stop using the term. It's a small sacrifice to make other people feel safer, and that's absolutely worth it.
>>for many people words like "master" and "slave" do in fact evoke historically-grounded feelings of discomfort, even when that isn't the intent
So what? Most peoples (all?) in history have been enslaved at one time or another. Some people are right now!
I understand that it is easier to protest against word usage in freaking source files/documentation, in a field where most people are very agreeable and soft and want to accomodate everyone, even to their own detriment, than to protest against real existing problems, but come on ...
Sure. My ancestors were enslaved by the British. The difference is that I do not face discrimination today as a result of that. For black people in the US today, that's not the case -- the effects of slavery are still systemic issues.
I mean, yeah, if you truly feel hurt when I use that word, I won't use it around you. Absolutely. It's more important to me that the people around me feel heard and seen than for me to get to use a particular word.
If a whole group of people say "hey this word makes me feel uncomfortable of hurt," then I try to modify my vocabulary accordingly and eliminate it.
This is a fucking awful blog post. Just because you aren’t offended by it doesn’t mean it shouldn’t be changed. That’s an awful argument.
It’s trivial to avoid these racially charged words when programming. So just do it.
Like, if a subordinate at work came to me and was like, “I wish we could do X, it would make me feel better about working here,” and X is some trivial thing, it kind of doesn’t matter what it is. It doesn’t matter if I don’t understand it. I just fucking do it. It’s trivial, it makes them happy. It costs me nothing to do. I happily pay $0 to make a happier employee.
This principle isn’t hard, and pays huge dividends in life: listen to people, and when they tell you something bothers them and it costs you little to fix, fix it, even if you don’t understand it.
I don't know, I can see why words which have absolutely no intent of being racist are associated with racism. Is it any more offensive than calling a node with no parent (which is going to be garbage collected) an orphan node? Or using 'kill' to end a process or (to be ridiculous) separating things by "Class", and calling things equal (instead of different or not different)
Intent is everything and giving into pressure like this just reinforces consideration of every word you speak or write and in what possible dimension it can be deemed offensive. In your life you can contort your language and behavior to please everybody but at some point you are no longer behaving for yourself but for everyone else. You have to pretend like you want to speak different pronouns, you have to pretend that calling someone black is much more offensive than calling them African American. You have to make sure that you specifically don't interrupt women, you have to double check (and counter) your implicit bias towards women and minorities when you think they didn't do a good job in the interview.
Some of these things are hyperbole and some of them are not. I know the standard response is that I'm over exaggerating but its par for the course to get diversity training, to have quarterly updates on how more women are being hired! (as if the company were actually eliminating discrimination instead of just bumping numbers up). This is all new and its moving faster and faster.
Would you stop using the word “fucking”? Do you think anyone is offended by it? Probably not since it’s so pervasive. In this case when you immediately use it to dismiss what the other side is saying it can alienate others from learning and changing their perspective.
I understand that it seems easy to accommodate this one simple request, because that's just the one that article discusses. However the folks who really push this nonsense won't stop at program code, and they won't stop at racial sensitivity. Be prepared to scrub all of your user documentation, design documents, and marketing material as well. Be prepared to accommodate the charismatic christians who take offense to references to daemons and 666 file access permissions (I personally know such people). Be prepared to accommodate such sensitive (and politically powerful) individuals as Dallas County Commissioner John Wiley Price, who will publicly label you a racist if you utter the phrase "black hole", in either a scientific context or to describe an inefficient process [1]. Be prepared to police office communication to minimize gendered language; phrases such as "man-hours" and "you guys" are often used as examples of sexist language. On and on.
How do you feel about changing for example "race condition", or "controller" or "model" (which may be offensive for fat people, could remind them of fat shaming), or heck, even "server" next?
Will you still support this?
This game does not end well. The best move is not to start it at all.
The mistake you make is that you expect banning these specific words will satisfy their problem.
Time and time again this has been shown to be wrong. There is not some objective wrong being righted, there is just a subjective irritation being magnified because it makes people feel self important to have a pet issue they can parade around for pity and to gloat when they get their way.
Listening to people means listening to everyone, and that includes all the ones who have learned it's better to shut up lest they become the target of these moral bullies. Especially because you actually need to make an effort to hear them, as opposed to those 'victims' with suspiciously loud and wide reach.
I do understand it. That's why
I say no.
But take your own advice: when people say these neo-puritans bother them, and that the fix costs as little as just saying no to a handful of busybodies ruining it for everyone, why not listen to _them_ and fix it?
See, your justification is not a justification at all. It's just a rationalization, based on a preconception of what kind of offense, taken by what kind of person, is valid in the first place.
> Many places are named after famous slaves that successfully fleed their master.
This is great for La Réunion, but many places in the US are named for slaveholders, or even generals who fought to preserve institutionalized slavery. There are monuments to these monsters all over and people still proudly display their traitorous flag. We're touchy about this subject for good reason.
35 comments
[ 3.4 ms ] story [ 85.2 ms ] threadAnd thus it comes down to, "I have chosen for that word to have this particular meaning (and only that meaning), which I find offensive, therefore please don't use it anymore.", knowing full well that the speaker meant no offense when they were discussing the new drive layout. I'm not completely unsympathetic, but I sometimes feel the sympathy only goes one way.
Language changes too. There are all kinds of words we used to use that, for one reason or another, we just don't use anymore. And if you happen to use one, reactions range from "woof what an anachronism" to "yikes that's bigoted".
> I'm not completely unsympathetic, but I sometimes feel the sympathy only goes one way.
Yeah I can understand. But I think the asymmetry is because the issue itself is asymmetrical. On one hand it feels like busy work to go and change master/slave to primary/secondary or whatever, and it can also feel a little insulting to be accused of racism (or at least insensitivity or ignorance) for using those terms when some of them are more or less terms of art.
On the other, at least master/slave has some implications that are pretty disgusting. They're not engineering terms. They're terms that invoke some of the most brutal human regimes in history. They've been reappropriated rather clumsily to represent a controller/controllee relationship, but make no mistake: they refer specifically to a power structure that gave one human being complete dominion over another -- and often that dominion was misused to an extreme, violent degree.
So that's where the asymmetry comes from. Essentially it's a couple of sed commands vs. casually invoking (and thus encoding into our software) a history of crushing oppression.
Do you want to have control over not only the used terms, but even the thought constructs that they represent?
Most peoples throughout history have been enslaved at one time or another. Most peoples have waged war on one another, most of them brutal and prolonged. A small percentage do criminal acts even in peace time. Do you want to ban/replace terms like war, battle, kill also?
That's a fair question, and the answer is that cultural change is never "done", nor does it move in a single direction. I would imagine in 20 years our culture will be significantly different than it is now. I hope it's more tolerant, kind, and understanding, but there's no guarantee.
> Do you want to have control over not only the used terms, but even the thought constructs that they represent?
I'm not super sure what you mean by this. I'm pretty ok with thought constructs. Where I draw a line is introducing them insensitively or harmfully. Like, feel free to think anything you like at a wedding, but maybe keep your cynicism about love and connection to yourself for the duration.
> Most peoples throughout history have been enslaved at one time or another. Most peoples have waged war on one another, most of them brutal and prolonged. A small percentage do criminal acts even in peace time. Do you want to ban/replace terms like war, battle, kill also?
I get where you're coming from, and I do think in some circumstances that might be appropriate. Consider if you were building an app for refugees from a war that's killed millions, and you, for whatever reason, needed some ranking algorithm and called it ThingWar (whatever "Thing" would really be). Is it the worst thing in the world? Nah, but it is a little oblivious.
All I'm saying is that the legacy of Atlantic slavery still exerts a strong force on the lives of millions and millions of people. We should be sensitive to that.
Programming (and thinking in general) is hard enough. Have some compassion for your fellow programmers, and please do not make it even harder, by insisting on clouding our thoughts with bullshit political correctness ideas and demands that have nothing to do with programming and everything to do with empty virtue signaling.
> empty virtue signaling
I wish you would be a little more open minded, and I'm sorry that since you're not it seems we can't have a productive discussion.
> You are free to fork the projects, that use "insensitive" terms, run sed on them, then test the result, and send pull requests. Other people then are free to reject your changes if they want, and you will be wrong to attack them for their choice.
This is more than a little disingenuous. Would this really work for something like Redis, or is it that you know it wouldn't and you're advancing it as a non-solution because you think this is all, in your words, "bullshit political correctness"?
Lol... these words were originally written by you, don't you remember ;-) ???
I only suggested, that YOU actually do the work for what you want, and then freely offer the result to be merged in the upstream project(s)... Be the change that you want to see in the world and all that jazz...
I do think, that it is highly likely that your changes would not be merged for most projects, but of course I may be wrong. If so, more power to you ... just please do not expect others to do what you want, just because of your feelings and sensibilities. You can even pay someone qualified to do the changes, if you can not for one reason or another.
I know sometimes people file issues about language, but I've seen PRs for it too. I think this taps a little into the general sentiment that open source maintainers are doing a lot of work mostly for free and are therefore pretty (maybe overly) sensitive to people asking for changes, but that's kind of a separate issue. What I take issue with is:
> Other people then are free to reject your changes if they want, and you will be wrong to attack them for their choice.
First, I don't know if I'd use the word "attack" here, but that aside, I think leaving language like "master/slave" is wrong, even if a project chooses to. Just like I think leaving a buffer overflow in would be wrong.
I guess, thinking through it, you're taking issue with someone else setting a maintainer's priorities. I don't think filing issues is really doing that -- there are lots of issues on lots of projects, and if anything most people like it when they're filed because it helps them to improve their software.
And if you file an issue and no one touches it, even after months, it's natural to wonder if the team cares about the same things you care about. At some point, maybe after a couple pings or whatever, it's reasonable to conclude that they don't.
Is saying so an attack? I would argue that happens all the time with technical issues and our community doesn't find it exceptional. But when it comes to this language stuff, it seems like it's treated like a special case.
> just please do not expect others to do what you want, just because of your feelings and sensibilities
The issue of colonial language in software is about much more than "feelings and sensibilities". I'd encourage you to read up on how the language we use shapes the way we think about basically everything and thus how we behave. It's far too important to be dismissed.
You understood that very well. If you want a project to fulfill your desires, either you do the work and preferably submit it upstream, or you sponsor the change. Filing an issue for the purpose of changing the language/concepts used in a project, to me reeks of very toxic entitlement.
As you said yourself, "the language we use shapes the way we think about basically everything and thus how we behave" (otherwise known as 'Sapir-Whorf Hypothesis'). Thus demands for change of language are in fact demands for control/power over others, the clarity of their thoughts, their actions, ultimately their realities, do you agree with that ???
I have no issue, if you propose better terms, which more accurately describe the concepts which we refer to, when we use terms as "master/slave" relationship, but so far you have not done so. If you do and promote the new terms, then may be gradually people will use them instead.
No, it's the other way around. Engineers did not invent these terms. More like, ""I have chosen to use a word with a particular nonstandard meaning (and only that meaning), if you find it offensive, it's your fault for not ignoring the rest of the English language like I do."
This excuse didn't work when you used it to justify saying "ass" and "bitch" in elementary school, and it certainly doesn't in the workplace.
Comparing my argument to that of grade school children isn't going to win me over. If that's your understanding of the nuanced differences, perhaps I'll let you have that one and just go on about my day as no minds are going to get changed here.
It'd be nice to have a curated list. In theory, both pro- and anti-PC folks ought to agree on that.
When someone says "hey, I feel hurt when you use that term", the correct response (imo) is to do your best to stop using the term. It's a small sacrifice to make other people feel safer, and that's absolutely worth it.
So what? Most peoples (all?) in history have been enslaved at one time or another. Some people are right now!
I understand that it is easier to protest against word usage in freaking source files/documentation, in a field where most people are very agreeable and soft and want to accomodate everyone, even to their own detriment, than to protest against real existing problems, but come on ...
If a whole group of people say "hey this word makes me feel uncomfortable of hurt," then I try to modify my vocabulary accordingly and eliminate it.
> words like "master" and "slave" do in fact evoke historically-grounded feelings of discomfort, even when that isn't the intent.
With your logic, we should stop teaching history, that way, these words would stop making people uncomfortable.
It’s trivial to avoid these racially charged words when programming. So just do it.
Like, if a subordinate at work came to me and was like, “I wish we could do X, it would make me feel better about working here,” and X is some trivial thing, it kind of doesn’t matter what it is. It doesn’t matter if I don’t understand it. I just fucking do it. It’s trivial, it makes them happy. It costs me nothing to do. I happily pay $0 to make a happier employee.
This principle isn’t hard, and pays huge dividends in life: listen to people, and when they tell you something bothers them and it costs you little to fix, fix it, even if you don’t understand it.
Intent is everything and giving into pressure like this just reinforces consideration of every word you speak or write and in what possible dimension it can be deemed offensive. In your life you can contort your language and behavior to please everybody but at some point you are no longer behaving for yourself but for everyone else. You have to pretend like you want to speak different pronouns, you have to pretend that calling someone black is much more offensive than calling them African American. You have to make sure that you specifically don't interrupt women, you have to double check (and counter) your implicit bias towards women and minorities when you think they didn't do a good job in the interview.
Some of these things are hyperbole and some of them are not. I know the standard response is that I'm over exaggerating but its par for the course to get diversity training, to have quarterly updates on how more women are being hired! (as if the company were actually eliminating discrimination instead of just bumping numbers up). This is all new and its moving faster and faster.
I understand that it seems easy to accommodate this one simple request, because that's just the one that article discusses. However the folks who really push this nonsense won't stop at program code, and they won't stop at racial sensitivity. Be prepared to scrub all of your user documentation, design documents, and marketing material as well. Be prepared to accommodate the charismatic christians who take offense to references to daemons and 666 file access permissions (I personally know such people). Be prepared to accommodate such sensitive (and politically powerful) individuals as Dallas County Commissioner John Wiley Price, who will publicly label you a racist if you utter the phrase "black hole", in either a scientific context or to describe an inefficient process [1]. Be prepared to police office communication to minimize gendered language; phrases such as "man-hours" and "you guys" are often used as examples of sexist language. On and on.
1 - https://www.npr.org/sections/newsandviews/2008/07/is_black_h...
Will you still support this?
This game does not end well. The best move is not to start it at all.
Time and time again this has been shown to be wrong. There is not some objective wrong being righted, there is just a subjective irritation being magnified because it makes people feel self important to have a pet issue they can parade around for pity and to gloat when they get their way.
Listening to people means listening to everyone, and that includes all the ones who have learned it's better to shut up lest they become the target of these moral bullies. Especially because you actually need to make an effort to hear them, as opposed to those 'victims' with suspiciously loud and wide reach.
I do understand it. That's why I say no.
But take your own advice: when people say these neo-puritans bother them, and that the fix costs as little as just saying no to a handful of busybodies ruining it for everyone, why not listen to _them_ and fix it?
See, your justification is not a justification at all. It's just a rationalization, based on a preconception of what kind of offense, taken by what kind of person, is valid in the first place.
Rewriting all those computer science books, dictionaries, retraining all those professors, rewriting all the software that uses these term.
> and pays huge dividends in life
Citation needed.
> listen to people, and when they tell you something bothers them and it costs you little to fix, fix it, even if you don’t understand it.
It costs you your freedom to say anything, which if you read some history books, you'll see that many people had to die for.
This is great for La Réunion, but many places in the US are named for slaveholders, or even generals who fought to preserve institutionalized slavery. There are monuments to these monsters all over and people still proudly display their traitorous flag. We're touchy about this subject for good reason.