I recently had the following exhange on the subject:

[reply to me, after I suggested the word "master" is not a bad one but the act is]

>> I agree that the word isn't necessarily bad itself, but the issue is that humans don't operate on dictionary definitions; we operate on connotations. Master/slave terminology is kind of vague alongside it referencing/being a product of immoral history, so why not make our terminology more accurate and stop normalizing the old terminology?

>> If you were a person whose ancestors were systematically enslaved getting started in tech, would you say "oh those aren't bad words, they're just words" or would you be a little off put that the field glorifies historically racist terminology by using it everywhere that it's vaguely related?

[my reply]

> If you were a person whose ancestors were systematically enslaved

I am such a person.

> would you be a little off put that the field glorifies historically racist terminology

I think this is the distinction, there's no glorification being given, the words we tend to use in computer science and operating system design are relatively clinical.

There are many points here to argue; you could say that people without parents may be put off by 'orphan', or people who have had siblings or loved ones killed as children could be put of by the terms "kill" and "child" especially as they're often used in conjunction.

In fact that last one also applies to me as one of my childhood friends was murdered.

There's other, potentially less harmful terms, like "class-based" programming, if you know anything about Britain and especially the British Raj you know that this is a very touchy subject. In fact it has far reaching implications in India today.

The application of a word should not be marred by the history of a word, especially words that near-universally apply.

> so why not make our terminology more accurate and stop normalizing the old terminology?

This is a well meaning intention, and you know what they [say about the path to hell](https://en.wikipedia.org/wiki/The_road_to_hell_is_paved_with...).

I can think of three arguments against, and they are weakly held so don't think I'm being absolutist or combative or that I can't see reason:

1) There exists a concept called the euphemism treadmill: simply stated it says that the words we typically use to refer to "bad things" is co-opted and abused until it becomes a bad word itself. If we cannot refer to slavery, then we will likely use other words which are loosely related and then those will become bad words also. It is better to simply state that we're not referring to the /human/ slavery, merely the relationship of components.

2) There is a large corpus of work and workers in the world; it might be meaningless to change a few words universally, but you're implicitly asking that potentially hundreds of thousands of people use new language (where english may not be their primary language and so attach to key-words) AND potentially making breaking changes between software revisions AND invalidating any existing documentation/blogspam that refers to these words.

3) There's no actual end to these kinds of changes.
As soon as you draw a line you exclude people. My examples above about orphans and people who have been affected by child murder may seem absurd, but why are they less important? Twitter already announced that they would avoid using 'dummy value' because dummy can affect people.

reason 3 is not an application 'the slippery slope fallacy', it's the fact that you _must_ exclude some subset of people if you chase this way of thinking, there must be a line drawn at some point as it's fractal and the human brain is exceptional at finding reasons to be upset.
It is infinite.

Think, even momentarily how a woman must feel upon persistently hearing the word ABORT.

And, I'm mostly for changing these terms in new software; but changing existing software in this manner makes it political and not technical; the truth will always be that there was no racist intent when people chose master/slave to refer to the relationship between worker objects and controller objects- it was the clearest term to denote the relationship (and, continues to be if you didn't already know this relationship, try it each way with a few nontechnical friends).

You may disagree but I think this conversation with Stephen Fry is telling (directly in relation to this topic, and not generally): https://youtu.be/vsR6LP7Scg0?t=420