
 La justesse politique est prise en compte même dans les langages de programmation. La semaine dernière, le développeur Python Victor Stinner de Red Hat a envoyé 
quatre requêtes de pool pour renommer les termes maître / esclave potentiellement offensants dans la documentation et le code Python. L'auteur a proposé de les remplacer par des mots socialement neutres qui n'offensent pas les personnes dont les ancêtres étaient de vrais esclaves. Comme alternative possible, il existe des termes parent / travailleur.
Le changement proposé n'est pas un caprice d'un développeur, mais une tendance générale pour différents langages et technologies de programmation. Stinner a donné des exemples de changements similaires dans 
Redis , 
Drupal , 
CouchDB et 
Django . Ainsi, Django et CouchDB ont remplacé les termes maître / esclave par leader / suiveur.
Dans le même temps, Stinner a exprimé l'opinion que la terminologie «esclavagiste» peut encore être laissée pour certains termes, tels que la branche principale de Git, le webmaster et le postmaster.
Une discussion animée a commencé.
Une recherche dans la base de code python / cpython trouve de nombreuses inclusions des termes «offensants» maître et esclave côte à côte, y compris dans les bibliothèques pty et openpty.
Par exemple, voici le 
code lib / pty.py :
STDIN_FILENO = 0
STDOUT_FILENO = 1
STDERR_FILENO = 2
CHILD = 0
def openpty():
    """openpty() -> (master_fd, slave_fd)
    Open a pty master/slave pair, using os.openpty() if possible."""
    try:
        return os.openpty()
, « » , , , .
, Python Linux — master/slave . , Python, Linux. , Python Linux . «» Python , Linux.
, «» «» . master , . , doctest doctest.master:
# For backward compatibility, a global instance of a DocTestRunner
# class, updated by testmod.
master = None
, .
, « ». , 
nntplib.NNTP() slave(), slave . NNTP, 
3.12 ( SLAVE), .
— mbuf.master PyMemoryViewObject C API:
typedef struct {
    PyObject_HEAD
    int flags;          /* state flags */
    Py_ssize_t exports; /* number of direct memoryview exports */
    Py_buffer master; /* snapshot buffer obtained from the original exporter */
} _PyManagedBufferObject;
/* memoryview state flags */
#define _Py_MEMORYVIEW_RELEASED    0x001  /* access to master buffer blocked */
#define _Py_MEMORYVIEW_C           0x002  /* C-contiguous layout */
#define _Py_MEMORYVIEW_FORTRAN     0x004  /* Fortran contiguous layout */
#define _Py_MEMORYVIEW_SCALAR      0x008  /* scalar: ndim = 0 */
#define _Py_MEMORYVIEW_PIL         0x010  /* PIL-style layout */
typedef struct {
    PyObject_VAR_HEAD
    _PyManagedBufferObject *mbuf; /* managed buffer */
    Py_hash_t hash;               /* hash value for read-only views */
    int flags;                    /* state flags */
    Py_ssize_t exports;           /* number of buffer re-exports */
    Py_buffer view;               /* private copy of the exporter's view */
    PyObject *weakreflist;
    Py_ssize_t ob_array[1];       /* shape, strides, suboffsets */
} PyMemoryViewObject;
, master slave . , . , Python 3.8 master/slave .
, , . , Redis : 1.0.0 
SLAVEOF NO ONE, -slave -master. , . . , 2003 - 
master/slave .
2004 Global Language Monitor 
master/slave . , 
RFC 977 1986 .
- , — . , , Python. 
-, , pty UNIX.
, «» . , «: 5000 » “dominium” () “familia” ():
“dominium”, “dominus”, «», «», “domus”, . . «», «». “domestic” («»), « » , . “Domus” “familia”, . . «», “familia” “famulus”, . . «». , “pater familias”, , , .
, - , , , , — , , . , , . , .
“dominium”, , , , () , , , , , , . ., , .
«», «» : . , . 
.
« !
, , — .
, , . , , .
, .
.
, ».
— fukkit