Red Hat to remove contentious terms like master and slave from its source code
newsobserver.comIn discussions about this on social media, there's significant push back from those who are actually affected by the issues BLM is fighting for, who feel moves like this are more white guilt with no real change for what really matters. I'm sure an at-risk youth, when pulled over by two white police officers, is grateful that a bunch of highly paid programmers aren't subjected to politically incorrect variable names.
(edited: I referred to this group as "BLM core", but I realize that's confusing to some)
Please provide a link to support your assertion that "the BLM core" is giving "significant push back".
Why would anyone waste time complaining about this, especially BLM organizers?
The feeling of shallowness. It's the equivalence of a corporation showing their support for DREAMers by adding tex-mex options in the company cafeteria.
I think maybe a better question/support would be evidence that anybody besides corporate diversity teams have said this is a problem.
To be clear- I also think the terms are problematic and my company is also pushing for it. But I think it's worth asking whether we're speaking over actual black people. It does give off pretty heavy white guilt vibes.
Edit: I think a good example of this is the fact that my company is pushing for this change but still doesn't have a single black person at the VP+ levels. It's pandering, and distracting from the core problem.
> I think maybe a better question/support would be evidence that anybody besides corporate diversity teams have said this is a problem.
Black programmers have been asking and pushing for this change for some time and many open source projects (which lack "corporate diversity teams") have acted independently to address this because it's an issue that's been raised by black programmers.
There is plenty of evidence that people other than those on corporate diversity teams have said this is a problem, going back to at least 2003 with https://www.snopes.com/fact-check/masterslave/ (emphasis mine):
> To verify that this [request 'that equipment vendors avoid using the industry term “Master/Slave” in product descriptions and labeling'] wasn’t a hoax or an internal joke which mistakenly escaped to the wider world of the Internet, we called the Purchasing and Contract Services division for the County of Los Angeles, and they informed us that yes, they did issue this message, and yes, it was meant seriously. In May 2003, a black employee of the county’s Probation Department filed a discrimination complaint with the Office of Affirmative Action Compliance after spotting “master” and “slave” labels on a videotape machine, whereupon the Internal Services Department was obligated to issue notification requesting that vendors refrain from using the master/slave terminology.
So yes, at least one. (FWIW, I think claims of "white guilt" give off a pretty heavy attempt at encouraging white silence.)
Just looking at HN you'll see other evidence, like https://news.ycombinator.com/item?id=7806066 :
> Have you ever taught African-American kids about database replication? I'm guessing "no", because the master/slave terminology actively interferes with the learning environment — more so than adopting this less common terminology would.
Or in this HN comment from two years ago, at https://news.ycombinator.com/item?id=17930085 :
> A few years ago I was in a meeting talking about database options, hitherto I had used "master/slave" to describe this database topology. In that meeting was an African American co-worker ("Frank") and as the words left my mouth I realized that completely irrespective of my intent I brought into the room the spectre of times past. I've no idea how Frank felt about it - but all of a sudden I had lost all ability to continue my point. I paused and said something that amounted to: "you know,... that phrase is fucked up - let's not use it - what words should we use?" and Frank suggested we look at what terms Amazon uses; they used "source and read replica" and that's what we went with. I've never regretted recoding my use of words on that one.
Or another from 8 years ago, at https://news.ycombinator.com/item?id=4617174 :
> A coworker and I were de-duping records in a database. One of us said while pairing on the script "well, every slave needs a master."
> An african american woman in the office turned to us and said "maybe it's the master who needs the slave?"
> She wasn't really offend or anything and she said it with a sincere smile. She was just calling out our idiotic computer lingo for what it was.
> After apologizing feeling like complete idiots we quickly changed our terminology both in words and in the script to parent/child.
Or from 7 years ago, https://news.ycombinator.com/item?id=5423626 referenced Matthew Haughey/mathowie's comment at https://www.metafilter.com/126184/Furore-over-sexism-being-c... :
> All this talk about forking being offensive-or-no reminds me of a few years ago when someone pointed out to me that the whole hard drive relationship talk in IT circles of "Master" and "Slave" drives was offensive to them, being that they were black.
If you can't get the small problems fixed, can you really fix the large ones? What are the relevant core problems in your company which this distracts from, who is arguing that this change is something other than a no-brainer change, and what is their reason?
By "core" I'm not talking about self-appointed leadership; I'm talking about the BLM advocates who are directly affected by the issue (ie, PoCs). There is plenty of grassroots discussion on social media amongst those who feel changes the the Githubs and Redhats of the world will have zero impact on their plight.
> I'm sure an at-risk youth, when pulled over by two white police officers, is grateful that a bunch of highly paid programmers aren't subjected to politically incorrect variable names.
Why would this affect anyone getting pulled over by the police? Neither the police, nor the motorist are going to be looking over source code.
This is 100% about black developers. Have you bothered asking black developers how they feel about this?
I feel like I'm in the minority that thinks this is a good idea.
I can easily see how some people might be made uncomfortable by the existing wording, but more importantly, I can see no downside to changing it.
It will be a very small amount of work for a very small amount of time and then everything will carry on as normal. If this helps make programming more inclusive, even in a small way, then I'm all for it.
>I can see no downside to changing it.
Yes there is. If you set a precedent that you're going to cave whenever someone says they are offended, you're going to attract trolls pretending to be offended so they can have a laugh at your expense[1]. The whole master/main controversy might be genuine, but it's only a matter of time before 4chan comes up with another word/phrase for whites to be guilty about, and therefore need to be changed.
Plus, the cost. There's no change without a trade off.
If you compare with the 10 000 ? work years gone into building news feeds where people scroll up and down looking at kittens and food photos?
To clarify, I think changing these words will take comparatively little time.
I just did some changes in a project I'm doing, and it's like 5 or 10 minutes work in my case.
The downside is this is pretty meaningless. The words "master" and "slave" are not cause of pain and suffering and even erasing them from the vocabulary is not going to change anything.
Never in my life even for a second I had any connotation between words master and slave used in IT and any derogatory meaning for anybody. I don't remember a single instance in the past 20 years when I could possibly link any utterance of these words in IT setting to any kind of discrimination, derogatory meaning.
These words are just statement of facts, describing relationship. If not these, there will be other words to state exact same relationship with exact same meaning. Contrast this with the N word which is clearly derogatory.
Are we going to be renaming colors, too? Am I going to find a new name for the color of my car?
If you care for black lives, cooperating to find and work on an actual solution seems to me much more worth your while and shooting in everything that moves is wasting time at a critical point when time is of the essence.
These kinds of moves are only going to entrench the opposition, giving more arguments against and achieve nothing.
The big companies could instead pay their engineers to tutor underprivileged kids or let the do shadowing. But no, let’s rename everything, and do a press release.
Lots of big companies do pay their engineers to tutor underprivileged kids. This isn’t an either/or case.
> I can see no downside to changing it.
Neither can Master Wayne, according to Alfred, who is as polite as a school master. Of course, the Dark Knight did not have a masters degree, nor the spirituality of a Zen master, nor the concentration of a chess master. I am a certified dive master. I was close friends with several build masters. Of the great masters, Monet is my favorite. I hope to master my fear. Seinfeld fans still joke about being masters of their domain.
No downside indeed. Might as well sail into the sun on a three-master.
Master and Slave Cylinder.. Automotive and Engineering. Will blue collar thought police be as compliant as (ahem) WHITE collar workers?
Uh. "Workers" has slave connotations. Employees. Wards of the State of Private Prisons. Hard Labor = Slave Labor. Are pregnant women now offended? WoMAN. I mean FeMALE. Damn this is hard..
You're right, nothing wrong with it. No more than changing the name of all the nonsense gems and npm modules to something more semantic. However, I think the pushback is that this is the response to becoming "woke", and for those struggling with the issues facing PoCs, it feels like more corporate shallowness.
If the pushback were against corporate shallowness, you'd expect at least one comment would include a suggestion of what they could do instead.
But the comments here so far don't seem to do that, they seem to just be against this, with no alternative.
Okay, then I'll give some: outreach/mentorship/internships of PoC who might never be aware of coding or have a hard time breaking down the early barriers to getting involved.
Top comment from an earlier discussion on this: https://news.ycombinator.com/item?id=23501861
You act like this type of mentoring isn’t being done. It is. I work for a Fortune 200 company in a city having several Fortune 500 companies and they all do this.
Nice, who are the mentors it created that are opening further doors for PoC?
I only see the start of the pipeline. You're right though, it'd be nice to see it all the way through in order to better understand what overall impact we're having, if any.
Additionally I think we all can do grassroots mentoring. I know the challenge is discovering a good candidate, but it's an option. Buy someone a simple laptop, and teach them from first principles. (I've seen at least person I know and respect do this on Twitter)
I just wish the community would have agreed to terms before making changes, instead of everybody for themselves.
Allowlist/denylist are perfectly fine if everybody uses them. But fragmented blocklist/denylist/etc sucks.
A lot of the suggestions for master/slave don't illustrate the same relationship between components, roles.
I'm not sure there have been polls about this exact issue, but I suspect most people either don't care, or as you say feel it's an easy win with no real downside aside from a small amount of effort.
If it is effective and if it is that simple to implement, I’d agree with you.
My concern is that this is motivated by the politician’s fallacy.
That's why I don't even read these words in the dictionary. The triggers are immense.
one could see it through the lens of infantilization, which is most certainly negative.
How does it help black individuals though? Like how does it improve their lives, police brutality & prison reform, poverty, water quality?
If you agree with their premise that "some people might be made uncomfortable by the existing wording", surely removing it helps those people?
Is this the last remaining piece of racism in our society? No.
In some sense, it doesn't. But the point of these measures is to be anti-racist. To make the environment more welcoming to people of colour. Maybe the majority of people of colour don't care, but I am sure that some do.
In my own experiences, being actively welcoming provides a level of safety that silence will not, because the status quo is that it is not safe for me to be myself, even if I might plausibly be accepted among my specific peer group.
Overall, these are small changes (what github is doing notwithstanding), and the amount of time onlookers have spent whinging about them far exceeds the time spent making the changes.
No, this won't address the most pressing systematic abuses by minorities, but it does make one of the most lucrative careers less actively hostile to them.
Even though many (or even most) people probably aren't offended by terms like blacklist or master/slave, there's a non-zero number of people who are. Obviously changing terminology isn't going to end racism, but it will have a small positive impact on some people. Even if 99% of people don't care, they're not harmed as long as the new terminology is clear. IMO there's no semantic loss by going from "master/slave" to "primary/replica" or similar.
Wow, this community is terrible. It's good to see that the people who matter are more advanced: Wikipedia is also (finally) doing this, as I noticed today. And so is Github.
It's a renaming of mostly internal identifiers, a somewhat minor change for those implementing it, and a complete non-issue for anyone else. It doesn't matter if you are offended by the terms or not. Your opinion is somewhat irrelevant for once.
The logic of why people may feel offended by master/slave or white/blacklist is trivially obvious. One can have doubts about the intensity of it, but not the basic mechanism.
Additionally, this issue has grown in salience precisely because people opposed it.
Agitating against such changes is just as emotional as the proponents are accused of being, only the justification is far more transparently dishonest considering the relative ease of this change as outlined above.
People will invariably profess to be willing to help overcome the lingering effects of hundreds of years of slavery and continuing racism. But when they get the chance to do so, with the barest minimum effort, it's not going to happen.
Not because anyone is racist, of course. No, this is about ethics-in-datastructure-identifiers.
> The logic of why people may feel offended by master/slave or white/blacklist is trivially obvious. One can have doubts about the intensity of it, but not the basic mechanism.
My companies black systems architect just finished a whitelist feature and delivered it this morning. Should I, as a dutiful white frontend dev, inform him:
a) that this was in fact a racist decision and he may be a racist or rationally motivated.
b) that he's been oppressed by the whiteman for so long that he doesn't even know how racist this is, thus awakening his mind to the countless micro-aggressions around him
c) do nothing, because this is stupid virtue signaling by marketing teams fueled by white guilt ridding the wave of a woke-movement that, at worse, will get them a neutral "whatever" response or some scoffs, and at best, a pat on the shoulder from the woke twitter-verse?
Please let me know of your selection by reply and I will carry out the appropriate action and report back.
This is the I-have-a-black-friend excuse that tends to elicit slightly shameful laughter from the audience these days. I didn't know people still used it.
In any case: it: your college does not single-handedly represent all Black people. Assuming that he does is the same basic mechanism as pointing at one red-haired criminal to support your theory of higher criminality among redheads.
The disadvantaged group of any discrimination also isn't itself exempt from actively perpetuating that structure. It's almost a cliché, for example, that female leaders sometimes act extremely aggressive, especially with female employees, in an overzealous effort to fit in, or to dispel any notions of nepotism.
> This is the I-have-a-black-friend excuse that tends to elicit slightly shameful laughter from the audience these days. I didn't know people still used it.
No, it's actually nothing like that at all but I can see how tempting it was for you to make a false equivalency in order to support the point you wanted to make anyway.
In actuality, it's a very real and current example of how my colleague, the guy who directs all the devs at our organization and happens to be black doesn't give a shit.
> The disadvantaged group of any discrimination also isn't itself exempt from actively perpetuating that structure.
I see, so option b then. A balsy choice to be sure, I have to wonder if you'd have the stones to mansplain to your black supervisor that he or she is perpetuating a racial system. Based on your choice I'm going to go out on a limb here and guess you're also perpetuating a stereotype, that of the white guilt avenger. Please do correct me and explain why I'm wrong and a bigot though.
> Wow, this community is terrible.
I don't think this is true.
This particular topic seems to trigger a vocal group of people, but in general this community isn't terrible.
> But when they get the chance to do so, with the barest minimum effort, it's not going to happen.
This is what frustrates me most. In this particular case people don't even have to make an effort, they just need to be tolerant of efforts made by others and still we get the shouting.
One thought that I had seen elsewhere on this subject really stood out to me.
When these phrases are being replaced, their replacements are almost always more descriptive terms for that specific project, and the way those servers interact.
For example- In Jenkins you run a "master" which schedules jobs, and "slaves" which run the jobs. After they updated their terminology, they referred to the job-runner as a "Agents."
This makes it much clearer what the relationship is between them, and clarifies that the "Slave" servers aren't some sort of failover server, which is how a DB might use the same terms.
I've seem other projects use primary/replica, and several other variations, but they almost always seem to be much better fits for what the software is actually doing.
One has to be careful though, because in espionage the 'agents' are non-professionals bribed or coerced to do the dangerous dirty-hands work. They're expendable and deniable.
Many, many words hold additional meanings that aren't obvious to the mainstream.
Google is also mass refactoring internally as well, blacklist/whitelist are now blocklist/allowlist and so on. It's quite a bit of churn.
This one kind of bothers me. Dark and light are concepts from long before written history and have nothing to do with humans even. Predators and bad things hunt in the dark, evil, etc.
There's really no benefit to meaningless conflations of human social problems with other things.
I agree with the other comment about assuaging white guilt; it doesn't help someone get hired, talk to the police, or find housing. Those are the issues we need to work on.
> I agree with the other comment about assuaging white guilt; it doesn't help someone get hired, talk to the police, or find housing.
You make it sound like this is a bunch of white people unilaterally doing something so they feel better. As if there are no black programmers asking for this change.
https://www.cnet.com/news/twitter-engineers-replace-racially...
The whole point of this effort is to make the workplace less hostile for people we work with. Black programmers are part of that.
Yes, that's a good point about needing to create a welcoming workplace, so maybe this discussion is more of a spectrum where we need to decide where the line is?
Guidance would help instead of everybody guessing or corps randomly scrubbing things until the bad PR goes away.
> Guidance would help instead of everybody guessing or corps randomly scrubbing things until the bad PR goes away.
I'm having trouble seeing an issue black developers have been raising for over a decade being called "Randomly Scrubbing". It's been a known pain point for some time.
> blacklist/whitelist are now blocklist/allowlist and so on
We did that… and then a week later, got informed that “blocklist” is still racist because it “looks similar to blacklist” and now we need to do a second refactoring to change it to “denylist”
>ot informed that “blocklist” is still racist because it “looks similar to blacklist”
wtf?? Are we going to rename while loops too because it looks too close to "white"? Or blockchain because it looks too close to "blackchain" (slavery reference)?
IMO if you change this terms with even better ones(that are more clear and more specific for the domain) then is great.
How do you do that when you have an established word an entire industry understands?
Words only have the meaning we convey to them and as soon as you put more words in the mix that dilutes any clarity. We're back to the xkcd on standards.
I am not an english speaker, for example "black list" is a concept that translates worse then "blocked list" , the first requires you have some local or historical context the last one is just clear as day.
Block has multiple meanings in English. You don't need historical context, but you'll always need context.
Sure, so what I am thinking as an example is when we create new code, say I have a feature that is available for users that have account of type A,B,C but not D or E , so I always do something like let allowedPlans = [A,B,C]. isn't this more cleared then if I named the list whiteListedPlans ? IMO is more clear and it translates better.
Bingo! You’re not the first non-native English speaker who I’ve heard say that they don’t understand blacklist but immediately understand blocklist. This is language change for the better.
My idea was that if you use more clear words then it is easy to replace more unclear ones.
Random thought: Who will adopt faster, the younger programers, or older?
In my day we'd feed the Spinning Jenny punch cards all day long.
We should also stop using ROBOT which means "forced labor" (slave) in Czech.
Not sure if the word robot offends some groups but if you can use a less confusing word then use that, like if you want to talk about a robot that has a human like you can be more clear by using the word android or synth.
Why not owner or subject?
Are accountants not to refer to master records?
Do we have to stop killing child processes?
"I'm just waiting for Maria to kill her children" is a valid tech sentence, but probably not something that should be uttered in a public setting. :)
Probably, eventually.
Just today I've caught myself talking about black boxes, no skin off my nose and Chinese whispers, wondering if those are on a list somewhere or if they will be.
I'd say it all feels like papering over the cracks, but the paper isn't even covering the cracks.
From what I've seen you can play the racism, gender or (in a lesser extend) religion card. That is because in that case you're clearly part of a group - and often a minority. It is however unclear if the ones who feel offended are also a minority within that group (but does that matter?).
In other cases that is less clear, but I've also not seen many people offended for other reasons than the three I mentioned.
I worked for redhat in a past life and I recall having to do this for documentation back in 2003-2004 to comply with a California law[0] regarding vendors to the government.
It's been a long time but I'm pretty sure I remember changing "master/slave" to "primary/secondary" in a bunch of bind docs.
0. (this might be it) https://edition.cnn.com/2003/TECH/ptech/11/26/master.term.re...
I feel as though primary/secondary doesn't define the relationship properly.
I, for one, think this is all getting ridiculous now.
The chosen terms don't define the relationship. The documentation defines the terms in the given context, including their relationship.
We live in the dumbest time-line.
I'll drink to that!
This is a huge challenge for HN: can we treat this as the minor issue it is, and discuss it patiently and kindly?
> can we treat this as the minor issue it is
Is it actually an issue at all?
I don't think so, but some of the other comments here (including the top one when I commented originally) felt it was very very important and anyone not supporting immediate action was a racist...
I’d ask every white person who says they don’t like these changes because they're shallow/pandering/not as good as real antiracist action to take a step back and ask yourself if that’s the real reason you dislike this change.
Is it possible you actually had a knee-jerk reaction to PC-ness and are retroactively justifying it with logic?
I think it’s common for people (maybe especially engineering types?) to have an emotional reaction to something and find a logical reason for that emotion instead of admitting that maybe they were just being reactionary in the moment.
Definitely not just engineers -- that's how all humans function across the whole planet.
That is, humans act based on feelings, and rationalize afterwards with logic (like you wrote).
And some of the "logic" in this topic, is quite weird I have to say.
(Personally I like most of these changes, e.g. "replica" or "standby" instead of "slave", also more clear & precise what it means?)
I remember talking to CloudBees reps back around 2013 when we were going to purchase Jenkins Enterprise licenses and they made a conscious effort to refer to build slaves as build agents or build nodes. I applauded them at the time for that even though there is still a lot of referencing of "slave" in documentation and blogs. I don't have a problem with "master" but I do have a problem with "slave" and I'd like to eradicate it.
Why do you want to eradicate it?