News

Python became politically correct and got rid of Master-Slave scheme

1 min read

Lately, political correctness has been taking on some really surprising shapes. Some time ago, Red Hat’s Victor Stinner suggested that Python code be stripped of the words “master” and “slave. According to him, these terms are politically incorrect and associated with slavery and inequality. This split the developer community.

The controversy was settled by the former generous lifelong dictator Guido van Rossum. During the discussion, five commits were submitted, of which four will be accepted. The updates will appear in Python 3.8. The last change was rejected because it affected established UNIX ptys terminology, and through it, a number of other projects.

There are quite a few changes proposed, but the gist of them is this: the word “master” is replaced by “parent”, “main”, or “server” in various cases, and “slave” is replaced by “child” or “worker” depending on the context. During the discussion, the proponents of renaming argued their position with the provisions of political correctness and negative connotations in these words. Opponents argued that politics and programming should not be confused, since the terms are already well-established among developers. At the same time, they do not insult or justify slavery in any way. But there can be problems of confusion and lack of backward compatibility. However, given that the second and third branches of Python are not fully compatible with each other, the latter issue was clearly not considered a priority.

That said, note that “master” and “slave” were replaced by “primary” and “replica” in Drupal a few years ago, and “leader” and “follower” in Django and CouchDB, respectively. Similar changes may await Redis.

Note that the “master” and “slave” tokens were used until a certain time in the “iron” environment, when they used hard drives of the IDE standard. This is not so relevant now.