Software

Developers renew push to get rid of objectionable code terms to make 'the world a tiny bit more welcoming'

'Blacklist' and 'master' keep getting removed from source code


Amid the protests over the death of George Floyd, activists in the software community have taken the opportunity to remind people that they're trying to do away with terminology tied to racial oppression.

On Monday, Scott Hanselman, a programmer and educator who happens to work at Microsoft, published a blog post about how to rename the "master" branch in code repositories created using Git version control software with a less loaded term.

"The Internet Engineering Task Force (IEFT) points out that 'master-slave is an oppressive metaphor that will and should never become fully detached from history' as well as 'In addition to being inappropriate and arcane, the master-slave metaphor is both technically and historically inaccurate,'" he wrote.

"There's lots of more accurate options depending on context and it costs me nothing to change my vocabulary, especially if it is one less little speed bump to getting a new person excited about tech."

This comes from an IETF draft document published in 2018, the same year developers involved in Redis and Python made a push to purge "master/slave" terminology, not to mention Rails.

That same year, the terms elicited a bug report in Google's Chromium project, one that has led to a series of changes since then, percolating down through various header and source files to change "blacklist" to a term without racial overtones, "blocklist," and "whitelist" to "allowlist."

On Saturday, that effort led to a proposed name change for the classes in the components/blacklist directory, the effect of which can be seen in code diffs like this one.

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

READ MORE

Google did not immediately respond to a request for comment, but these changes represent an attempt to comply with the company's code inclusivity guidelines for its Chromium project.

Google is far from the only company dealing with this issue. Pivotal's LicenseFinder swapped "whitelist" for "permitted licenses" in January. Box is currently discussing a shift to "allowlist" and "denylist." Elixir nixed the terms about a week ago. OpenShift merged a pull request to adopt alternate language four days ago. Yelp modified its secret scanning code about two weeks ago. The osquery project is working on it.

Among those contributing to the open source Git project, "master" terminology came up in a mailing list discussion last month about fixing the terminology in the Git source code. The proposal met with resistance, partly because of the amount of work it would entail.

In response to a post arguing for revised wording, Brian Carlson, a developer at GitHub who also contributes to the Git codebase, acknowledged the concerns that have been raised about the terms and objections to making changes. He expressed willingness to review potential changes to Git source code that would purge the term but said he couldn't undertake the project himself.

"It appears that if we made the obvious one-line change to builtin/init-db.c, we'd have 304 tests that fail, which is about a third of our test suite," he said.

At GitHub, the GitHub CLI replaced "master" with "trunk" about two weeks ago and the GitHub Desktop software did the same n 2019.

Despite significant support for these changes, there are also detractors who point out that Git's use of "master" hails from sound recording rather than slave owning (as opposed to the master/slave descriptors applied to device networking) and that "master" has other connotations, like expertise in a field.

Google's guidance on inclusive coding, which focuses more on the use of gendered terms rather than racial ones, notes some of the potential problems with trying to apply inclusive language. For example, coders are advised to avoid the gendered pronoun "he," but "he" is okay if it refers to Helium, the ISO 639-1 language code for Hebrew or the first person conjugation of the Spanish verb "Haber."

Hanselman acknowledges that vocabulary revision does not erase history or make people less racist. "All it does is make the world a tiny bit more welcoming," he said via Twitter. ®

Send us news
235 Comments

What's up with AI lately? Let's start with soaring costs, public anger, regulations...

'Obtaining genuine consent for training data collection is especially challenging' industry sages say

Meet clickjacking's slicker cousin, 'gesture jacking,' aka 'cross window forgery'

Web devs advised to do their part to limit UI redress attacks

VMS Software prunes OpenVMS hobbyist program

Vintage OS editions go the way of the dodo as VSI cranks up exclusivity

Debian spices up APT package manager with a dash of color, squishes ancient bug

2.9 gives a taste of what's to come

Google Cloud chief is really psyched about this AI thing

We're on a highway to ML

YouTube now sabotages ad-blocking apps that stream its vids

EFF lambastes latest 'lazy and deliberately malicious move'

British watchdog has 'real concerns' about the staggering love-in between cloud giants and AI upstarts

Billions in investment? Yeeeah, right – looks more like ensuring only select few developers thrive

Chrome Enterprise Premium promises extra security – for a fee

Paying for browsers is no longer a memory from the 1990s

What if AI produces code not just quickly but also, dunno, securely, DARPA wonders

As 70% of boffinry nerve center's projects involve machine learning

OpenAI's GPT-4 can exploit real vulnerabilities by reading security advisories

While some other LLMs appear to flat-out suck

Microsoft lifts years-old compatibility hold for Windows 11

It probably wasn't only sound driver problems that kept users away

Microsoft to use Windows 11 Start menu as a billboard with app ads for Insiders

This wasn't what most had in mind when Redmond promised to make the feature 'great again'