News for hackers. Stuff that matters.
Re:On Redis master-slave terminology by lazzlazzlazz on Thursday September 06, 2018 @05:38PM (#17929798)
Good for antirez. We all know what master-slave mean in a computing context and separate it from distant historical meanings, just as we don't get offended by `parent.kill(child)`.

Some people get moral enjoyment from finding ways to feign offense... at best, it is a waste of time to indulge much of these false complaints.

Our goodness and values show in our worldly actions.

Re:On Redis master-slave terminology by stcredzero on Thursday September 06, 2018 @05:48PM (#17929880)
Some people get moral enjoyment from finding ways to feign offense... at best, it is a waste of time to indulge much of these false complaints.

It has become a way to get the effects of political terrorism while avoiding the risk and backlash of actual terrorism. The real purpose at this point isn't to actually convince or cow people into obedience. It's low-risk practice for training radicals, and any political movement seeking rapid change needs about 10% of its membership to be radicals.

Even short of violence, human politics boils down to "bigger army diplomacy."

Re:On Redis master-slave terminology by evil-olive on Thursday September 06, 2018 @05:51PM (#17929916)
> just as we don't get offended by `parent.kill(child)`

I think this is an excellent analogy. The Linux OOM killer even has a log message about sacrificing children:

https://unix.stackexchange.com/questions/282155/what-is-the-...

And that, AFAIK, isn't part of the Linux kernel API/ABI, so it could be changed more easily than Redis' SLAVEOF command could. But it's clear from context what it's referring to.

Re:On Redis master-slave terminology by rhcom2 on Thursday September 06, 2018 @05:52PM (#17929921)
> Some people get moral enjoyment from finding ways to feign offense

Why not assume good faith? Surely you can make an argument against changing technical terms without assuming the person bringing up the changes is just trolling.

Re:On Redis master-slave terminology by devmunchies on Thursday September 06, 2018 @06:11PM (#17930081)
> Why not assume good faith?

> "After it was clear that I was not interested in his argument, Mark accused me of being fascist"

No need to assume.

Re:On Redis master-slave terminology by cwkoss on Friday September 07, 2018 @02:54PM (#17936749)
The irony of calling someone a fascist for using the wrong word.
Re:On Redis master-slave terminology by rhcom2 on Thursday September 06, 2018 @06:16PM (#17930114)
Other people have had a similar complaint, that this one person resorted to name calling immediately doesn't offer proof to me they were not sincere or that this issue isn't something some people legitimately care about.
Re:On Redis master-slave terminology by adrianmonk on Thursday September 06, 2018 @05:59PM (#17929996)
Why not assume good faith on the part of the people who used the terms "master" and "slave"?
Re:On Redis master-slave terminology by rhcom2 on Thursday September 06, 2018 @06:06PM (#17930050)
The person mentioned in the post obviously didn't assume that after they started name calling but I think you could assume good faith usage of those words and still have a problem with it.
Re:On Redis master-slave terminology by wang_li on Thursday September 06, 2018 @07:47PM (#17930658)
>... I think you could assume good faith usage of those words and still have a problem with it.

One should also understand that not all countries have the same political activists and race-baiters that the US has and therefore the words master and slave don't carry the same baggage as they do in the US.

Re:On Redis master-slave terminology by rhcom2 on Friday September 07, 2018 @12:43AM (#17931929)
Master/slave doesn't carry baggage because of political activists and race-baiters but because of the US' history of slavery/racism.
Re:On Redis master-slave terminology by Turing_Machine on Thursday September 06, 2018 @05:55PM (#17929957)
People who are arguing in good faith don't start calling their opponents vile names after one exchange.
Re:On Redis master-slave terminology by jpitz on Thursday September 06, 2018 @06:01PM (#17930014)
Even if we accept that to be generally true, and I do, that doesn't mean that the person that you replied to was wrong.
Re:On Redis master-slave terminology by Turing_Machine on Thursday September 06, 2018 @05:57PM (#17929982)
Not to mention SIGABRT.
Re:On Redis master-slave terminology by kawsper on Thursday September 06, 2018 @06:11PM (#17930079)
There have been discussions about that, glibc had this written in its docs about the abort() function since the 90s:

> 25.7.4 Aborting a Program... Future Change Warning: Proposed Federal censorship regulations may prohibit us from giving you information about the possibility of calling this function. We would be required to say that this is not an acceptable way of terminating a program.

https://www.theregister.co.uk/2018/05/09/gnu_glic_abort_stal...

Re:On Redis master-slave terminology by smachiz on Thursday September 06, 2018 @05:44PM (#17929846)
I mean, I don't disagree with your premise that very few people are actually offended, but this is one of those low-effort, doesn't-matter changes so why not do it?

If it does offend anyone at all, why not change it? If it might offend anyone at all, why not change it?

It's not like we're redefining the color blue to appease red-ists. There's a dozen synonyms that convey the same relationship construct as master/slave without using the word slave.

It's not the hill to die on, or take a stand on.

Re:On Redis master-slave terminology by menacingly on Thursday September 06, 2018 @05:56PM (#17929970)
"If it might offend anyone at all, why not change it?" is simultaneously gracious, well-meaning, and completely oblivious to the actual mechanisms that drive these offense debates.

It doesn't offend anyone. If it does, it's easily cleared up with a broader understanding of the english language. That doesn't matter, though, because it doesn't offend anyone.

The hunt for these righteous stances _is_ the goal.

You don't change it, because 1) it's a weird bid to control the behavior of someone else, 2) you didn't gain anything. the priesthood wants to find your dirty stain, shine the light of an extremely flexible outrage on it, make an example of your submission to their humbling cleansing, then move on.

All you've done is apologize to the no one who was actually harmed, add fuel for the next imaginary incident, and waste your time.

Re:On Redis master-slave terminology by the8472 on Thursday September 06, 2018 @05:51PM (#17929918)
Because being offended is cheap and it being real is unverifiable. Thus there is a cost asymmetry which makes it trivially exploitable.

> It's not like we're redefining the color blue to appease red-ists.

I am deeply offended that your source control denigrates people from non-conventional families[0]. Please purge this insult from the internet on my behalf.

[0] https://en.wiktionary.org/wiki/git#Etymology_1

Re:On Redis master-slave terminology by savethefuture on Thursday September 06, 2018 @05:52PM (#17929925)
Because at what point do you stop and who dictates what offends people and what does not. It is all opinion based and is a never ending catastrophe of ever changing definitions and verbiage.

This is just more distractions from what really matters, writing coding and completing the task at hand.

Like you said, "one of those low-effort, doesn't-matter changes", so why change it?

Re:On Redis master-slave terminology by strken on Thursday September 06, 2018 @05:56PM (#17929968)
He touches on something very important when he describes the change as being "for Americans to make peace with their past" and says "it focuses on formalities, but actually it has a real root of prejudice against others". I'd hazard a guess that most of the people who are offended are offended because they feel guilty, and not because they're harmed by the terminology.

Maybe those people should feel guilty. Maybe, as a European, he doesn't want American guilt to control the way he uses language.

Re:On Redis master-slave terminology by Twisol on Thursday September 06, 2018 @05:46PM (#17929865)
> this is one of those low-effort, doesn't matter changes

antirez, at least, says otherwise.

> [...] to change the documentation, deprecate the API and add a new one, change the INFO fields, [...]

Re:On Redis master-slave terminology by smachiz on Thursday September 06, 2018 @05:48PM (#17929878)
Please - it's a find/replace. The API is a bit stickier, but they can of course just map the old 'slave' designation to a new call.
Re:On Redis master-slave terminology by SteveNuts on Thursday September 06, 2018 @05:55PM (#17929956)
Feel free to submit a PR, just make sure it passes all the tests!
Re:On Redis master-slave terminology by devmunchies on Thursday September 06, 2018 @06:14PM (#17930107)
what about log history? If I want to find a history of slave errors I need to account for both words? Its not worth it.
Re:On Redis master-slave terminology by barry-cotter on Thursday September 06, 2018 @05:53PM (#17929935)
> I mean, I don't disagree with your premise that very few people are actually offended, but this is one of those low-effort, doesn't-matter changes so why not do it?

Not doing what this particular brand of moralising busybodies wants sends a message to them, other busybodies and more importantly everyone else involved with Redis that this organisation will not instantly roll over to pressure. If you remember the Drupal controversy where some activists were trying to get someone expelled from the community for their sex life the maintainers rolled over until over a hundred contributors and sponsors said to reverse the decision or they’d fork Drupal.

The principle is the same. If you pay the Danegeld you will never be rid of the Dane. If you don’t feel like giving a mile, consider very strongly whether to give an inch.

Re:On Redis master-slave terminology by edejong on Thursday September 06, 2018 @05:50PM (#17929904)
Because it reeks of voluntary self-censorship pressed by political correctness?

Also, where to draw the line? Should we rename Brainfuck? Is white-space PC?

Re:On Redis master-slave terminology by evil-olive on Thursday September 06, 2018 @05:52PM (#17929929)
> Is white-space PC?

There has been a push to rename "whitelist" and "blacklist":

https://english.stackexchange.com/questions/51088/alternativ...

Re:On Redis master-slave terminology by iamwil on Thursday September 06, 2018 @05:46PM (#17929862)
"I originally copied the terms from MySQL, and now they are the way we call things in Redis, and since I do not believe in this battle (I’ll tell you later why), to change the documentation, deprecate the API and add a new one, change the INFO fields, just to make a subset of people that care about those things more happy, do not make sense to me."

Sounds like it's more work than you imagine.

Re:On Redis master-slave terminology by digitalnomade on Thursday September 06, 2018 @05:48PM (#17929874)
Because as Antirez pointed out, it is not that simple. One has to change documentation, API, code. It cascades from there.
Re:On Redis master-slave terminology by wskinner on Thursday September 06, 2018 @05:47PM (#17929871)
> If it does offend anyone at all, why not change it? If it might offend anyone at all, why not change it?

Did you read the article? He answers this question. He devotes the last four paragraphs of the article to exactly that.

Edit: tl;dr is that a) it's not as simple a technical fix as you might think and b) it's not just a technical issue.

Re:On Redis master-slave terminology by smachiz on Thursday September 06, 2018 @05:53PM (#17929938)
With no compelling reasons...

If we instead called it Guard and Concentration Camp Prisoner would more people feel differently?

Yes, if we go to the fringes there are ridiculous things that people can get upset by - but this doesn't seem like one of them.

There are plenty of words that are just as descriptive that we can use in place of master/slave at literally zero cost to clarity.

Re:On Redis master-slave terminology by meowface on Thursday September 06, 2018 @07:24PM (#17930522)
"master" and "slave" are abstract concepts that don't just apply to humans or even organisms at all, while "concentration camp prisoner" and "concentration camp guard" are very specific human concepts.

If it took no effort to make this change, this discussion probably wouldn't even be an issue in the first place since many project owners would change the terminology just to stop the whining and discussion. But it's not that easy, so many people have decided to not bend over backwards for every term that could possibly be twisted into being considered offensive when taken out of context, including "master / slave", "whitelist / blacklist", "forking", and "killer app". Yes, people have taken issue with all of those terms [1] and will probably take issue with even more if developers start to appease them.

This kind of thing is a slippery slope.

[1] https://twitter.com/andrestaltz/status/1030200563802230786

Re:On Redis master-slave terminology by Turing_Machine on Thursday September 06, 2018 @05:49PM (#17929899)
> If it does offend anyone at all, why not change it? If it might offend anyone at all, why not change it?

Because giving in to thought-policing bullies is always a bad idea.

Note how quickly the wannabe bully in this case went from demanding the change to calling the maintainer every vile name in the book.

Re:On Redis master-slave terminology by bazeblackwood on Thursday September 06, 2018 @06:00PM (#17930010)
Given that the explicit "master" and "slave" relationship definition lacks any other common meanings in any other technical field of English (that I'm aware of), I'm not quite sure I understand your point.

The hierarchy of "parent" and "child", at least, is used for terminology in other fields, e.g. euphemistically in psychology, for relationships that fit a particular behavior pattern, even when the participants aren't actually related. Likewise, I'm sure the programmers responsible for the "parent"-"child" metaphor, didn't consider all the possible pseudo-language this method might generate. Just as no one might imagine `chokeAndDieOn(kernel)`.

On the other hand, "master"-"slave" is taken from a pretty explicitly provocative (and negative) situation that still exists in many forms in today's world and was designed as a metaphor explicitly for the relationship, as opposed to being incidental, like your example.

However, if what you say is your firm belief, then you surely wouldn't mind `"dominatrix"-"submissive" databases` or `"torturer"-"victim" databases`?

Re:On Redis master-slave terminology by dragonwriter on Thursday September 06, 2018 @06:15PM (#17930109)
> The hierarchy of "parent" and "child", at least, is used for terminology in other fields, e.g. euphemistically in psychology, for relationships that fit a particular behavior pattern, even when the participants aren't actually related.

That's metaphor, but not really euphemism.

> However, if what you say is your firm belief, then you surely wouldn't mind `"dominatrix"-"submissive" databases` or `"torturer"-"victim" databases`?

First, I'd have no problems if they actually communicated useful information by way of metaphor, but I can't immediately see any way those examples would.

Second, do you really want, in the course of arguing that describing a relationship of total control between different programs or other inanimate systems as a master-slave relationship is offensive, to suggest that consensual BDSM relationships are analogous to both actual slavery and torture in the offensiveness of having descriptions of other things refer to them?

Re:On Redis master-slave terminology by platinumrad on Thursday September 06, 2018 @06:05PM (#17930041)
"dom-sub" makes a lot of sense, honestly; catch me using that in my next project. I would object to "torturer-victim" because it doesn't properly describe the relationship.
Re:On Redis master-slave terminology by tvmalsv on Friday September 07, 2018 @12:43AM (#17931932)
I literally chuckled when I saw your message because I actually thought about using dom/sub when I saw the '"dominatrix"-"submissive"' message, and there's the bonus of it being more symmetrical and less typing than master/slave.

The deal killers being that it's less readable due to the lack of established usage and that it doesn't define the relationship as clearly as master/slave. It feels like "dominant" might imply that it has authority in most cases, but not every case.

Re:On Redis master-slave terminology by bazeblackwood on Thursday September 06, 2018 @06:19PM (#17930141)
No, not "dom", "dominatrix". And is your project a popular open-source project? Or will you be committing to a code base at a large corporation? Feel free to screenshot the pull request when you do, otherwise I'll have to assume you're casually bluffing.
Re:On Redis master-slave terminology by platinumrad on Thursday September 06, 2018 @06:24PM (#17930173)
Why would I use "dominatrix" when "dom" is shorter? Seriously though, "dom", and "master" are fairly generic terms. "dominatrix" and "torturer" are needlessly specific to point that they don't accurately describe the relationship anymore.

>And is your project a popular open-source project?

Yeah I'm Linus lol.

Re:On Redis master-slave terminology by GW150914 on Thursday September 06, 2018 @06:08PM (#17930062)
If you work on an automatic transmission and quite a few other mechanical devices, you’ll learn that “master-slave” in technical English predates modern computing. It’s useful terminology because it’s instantly comprehensible as a metaphor and accurately describes the “slave’s” total lack of autonomy. There’s no reason to make it political, unless someone is endorsing the concept within the context of human relationships.
Re:On Redis master-slave terminology by function_seven on Thursday September 06, 2018 @06:19PM (#17930140)
I dread the day that "male" and "female", with respect to electrical connectors, become controversial.
Re:On Redis master-slave terminology by the8472 on Thursday September 06, 2018 @06:04PM (#17930036)
> or `"torturer"-"victim" databases`?

Torture-testing. Victim threads. Everything has its use.

Re:On Redis master-slave terminology by wang_li on Thursday September 06, 2018 @07:51PM (#17930687)
> Given that the explicit "master" and "slave" relationship definition lacks any other common meanings in any other technical field of English (that I'm aware of), I'm not quite sure I understand your point.

There are plenty of other uses in technology. https://en.wikipedia.org/wiki/Master/slave_(technology)

Re:On Redis master-slave terminology by meowface on Thursday September 06, 2018 @07:16PM (#17930474)
Would "master-servant" make you happier? "master-subordinate"? "master-follower"? All of these also carry negative connotations. Not as bad as "slave", but people will definitely find ways to point out problems with those, too.

I suppose "leader-follower" might be the least offensive of all, but that's also quite cult-like, and we all know the damage caused to society by cults and leader worship.

Re:On Redis master-slave terminology by Frondo on Thursday September 06, 2018 @07:36PM (#17930596)
I'd prefer primary/replica, because it's both more descriptive and, because Microsoft uses it, is already familiar to a huge swath of techies.

Also carries none of the baggage of slavery.

Re:On Redis master-slave terminology by meowface on Thursday September 06, 2018 @07:39PM (#17930616)
My understanding is that master/slave more accurately describes the relationship than primary/replica does. A replica implies mirroring, but doesn't imply the other key components that differentiate it from the primary or master node.

I think leader/follower is just as accurate while carrying less baggage, but I could see people getting offended by those terms, too. Follower implies lack of autonomy, blind devotion as in a cult, a follower of a dictator like Hitler, power centered around a possible demagogue, etc.

If I were working on a new project I would probably not use "master/slave", because at that point it's trivial not to use it, but to ask an established project to change what they're doing for something so petty seems very silly.

Re:On Redis master-slave terminology by cwkoss on Friday September 07, 2018 @03:59PM (#17937211)
Since antirez has said "all capitalism is slavery" would be funny if he changed it to 'master/employee'
Re:On Redis master-slave terminology by belorn on Friday September 07, 2018 @02:21PM (#17936484)
For how long has people been pulling the master switch? Seems that "master" has long been used as an alternative form of "primary".

I would guess Master and Secondary is the more common relationship in other technical fields, through I would be surprised if master and slave originated in computer technical documentation.

Re:On Redis master-slave terminology by NikolaeVarius on Thursday September 06, 2018 @06:01PM (#17930016)
Why not?
Re:On Redis master-slave terminology by yread on Thursday September 06, 2018 @06:43PM (#17930270)
Perhaps this analogy shows better why master-slave could be offensive to some people:

We could mark deleted rows with a "david star" tag and then run the "holocaust" process on the tables to remove them from storage.

or what about saying "castration" instead of "sandboxing".

Surely, people would agree some words are emotionally loaded and using them is unnecessary

Re:On Redis master-slave terminology by dragonwriter on Thursday September 06, 2018 @06:48PM (#17930301)
> We could mark deleted rows with a "david star" tag and then run the "holocaust" process on the tables to remove them from storage.

That's not really analogous.

Master-slave refers to a power relationship. “David star” (even more clearly your pre-edit “Jew") is a clear reference directly to a specific people, and “holocaust” to specific historical events.

> or what about saying "castration" instead of "sandboxing".

Aside from being a horrible metaphor compared to sandboxing...what about it?

Re:On Redis master-slave terminology by function_seven on Thursday September 06, 2018 @06:58PM (#17930356)
I've seen the term "neutered" used to describe this. Like, "The test environment is a neutered version of production. It won't make POST or PUT calls to our partner databases"
Re:On Redis master-slave terminology by jachee on Thursday September 06, 2018 @05:53PM (#17929944)
> Our goodness and values show in our worldly actions.

So, how hard would it be to

    sed -ri 's/slave/receiver/g; s/master/sender/g' redis_source/
...to make this product better for more people and take nothing away from it? That would be a "worldly action" to show some goodness.
Re:On Redis master-slave terminology by platinumrad on Thursday September 06, 2018 @05:54PM (#17929952)
A huge diff that doesn't mean anything is a nontrivial cost. Documentation would also have to be changed and articles would have to be updated.

Deprecating something, even terminology, should not be done lightly.

[dead]
Re:On Redis master-slave terminology by aiven on Thursday September 06, 2018 @07:05PM (#17930407)
this is how voting works tho
Re:On Redis master-slave terminology by meowface on Thursday September 06, 2018 @07:26PM (#17930535)
In practice, but not on paper. HN guidelines forbid that sort of voting behavior.
Re:On Redis master-slave terminology by grzm on Thursday September 06, 2018 @07:39PM (#17930614)
There is no guideline on HN forbidding down voting for disagreement. 'dang as recently as a month ago reiterated this:

https://news.ycombinator.com/item?id=17666145

Re:On Redis master-slave terminology by meowface on Thursday September 06, 2018 @07:49PM (#17930670)
Ah sorry, not sure where I got that idea from, then. I may've been confused by various subreddit mods establishing rules along the lines of "the downvote is not a disagree button".
Re:On Redis master-slave terminology by dang on Friday September 07, 2018 @05:18AM (#17932896)
Re:On Redis master-slave terminology by jachee on Thursday September 06, 2018 @06:04PM (#17930039)
Sometimes the right thing is nontrivial.
Re:On Redis master-slave terminology by platinumrad on Thursday September 06, 2018 @06:13PM (#17930090)
Maybe. I'm undecided on the issue of changing existing instances of "master-slave", but I would definitely use something else in a greenfield project.

You're getting downvotes not (just) due to disagreements but because your first comment was incorrect (it's not just a sed command) and your second was unproductive.

Re:On Redis master-slave terminology by Turing_Machine on Thursday September 06, 2018 @06:06PM (#17930047)
Standing up to thought-policing bullies is a worldly action that shows goodness, IMO.