Redis does a Python, crushes 'offensive' master, slave code terms
Campaign to rid programming of hurtful words finds a sequel in noSQL database project
The open-source Redis database, like the Python programming language, is moving away from using the technical terms "master" and "slave" in its documentation and API – to the extent that's possible without breaking things.
For Python, the decision this week to replace the words "master" and "slave", prompted by undisclosed complaints that they're offensive, led to a backlash.
Meanwhile, those overseeing Python's CPython repo on Github today locked a pull request purging the words, and deleted several comments. But not before one developer highlighted the irony of executing the word change using the Git version-control software, which still relies heavily on "master" – for example, merging commits in the master branch. (Barely any instances of "slave" appear in Git code, though.)
The Register asked Python developer Victor Stinner, author of the pull requests and Python bug report at the heart of the issue, whether he would like to discuss the controversy, but he declined. In previous comments, he justified his proposals to strip "master" and "slave" from the widely used programming language by saying some people object to the terms.
Around the same time, the master-slave conundrum resurfaced for Redis, an open-source in-memory database. Last week, Salvatore Sanfilippo, creator of Redis and known online as Antirez, published a blog post recounting how he'd received criticism from a developer for releasing Redis 5.0 RC5 without eliminating instances of "master" and "slave" – an issue Redis has been dealing with for a while.
Sanfilippo said he wasn't interested in changing the terms in Redis, and in return was called "a fascist," a term perhaps as offensive to him as "master" and "slave" might be to someone else given his claim that his family was persecuted by Italian fascists during World War II.
"The first problem is that every terminology is offensive in principle, and I don’t want to accept this idea that certain words that are problematic, especially for Americans to make peace with their past, should be banned," he wrote.
Redis releases respectable revision, tiptoes through tricky political terminologyREAD MORE
He objected to being bullied by the developer who raised the issue, an individual he referred to by the pseudonym "Mark," and said, "I believe that this environment is making it impossible to have important conversations."
But after discussions with others, and running a Twitter poll that found 53 per cent of his followers out of the 6,242 participating in the poll wanted to replace "master" and "slave" with gentler terms, he relented, saying he could not ignore the responses.
In a GitHub post shortly thereafter, he explained that he wanted to take action to prevent his views from affecting the willingness of others to use Redis.
On Thursday, he wrote via Twitter that the work to remove "slave" from Redis documentation was mostly complete, allowing that there were some places the word could not be removed because it was part of the API.
Other open-source communities, such as Drupal and Django, have taken similar action. The Kubernetes project last year affirmed its intention to move away from the terms. (And as happened with the Python community, the discussion had to be shut down after it became too heated.) In the open-source Helm project, "master" by itself has been deemed offensive somehow. Thus "master chart" has become "umbrella chart" in one instance.
In a Twitter direct message to The Register, Sanfilippo explained: "In the limits of what was possible, I finished today to remove the term both from the Redis itself (adding command aliases and removing the logging of the word 'slave') and all the documentation, unless it was needed in certain parts to describe APIs outputting 'slave.'"
Contrarians committed to the controversial terms still have Oracle's MySQL. ®