Hacker News new | ask | show | jobs
by halomru 3347 days ago
How is Master/Slave discrimatory language? Who is discrimated there?

In my eyes it is simply a factual description of an architecture: the master gives commands, the slave obeys. The slave doesn't act without permission from the master and only speaks when spoken to. I wish no such thing for any human, but it describes a great architecture for software and hardware.

5 comments

I don't want to get into an argument about discrimination and sensitivity and trigger words and all that.

The real point here is that slave has a lot of meanings, currently and throughout history, and thus has a lot of baggage. A slave is not just someone/something that obeys or only speaks when spoken to. A slave is owned by its master. A slave is entirely under the domination of the master. That doesn't really map cleanly on to replication. A master database doesn't really own or control the slave database; it just provides a log of actions performed against it that the slave needs to mimic.

As I understand history, the master/slave metaphor has been used for a long time in technology (e.g., in machinery and photography), well before computers or software, but we have better terminology. Many organizations use primary/replica or even just master/replica.

Using replica instead of slave seems like an obvious win. It's more precise and clear, and it avoids the baggage. It's also more intuitive when you're using the slave DB for reporting, i.e., "read replica" makes more sense to me than "read slave". Maybe that's just me. I don't see a downside to using replica.

While following this thread I found your comment initially jarring, because in my mind I was thinking of the ATA protocol and not databases. And it appears that neither are good examples.

Perhaps not the best reference, but this Wikipedia page provides some examples as well as some info on the appropriateness of use that I found interesting:

https://en.wikipedia.org/wiki/Master/slave_(technology)

FWIW, it makes sense for databases, but not for peripherals in which one is controlling the other. E.g. an SPI memory chip. If that were called a "replica," it would be confusing.
Yeah, I hear that. I think the general point still stands. Master/slave is a metaphor that we have imbued with specific technical meanings in certain contexts. However, it is rarely (probably never) a perfect match with the historical meanings of slavery. We now have equally precise, typically more precise, terms we can use instead of the metaphor and avoid the negative baggage recalling barbaric acts.

EDIT: Not that you're arguing otherwise, I'm just restating my point more succinctly and abstractly.

Primary/secondary, master/replica depending on context.

"Replica" is actually a lot more meaningful than "slave" in terms of databases.

Good explanation. I always thought "worker" made more sense than "slave" in a distributed computing platform such as Hadoop.
I'm sure somebody can come up with a better term than "master/slave", for an equitable relationship between hardware or software that's harmoniously cooperating towards a shared goal by willfully and respectfully delegating authority.

Even the old telnet protocol politely and consensually negotiates with will/won't/do/don't, and it's not protocolly correct for a server to rape a client, who historians then romanticize as a mistress.

Another common metaphor that I find cognitively dissonant is calling the relationships between nodes in a tree "parent" and "child", since all humans have exactly two biological parents, but all tree nodes have only one parent.

https://www.quora.com/Can-a-binary-tree-node-have-multiple-p...

& why are Strings made up of chars — surely a string should be made up of Threads?
Commander - Receiver Instructor - Actor

Off top of head

[super]<class> and [sub]<class>s (or simply 'subitems'). Like in superview and subviews, group and subitems, superclass and subclass.
Yes, that's a great example of why it's always good to use names that describe the nature of the relationship, because nodes can exist in multiple hierarchies at once, that have no topological relationship to each other, like a view hierarchy and a class hierarchy.

A Button can be inside a Panel, but not a subclass of Panel.

A Button can be a subclass of Control, but not inside a Control.

Having two types of parents (view and class) is different that having two parents (mommy and daddy).

There are situations with IVF where a child may have more two parents, e.g. when the genetic mother is different from the gestational mother.
Uh don't get this debate restarted https://www.drupal.org/node/2275877 played some(?) role in Larry Garfield pretty high profile ousting ... three years later. It's one ugly topic.
It makes Americans uncomfortable, because many of them subconsciously associate the word 'slave' with black people.
Wow - I really hope that was meant to be sarcastic... (if so, sorry I missed it, carry on and ignore this)

I'm a white male and even I can read the tone-deafness in master/slave. Modeling computer architecture names on one of the great crimes against humanity is not a great naming convention, I'm sure you can agree.

Honest question: what is it that happens to you when you read the words master and slave in the context of computer science? Slavery is horrible and so is killing, but I do not shed a tear whenever the words 'kill/terminate process' appear on my screen - I don't get visions of beheadings, I don't associate it with the act of ending a human life. It's a safe bet to say that no one reading about computer architecture today suffered as a slave, so saying this terminology triggers you is akin to me pretending to be bothered by loud noises because my great-grandfather went through war.

When you hear about a master/slave relationship or a male/female connector, you know immediately what is being described, which is pretty good for a method of communication. If you are unable to interpret words based on their context, I'm inclined to believe it's not the language that's the problem. I doubt that's the case though, I think these manufactured outcries are attempts at social engineering and moves in a game of power (controlling language->discourse->thought).

> I do not shed a tear whenever the words 'kill/terminate process' appear on my screen - I don't get visions of beheadings, I don't associate it with the act of ending a human life.

I'm totally with you. Just wanted to contribute to the thread by leaving this classic here for anyone who wants visions of (trigger warning!) ending daemon life:

Doom as a tool for system administration:

http://cs.unm.edu/~dlchao/flake/doom/

I too could not tell if this person was trolling. It's a good example of Poe's Law:

https://en.wikipedia.org/wiki/Poe's_law

Should we ban these words altogether?
Just learn ThoughtSpeak! It will solve all your problems...