Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

DBs used to be master/slave. Should we keep that naming so as not to participate in a slippery slope?

It’s a fine line between a slippery slope and progress.

I remember in the 80s and 90s when older generations would complain that they couldn’t gay bash anymore. They thought it was a slippery slope that if they were forced to respect homosexuals, they’d be forced to respect other types of behavior they deemed immoral. Turns out it was just progress.

Recently, I noticed that I would refer to adult females as “girls” and adult males as “men”. I want to be careful with that in the future and try to change because I’ve been called out a few times and I can see how it’s disrespectful. And I don’t want to be those adults from the 80s I saw so resistant to change.

I guess I try to view it as each year brings new ways of communicating and interacting. It’s OK that I wrote master/slave years ago and it’s OK that I’d never allow that in my code base now.

We’re all trying to be better and that means change.

I’m glad folks are sounding the alarm because we don’t want to be complacent, but not every new social norm is suppressive either.



Personally, I don't see what the issue is with master/slave for databases. Of course it's a terrible and immoral relationship to have between two humans, but that doesn't render the words themselves immoral when used descriptively in a completely different context.

By the same logic, shouldn't it be offensive to refer to the "owner" of a house? Or the "torturous" path up the mountain? Can we also not "kill" a process? Or run a "headless" browser? Or talk about a project being a "death march"?


Counterpoint--the word "slave" does inherently refer to a relationship between humans (i.e. animals or inanimate objects cannot be slaves, as that word is defined). When it is used as a CS analogy, the analogy does refer back to that relationship between humans as its source of meaning.

"Owner" is fine because the generic, base meaning is not inherently wrong. Claiming to a person as a slave is one application of that generic meaning (which is ofc very wrong). Owning a record in a database or owning some land is another, distinct case (which is perfectly fine).

"Death march" and explicitly militaristic terms are not ideal, although many people do believe in some kind of just war, so theoretically words themselves are not fundamentally immoral, the whole topic is understandably not going to result in any positive feelings so it would be best to avoid it.

Likewise, "headless" if we really want to stretch it to a human analogy, would not refer to cutting off someone's head, but rather to a type of creature that doesn't have one in the first place.


I understand that these and other terms have historical baggage, but that seems like a property of language in general.

If we’re really thorough about this stuff, we’ll probably end up with hundreds of words and phrases that we can’t say because they could remind people of something dark or unjust in our history. Everyone will have to think about it constantly to avoid slipping up.

It strikes me as a lot of sound and fury for something that ultimately isn’t going to make a single oppressed person any better off, and that will lead to a lot of conflict and resentment when people feel that innocent patterns of speech are being policed.


> It strikes me as a lot of sound and fury for something that ultimately isn’t going to make a single oppressed person any better off

It’s not meant to make them better off, it’s meant to not make someone feel worse.

> completely innocent patterns of speech are now being policed

No one is perfect but if someone’s telling you that a word pair like “master/slave” sucks for them to have to type, why is our response anger and resentment at the “word police” rather than compassion and understanding?

If we consider the worst fates for a race or ethnicity we often think about genocide or slavery.

Just like we could “genocide” a DB by deleting everything, it would probably suck for many to see that word normalized in a new context. It’s probably good for some words to maintain their strong visceral reactions. I’d say the fact that “slave” feels like an innocent speech pattern is actually a good reason why we should want to move away from using it outside of it’s original historical context. The word “slave” should hopefully elicit fear, sadness and contemplation. Instead it seems it generates confusion as to why anyone would feel negative emotions in response to that word. Just like swear words, they carry weight largely because they’re seldom used and are often attached to emotions. To dilute their potency seems like a mistake to me.

In any event you’re not a bad person by any stretch if you use those words innocently. But I personally would rather use a different, less charged word to describe a DB if others were so inclined to indulge me.


I think the broader question is whether it's a good idea in general to go through terminology or common idioms with a fine-tooth comb looking for unintentional offense or the potential to offend.

It's of course very different when the intention is to offend, as with racial slurs, but when it comes to things like master/slave db, git master, 'sanity check', the masculine/feminine in Spanish, and others that have been mentioned in this thread, you're really talking about a project to 'reform' everyday speech, with no clear boundary on when this project would ever be complete. And really, there can be no clear boundary since 'unintentional offensiveness' is a purely subjective determination that anyone can claim in response to almost any word or phrase, no matter how benign others may find it.

However progressive someone's politics might be (mine are fairly progressive fwiw), this seems like a highly questionable undertaking. There are clear echoes to measures that have been taken by totalitarian regimes in the past, like asking citizens to call out and report each other for ideological transgressions.

Considering this danger and how much it aggravates people to feel that they must walk on eggshells with their words, there seems to be very little practical benefit toward advancing any concrete progressive goals. People not feeling bad seems like kind of a wash since it also feels bad to have your character questioned based on using common/widely accepted terms.


I hear what you’re saying about history. I studied abroad in Germany and those lessons are painfully obvious there. But for me the line is drawn at facts and opinion and words in their original historical context. No one is rewriting the definition of “slave”, they’re actually trying to preserve it.

“Master/slave” is a recent manufactured idiom. No one is hunting through dusty books trying to find things to be offended about. As more African Americans enter the field of programming the more apparent it has become how unnecessary it is to use this idiom. It certainly wasn’t coined in a programming context by an African American. It would be inherently obvious to them that it’s not even a good idiom from a semantic view. It’s only because African Americans were absent from those naming decisions that it ever gained traction.

No one is censoring facts or opinions here. They’re simply saying: “hey, now that African Americans are participating more in our programming community it’s become apparent how uncomfortable it is for African Americans to have to use this master/slave idiom that is barely even semantically appropriate. No one is blaming anybody but can we agree to use a term that’s both more semantically accurate and one that all of us including our African American colleagues feel more comfortable with?”.

It’s like if we’re in a public park and I ask you to take turns on the swing. There’s no rule about it and you could say I’m on a power trip trying to get you to give up the swing, or that I’m blaming you for not having noticed that I was getting annoyed waiting. Or we could just take turns and be friends. I want you to stop using the swing so I can use it. You being on the swing isn’t a problem, but acting like I’m oppressing you by asking you to change positions is a bit of a stretch in my opinion. No ones character is being questioned and no one is wrong. But if you say no to sharing the swing because you’re afraid of a slippery slope of me expecting you to share your house, your car, etc. then you’re operating out of fear rather than responding to my actual request. Or, you could trust that when my requests actually inconvenience you, you’ll say no.

> it also feels bad to have your character questioned based on using common/widely accepted terms

I’m know it does. But insisting you’re not offending anyone or have never offended anyone isn’t the goal. No one is perfect. No one can go through life without being a jerk or offending people. The real test is how we respond after we have done so.

If you used an idiom that made some people uncomfortable, just apologize and move on. Don’t be afraid to give up the swing worrying about everything else that might happen later. It’s just a swing and this is just an idiom. Offering understanding and compassion and even an apology costs you nothing but your ego.


I also hear what you're saying, and I agree with your point that a black person wouldn't have come up with master/slave. That said, I've also worked closely with black developers and while I don't want to make assumptions, it's really hard for me imagine them being offended by something like this. It's more like a parody of what a white person who has never spent any time with black people thinks a black person would be offended by.

But regardless, it's not that I'm so stuck on using this specific term. I don't care that much, and primary/secondary is fine, as you say. My point is that many people and groups will have more-or-less equally valid complaints about countless other words and terms, and I don't think attempting to excise all of them from our language is a helpful or productive path to go down. As many anecdotes in this thread have demonstrated, it's not "just a swing" or just a single idiom. It's already starting to snowball into a pretty long list.


> Personally, I don't see what the issue is with master/slave for databases.

Because there are other words that convey the same programming intent that don’t also personify slavery. I can think of dozens of oppressive human relationships that could also be used to describe a subordinate database architecture, but why? What do we gain by personifying our DBs with terms like “slave”?

They’re short words of convenience rather than some malicious intent, I get it, but it’s not hard to name it something just as relevant like “primary/secondary” or “source/replica” and move on to bigger and better things.

The other words you mentioned don’t have the same painful historical connotations for a large minority of the population.


Killing child processes could certainly have painful historical connotations for anyone who's miscarried, had a forced abortion, or is distressed by the historical existence of those events. I'm sure if it becomes politically advantageous to remove the kill command, a community organiser or developer advocate somewhere will immediately start lobbying for it.


Ok, fair point about miscarriages / abortions.

> I'm sure if it becomes politically advantageous to remove the kill command, a community organiser or developer advocate somewhere will immediately start lobbying for it.

Politically advantageous? I’m not sure why social change is assumed to have ulterior motives. If one of my employees said a violent personification of a programming process was distracting or disturbing to them and made their job harder, why not change it? It’s not like these are technical terms. These are words that relate to human interaction that we’ve embedded into a non-human field.

There are tons of words throughout history that were accepted by previous generations that aren’t accepted by subsequent ones and vice versa. Language and social norms are always changing.

If you can’t speak the truth freely, that’s a huge problem. If you can’t program with others using your preferred personified analogy for a variable name when another variable name will communicate the intent just as well, that doesn’t strike me as quite the same existential threat to society and public discourse.


I don't believe that most of the cancelled terms were distracting or disturbing anyone who wasn't a political activist to any significant degree prior to being cancelled. Staking them out as unacceptable terms has brought into existence a battlefield where there didn't need to be one, and caused people to be offended by terms that hadn't offended them before. When I look for reasons why this might have been done, I find a lot of people making careers out of their advocacy, and getting a lot of dopamine hits from social media.

It's my impression that there are a lot of people looking for things to cancel, justified by their political beliefs, but motivated by social approval and career-building.

If this is the case, it's obvious why we shouldn't change our language to suit those demands: the demands are motivated by a positive feedback loop where cancelling is rewarded, and rewards enable cancellation, and so whether a term is a real problem is irrelevant so long as outrage about it can generate enough income or likes.


That’s a pretty pessimistic view.

As the programming field becomes more diverse, isn’t it reasonable that some might have a legitimate emotional reaction to the word “slave” especially in the context of a “master/slave” relationship?

Or is it more realistic to assume that it’s people on power trips manufacturing outrage for social or physical currency? And that no African American would ever have had a problem with that word pair until a social justice warrior came along and told them to be outraged?

The latter is pretty insensitive, but not an uncommon view.

> we shouldn't change our language to suit those demands

Programmers used an analogy that attempted to change the meaning of the word pair “master/slave”. People are advocating not to change the meaning of our language but to respect the original meaning that is still taught in every school. “Master/slave” has an important historical meaning and isn’t something we should casually co-opt.

If someone wrote a script to “genocide” a DB instead of “wiping” it, I’d hope that we could see that co-opting a word that already has important historical meaning doesn’t help anyone, but surely hurts some.


I often think about how every generation I can think of had a fight over what was OK. The younger generation would set down some new standards, and everyone who grew up with the old "normal" thought it was ridiculous that the standard was changing.

So, whenever I think some "new standard" is ridiculous, I try to think on that for a moment and err towards not wasting too much time worrying about it.

Does using the new term hurt me in anyway? Does it help someone else? Alright, then. I might not get it, and it might feel ridiculous to me in the moment, but I don't want to be the guy yelling about how calling something "gay" isn't homophobic.


Maybe it doesn't "hurt" you in a direct way, but forcing people to change their behavior for a power trip is not something you should willingly bend over for. If change is for good, you should be willing to change. If it's for nothing, it's okay to resist.


I think the idea a change is "for nothing" is subjective, and that the people most likely to say a given a change is "for nothing" are the people who don't benefit from it.

Again, I go back to my example.

Were LGBT activists "forcing me" to change the way I used the word "gay"? Sort of. Did doing so hurt me? No. Did it benefit them? They say it did. Was it for "nothing"? They say it wasn't.

Language changes. I'm not going to waste a lot of energy worrying about it.


Those are examples where you examined the choices and decided that a change makes sense. That may not always be the case. Again, you are capable of deciding. "For nothing" is subjective, and, as such, you get to use your best judgement. Good luck.


My point is that because "For nothing" is subjective, my own bias will lead me towards discounting the benefit of a given change. So, I err towards being accommodating when the request requires something so small from me.

At the time, I thought the change was ridiculous. It took me a few years to realize I was just being petulant.


Isn't there a risk that, like feeding pigeons, you end up encouraging minority groups to become over-sensitive, because they become addicted to the power of controlling what other people say?


I'm not really sure how to respond to that.

1. I'm not comfortable with the analogy.

2. Going back to my example, the whole "if we let them do X, where does it stop?" was a big part of 90s discourse regarding LGB rights. So far, the slope hasn't slipped into any of the scenarios people brought up. Language changed a bit. Some people felt more included by society. I suffered no injury beyond letting go of the notion I was entitled to use certain words to mean certain things.

I found other ways to convey those things. It turned out fine.


I apologise if my analogy made you feel uncomfortable, and I'd be happy to learn a different analogy which expresses the same idea just as clearly. If there isn't an effective alternative analogy, though, then it might appear as if you are using claims of discomfort to limit legitimate criticism of your ideas, which I trust isn't the intention.


While I denoted I was uncomfortable with your analogy, I still responded to your criticism.

I'm not sure why you need an analogy to get your point across.


I appreciate you responding to my criticism despite my analogy, but I was concerned you might try to discourage or prevent people using such an analogy in future, without offering an alternative (and despite me having no ill intent behind it).

As for why I used an analogy, I don't know what reason will satisfy you. People use analogies to help other people get an intuitive sense of an idea which might otherwise be hard to explain. If you understood my point without needing the analogy then that's great, but I don't want to assume that analogies are never helpful.


It's possible to recognize some changes as warranted and some changes as being misguided or based on entirely false premises. You are capable of examining your thoughts and listening to other people's explainations for determine which is which.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: