Software

Python joins movement to dump 'offensive' master, slave terms

Programming language bites its tongue to be more inclusive

By Thomas Claburn in San Francisco

285 SHARE

Python creator Guido van Rossum retired as "benevolent dictator for life" in July, but like Michael Corleone in The Godfather III, he's been pulled back in to resolve a debate about politically incorrect language.

Like other open source communities, Python's minders have been asked whether they really want to continue using the terms "master" and "slave" to describe technical operations and relationships, given that the words remind some people of America's peculiar institution, a historical legacy that fires political passions to this day.

Last week Victor Stinner, a Python developer who works for Red Hat, published four pull requests seeking to change "master" and "slave" in Python documentation and code to terms like "parent," "worker," or something similarly anodyne.

"For diversity reasons, it would be nice to try to avoid 'master' and 'slave' terminology which can be associated to slavery," he explained in his bug report, noting that there have been complaints but they've been filed privately – presumably to avoid being dragged into a fractious flame war.

And when Python 3.8 is released, there will be fewer instances of these terms.

The Redis community wrestled with this last year. In 2014, Drupal, after some argument, swapped the terms "master" and "slave" for "primary" and "replica." The same year, Django traded "master" and "slave" for "leader" and "follower." CouchDB carried out a similar linguistic purge, also in 2014.

The debate goes back further still in the tech industry. In 2003, the County of Los Angeles briefly directed electronics makers doing business with the county to remove or change terms used in the identification or labeling of equipment or components that could be interpreted as discriminatory or offensive, such as "master" and "slave." Public complaints followed and the county backed down by insisting its directive was merely a request.

In 2004, word watching group Global Language Monitor cited the usage of "master" and "slave" in the tech industry as the most politically incorrect term that year. Industry usage of the terms dates back decades; they can be found in multiple RFCs, such as RFC 977 (1986).

Begun, the flame wars have

Predictably, not every Python developer participating in the discussion agrees with Stinner's changes. The comments in the bug report filed by Stinner echo every other online flame war on this topic.

"I'm not super-excited by the idea that Python has to change its behavior based on secret comments," lamented Larry Hastings. "Python has traditionally had a very open governance model where all discussions happen in public."

"Is it really necessary to pollute Python code base with SJW ideology/terminology?" asked Gabriel Marko. "What comes next?"

Redis releases respectable revision, tiptoes through tricky political terminology

READ MORE

Raymond Hettinger asked whether there's any demonstrable harm from the terms. "If a particular passage is demonstrably unclear or offensive, it should be changed; otherwise, we shouldn't let vaguely formed notions of political correctness shape other clear uses of plain English," he wrote.

"As far as I can't tell there isn't a single instance where the docs use 'master' as a reference to human slavery or where the use could be seen to imply an endorsement of that notion."

Finally, van Rossum stepped in to end what appears to be an irresolvable discussion. "I'm closing this now," he wrote. "Three out of four of Victor's [pull requests] have been merged. The fourth one should not be merged because it reflects the underlying terminology of UNIX ptys. There's a remaining quibble about 'pliant children' -> 'helpers' but that can be dealt with as a follow-up [pull request] without keeping this discussion open."

Getting rid of actual masters and slaves, however, will take more than a pull request. ®

Sign up to our NewsletterGet IT in your inbox daily

285 Comments

More from The Register

A spot of Python in your Azure automation? Step right this way, sir

Python 2 support for runbooks slithers out of preview

Using Python in Visual Studio Code? Microsoft has new toys for you

You will use the new debugger and you will like it, OK?

New Python update slithers into release

Behold, the new, faster version 3.7, with nanosecond timing, data classes and docs in more (human) languages

Microsoft Visual Studio Code replumbed for better Python taming

Python Language Server an option for those that code

Pleasant programming playground paves popular Python path

Shrew'd thinking: Code Shrew helps peeps who want to, or need to, gobble a slice of Py

New Monty Python movie to turn old jokes into new royalties

You silly English k-niggits will probably flock to see Spamalot the musical movie

Hooray: Google App Engine finally ready for Python 3 (and PHP 7.2)

'OG of serverless' gets modern makeover

Python wriggles onward without its head

Analysis The software's just fine, annual codefest agrees

Redis does a Python, crushes 'offensive' master, slave code terms

Campaign to rid programming of hurtful words finds a sequel in noSQL database project

Python creator Guido van Rossum sys.exit()s as language overlord

‘Benevolent dictator for life’ tired of the hate, leaves behind no successor or governance