Google’s new ‘respectful code’ policy is very politically correct

Internal Google documents show the company is making an effort to clean up ‘problematic’ language in its computer codes, but is lacking in a specific approach to identify what constitutes troublesome terminology.

The set of two documents, one of which is referred to as the ‘respectful code’ policy, obtained by Daily Caller show the internet search giant has directed employees to remove references to ‘blacklist,’ ‘whitelist’ and ‘master/slave,’ among other things, from the programming that makes its products operate.

The policy, first written in 2017 an updated in 2018, applies to new and existing code, requiring edits to be made to bring old computer language into compliance.

The ‘FAQ’ [frequently asked questions] portion of the policy suggested that ‘slave’ shows up in ‘>100k instances’ throughout a specific set of code, and it should be done away with.

‘Invoking slavery as a metaphor is insensitive, given both the historical brutality of slavery and the fact that this type of human rights violation still happens today,’ the document read. 

While the message is clear, the route to execution is muddy, with ‘no official procedure right now’ to determine what is and what is not acceptable language.

Internal Google documents show the company is making an effort to clean up ‘problematic’ language in its computer codes, but is lacking in a specific approach to identify what constitutes troublesome terminology. Specific terms to be taken out include ‘master/slave’ references, ‘blacklist’ and ‘whitelist’ and ‘redlining.’ However, for a list of potentially unworkable words, there is ‘no official procedure right now’ to determine what is and what is not acceptable language. A file photo of a person writing code is shown

The FAQ section of the document reads: ‘The baseline is that “master”/”slave” should definitely change (it is explicitly called out in the policy doc), but other terms in “ongoing cleanup” have enough people in agreement they should be changed that cleanup work is actively happening. The guidance from the policy doc is to use your judgement, and ask your project/organization’s D&I [diversity and inclusion] team.’ 

Two words that are specifically not banned, according to the FAQ document, are ‘witchcraft’ and ‘wizardry.’ 

‘At Google, inclusivity is central to our mission and our culture, and our values include treating each other with dignity,’ the policy rationale document read.

‘As such, it’s important that everyone can do their work without facing the harmful effects of bias and discrimination. However, terms in our codebase, Uls [user interfaces], and documentation can perpetuate that discrimination. This documentation sets forth guidance which aims to address disrespectful terminology in code and documentation before they go into production.’

First developed by Senior Fellow Sanjay Ghemawat and VP of Engineering Suzanne Frey in April 2017, the respectful code policy was updated in July of 2018. 

The modifications were made at around the same time that Python, a programming language, opted to remove ‘master/slave’ terms from its lexicon. 

Two words that are specifically not banned, according to the FAQ document, are 'witchcraft' and 'wizardry.' DailyMail.com reached out to Google for comment on the policy and did not immediately receive a reply. A file photo of Google's logo on a smartphone is shown

Two words that are specifically not banned, according to the FAQ document, are ‘witchcraft’ and ‘wizardry.’ DailyMail.com reached out to Google for comment on the policy and did not immediately receive a reply. A file photo of Google’s logo on a smartphone is shown

Master and slave have long been used in computer coding to denote something that is subject to, or follows, another coding command.

‘We ask that people use their judgement about what terms might be inappropriate,’ the document read. 

‘If you think that some people could be offended by a term, avoid that term. One clear example to avoid is the use of the term “slave”  which is often used in a “master/slave” association. Teams renaming these terms should decide what best replacement terms fit their product.’

The documents also included ‘suggested alternatives’ forthe ‘master/slave’ example, like ‘primary/replica,’ ‘master/replica,’ ‘elder/follower’  or ‘master/minion.’

The second document in the set, titled ‘Cleaning up disrespectful terms in existing systems,’ includes more specific words the company is actively removing from existing code. 

For instance, the term ‘redline’ has been suggested to be changed to ‘priority line’ because: ‘Redlining also refers to a racist practice of denying various services to specific, often racially associated, neighborhoods.’ 

Regarding ‘blacklist’ and ‘whitelist,’ the document reportedly read:  ‘This is not about the past usage or origins, but the connotations these terms have today. Terminology equating black to negative and white to positive troubles me, and I’d like to make sure we can write inclusively.’ 

These words and more are to be removed from and not used moving forward in ‘Names of variables, types, functions, build rules, binaries, exported variables’; ‘Test data’; ‘System output and displays’; ‘Documentation’; and ‘Comments.’ 

The policy also conceived of a situation where a particular word might be so entrenched in a code, or be used as a reference to external coding, and therefore might prove too difficult to change, apparently including the term 'trumpssh.' It was not immediately clear where and how the term ‘trumpssh’ was used in Google coding, what it’s been defined to mean, or how it may be offensive. A fie photo of a software code is shown

The policy also conceived of a situation where a particular word might be so entrenched in a code, or be used as a reference to external coding, and therefore might prove too difficult to change, apparently including the term ‘trumpssh.’ It was not immediately clear where and how the term ‘trumpssh’ was used in Google coding, what it’s been defined to mean, or how it may be offensive. A fie photo of a software code is shown

The FAQ section noted: ‘Words can have multiple meanings and origins, and while one person might not think about the sensitive non-technical meaning of a world, another person might, depending on their background. 

‘The argument “I don’t think of this word as a problem” should not exclude it from critiquing. Terms on this list should have explanation for why they’re on the list, and what other meanings or connotations they might have.

‘The list won’t be thousands of words ling [sic] or include every possible monosyllabic word. It should only contain terminology that is actively causing harm and disrespect to coworkers.’ 

The policy also conceived of a situation where a particular word might be so entrenched in a code, or be used as a reference to external coding, and therefore might prove too difficult to change.

‘There may be a last few % [percent} that can’t be changed within our own codebase because of, for example, external dependencies, but we haven’t reached that point,’ the FAQ document read.

‘If a team does reach that point, those reasons should be documented, ideally with an explanation of how much time it would take and who ultimately decided it wouldn’t be done. For example, trumpssh could improve its explanation for why it wasn’t renamed by doing those things.’

It was not immediately clear where and how the term ‘trumpssh’ was used in Google coding, what it’s been defined to mean, or how it may be offensive.

DailyMail.com reached out to Google for comment on the policy and did not immediately receive a reply. 

Read more at DailyMail.co.uk