
Avoid master/slave terminology - atoledano
https://bugs.python.org/issue34605
======
legostormtroopr
Let’s sidestep the fact that most nations and races have been subjected to
slavery, so using the term Slave doesn’t refer to any race - except perhaps
the Slavs, who were enslaved so much through history, that’s where the word
slave came from. Also, lets forget about the tens of thousands of people who
currently live in slavery across the world.

The use of master/slave quickly describes unique a relationship. One orders,
the other obeys blindly.

What alternatives are there:

Parent/child - no child obeys willingly, and this implies a hierarchy or
inheritance where the parent and child are similar

Leader/follower - this implies the follower will eventually catch-up, great
for databases, not so much for describing work allocation.

Aplha/Omega - this was in that comment chain, without going off and learning
about wolf social structures, I’d have no clue what this is. It’s just
foolish.

Master/slave terminology is used as a metaphor to describe a technical
behaviour, it’s not an implicit approval of past human behaviour.

The only people who recommend this change are virtue signalling - they want to
look like their are doing a great good, and they pick an easy target. No doubt
when confronted with the choice of “change this term, or we call you
exclusionary/non-diverse/racist”, people will reluctantly choose the former
every time. Which means the signaller gets what they want, change and the
ability to say “I did something” not matter how trivial.

~~~
knaik94
I would be fine with Master/Clone or Master/Replica. I feel like master is
needed to convey the meaning clearly, but slave isn't. Master as in master
vinyl record.

~~~
legostormtroopr
A slave process or drive is not a clone of the master though. They might be
entirely different code.

------
peterhadlaw
Similar nonsense came up not too long ago so I'm just going to borrow my
previous post:

If you want to make progress in tech, don't let "progress" (in quotations)
live rent free in your mind. Focus on actually building stuff.

I hate to use oppression Olympics as an argumentative avenue but I'm a Slav,
the word slavery comes from the enSLAVement of Slavic people.

It's often an accurate description of the relationship and even if it's just
slightly inefficient, still works great. Why pollute your mind and thought
stream with such trivial qualms. Build. Learn. Don't sweat dumb crap.

Same with whitelist / blacklist. From an English perspective these and
master/slave have been archetypes for as long as the language has existed.
Don't make problems where there are none, and don't TRY to pollute my mind by
making me think there are problems, where again there are none. Enough people
outside of tech are doing that to the populace.

~~~
type0
This topic is very US centric and shows how deep the disregard is for people
of other ethnicities.

> The word slovo ("word") and the related slava ("glory, fame") ... [0]

The word is indeed derived from "slav" ethnonym and it's unbelievable that no
one actually cares. The whole thing smells not just "word policing" but
"history revisionism".

Jewish people were enslaved for so much of their history (by babylonians,
egyptians etc) should we simply forget that because some people feel uneasy
hearing the word slave and imagining this inhumane practice? Also no one
forces you to antropomorfize technical concepts.

It strikes me how fast the discussion went off topic to the "subconscious
racism" of black people in the previous threads about this. [1]

As mentioned in other discussion, this is a very slippery slope to go. Next
time I won't be able to use the technical term "torture testing" to refer to
server workloads because torture sounds aggressive and inhumane. What more
combination of words I won't be able to use? Will I be able to write about
"cookie stealing", it's illegal to steal so we surely need to ban that word.
There are after all people that have their whole life savings stolen from them
by the crooked investment managers so the "stealing" concept will remind them
about that and might hurt their feelings.

[0]
[https://en.wikipedia.org/wiki/Slavs_(ethnonym)](https://en.wikipedia.org/wiki/Slavs_\(ethnonym\))
[1]
[https://news.ycombinator.com/item?id=17930979](https://news.ycombinator.com/item?id=17930979)

------
grep-F
I don't like that type of changes, it seems very counterproductive. Those are
words used in a context and to me it seems that today people lost their minds
and trying to keep everybody in perfect hermetic world, where everybody is
happy and smiling. On one side we say to not judge anybody or anything, and on
the other we do things like that - where if you would get the context
everything would be ok. What will be next? Should we change kill command as
well?

~~~
UncleMeat
The goal isn't to create a perfect world. The goal is to create a slightly
better world at extremely minimal cost, given that there are plenty of
workable alternative terms. I agree that this affects a very small number of
people. But it _does_ affect them and we have an opportunity to make the world
just a tiny bit more kind.

~~~
grep-F
I don't agree, I think some people are being overprotective.

Let's go the other way around, how many words that might sound bad, in how
many languages, exists in all the codebases. And now, how many people feeling
bad about this I have to find to make change to some code? I know that sounds
ridiculous, but I want to say, hey where's the limit, should we all speak
using some machine - neutral words?

And another argument, what if that kind of change could brake my project, do
somebody care about me?

~~~
UncleMeat
Sure why not? If a term is truly causing harm then we should seriously
consider removing it.

Programs are identical after renaming. How exactly would such a change break
your project?

~~~
type0
How can technical terminology cause harm? This is simply "history revisionist"
attempt to erase the concept from the public consciousness. The usage of the
"slave" word in software is so abstract that removing creates much more harm
because it will produce miscommunication and result in faulty programs where
there shouldn't .

What word will one replace "slave" with? Should we go to the origins of the
word and just use ethnonym "slav" instead? After all it has only positive
connotations {The word slovo ("word") and the related slava ("glory,
fame"...}. And sure slavic people won't mind right?! /s

------
type0
Thou shalt not kill!

I hope that Python community will show some respect to the religious
programmers and follows by removing all statements regarding the use of the
word "kill" as well /s

------
infiniteseeker
Next will be male/female (in the context of wires, plugs, sockets etc) and it
will be on a "spectrum of gender fluidity".

Political correctness/SJWism has gone insane and cannot be taken seriously.

~~~
downquarklove
Those namings relate to male/female sexes, not genders, so thats not
applicable here. And even if it was applicable, if the name is steeped in a
context that is oppressive to certain groups and there is a viable alternate
name, what's the harm in exploring those alternatives and making conversations
comfortable for everyone who might be involved?

~~~
subjectsigma
This issue has popped up at least once before where someone on Github was
complaining about the terminology "killing a child process" because they had
recently had a death in the family and were trying to cope. Most agreed that
changing it would be a tremendous waste of time (think of all that perfectly
good documentation and code which must be rewritten), unnecessarily polarizing
(I won't join your project because your dictionary words hurt me!), placing
the needs of the few squarely over the needs of the many, and teaching people
that "social justice" means "everything should be as I want it."

It really depends on what you mean by "a context that is oppresive to certain
groups", but I think this is roughly the same. Nobody should have to endure
insults, bullying, harrasment, sexual innuendos, etc. in open source projects,
especially maintainers and contributors. However it sounds to me like hurting
over words such as master/slave, male/female, kill/fork/dongle/etc is an
incredibly small group of people actively looking to cause problems. If you
absolutely can't accept the terminology "killing a process" then perhaps the
problem lies with you, not 40-odd years of convention.

~~~
downquarklove
What about phasing out the usage of offensive terms in the same way we do with
non-programming languages? We don't go back and correct all of our books, but
when reading old books the offensive terms that were common in previous times
stick out like sore thumbs. And I know that I have at least a few phrases that
I used to use without a thought that I conciouslly chose to drop from my
speech now that I see the wrong in them. I think we can choose to change as a
community with little overhead to the "many" but provide a great benefit to
the "few".

~~~
subjectsigma
That's a reasonable suggestion that's hard to argue with - I still don't see
it happening. There's no consensus on what words are bad (what makes "kill"
worse than "dongle", etc.) or how these should be phased out. Does that mean
at the next major version number? By 2025? Will the documentation be
internally inconsistent during those years? If some projects agree and others
don't there would be cumbersome fragmentation. And... for what? So a couple
dozen people in the entire community can avoid the concepts of murder or sex
or slavery, as if they didn't exist?

I guess it all comes down to context, really... It's easy for me to sit here
and say "This change is meaningless" but I guess if I had lots of influence
over Python and I knew people who were actually suffering because of this, I
may approach it differently.

------
cpburns2009
_Checks calendar, notices it 's early September._

Is contributing to an open source project by any chance an assignment in some
college class? Either that or they must be having a really slow couple days
over at metaphorical Python HQ where bike-shedding has been taken up to pass
the time.

~~~
x1798DE
The OP of that bug is one of the most active core developers of CPython and
has been for almost a decade...

------
svrtknst
I like this. It's a pretty small change, for the better. It doesn't
(should't...) disturb anyone, but might make things just a little bit better
for some others. Remove some slight friction.

A small, positive change.

------
badrabbit
No problem against this,good if it makes anyone more comfortable in the
community.

Master/slave relationship is not uncommon throught history. I think if someone
learned history well this wouldn't offend them all that much. But still,this
isn't a misunderstanding worth making anyone uncomfortable. When I was a
teenager,I remember similarly feeling uncomfortable with IDE interface's
master/slave terminology.

~~~
commandlinefan
... bad if talented people who could be doing something more important (which
includes absolutely anything) are forced to waste their time either doing this
or arguing why they shouldn't be.

------
wuunderbar
Some thoughts on this from a core Redis maintainer:

[http://antirez.com/news/122](http://antirez.com/news/122)

------
knaik94
If they decide to go through with the change, I hope different languages and
program agree on the new term.

I personally believe that lack of clarity is the only reason these kinds of
changes should be made.

I assumed that master/slave terminology came from the idea of copying from a
master record vinyl, am I missing something?

I just wonder if this will set a precedent of controversy about the most
innocuous things, just to make sure it's politically correct.

~~~
ggggtez
Master slave comes from slavery. Generally the master doles out work for the
slaves to do.

Specifically, even if the phrase is based on an earlier technology, what is
that technology's terminology based on? There is no other answer but actually
slavery at the end.

~~~
nocigar
Wait until you hear where the word "server" comes from...

------
aphelion
In the real world, what's going to make Python less accessible to PoC new to
programming(and new programmers generally) is the arbitrary change in well-
defined industry-wide terminology. Working from documentation and learning
resources that employ master/slave when those terms have been memory-holed in
the newest versions of the language is the sort of seemingly minor change that
trips up neophytes.

I'm not totally opposed to changing master/slave. But in light of the real
cost of this sort of breaking change I'd want to see some evidence of actual
harm, rather than some guy(who, I feel compelled to point out, is a white man)
insisting that we change it for what are, at best, totally theoretical and
speculative harms.

------
yellowapple
If I'm into BDSM, can I claim offense with this ticket and resulting PR?

------
ggggtez
Complete with someone saying we shouldn't change anything to preserve the
history and culture of the older generation.

------
lurquer
Not nearly as offensive as ORG in assembly.

