Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Blacklist-Whitelist Recommendation #114

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 47 additions & 26 deletions content/word-lists/tier-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,45 @@ Terms in this list should be replaced immediately when encountered. Read the [Ov

## Whitelist, blacklist

**Definition:**
### Terms

Lists which permit or deny a set of nouns, or select enabled features.
* blacklist
* whitelist

**Proposed alternative:**
### Concept

* allowlist/denylist
* allowedNouns/deniedNouns
Noun: A list of authorized or unauthorized entities that might be permitted or denied access to computers and networks.

**Reasoning:**
Verb: The computer administration practice of creating a list of authorized or unauthorized entities to protect computers and networks and to prevent unnecessary demand for resources.

The underlying assumption of the whitelist/blacklist metaphor is that white = good and black = bad.
Because colors in and of themselves have no predetermined meaning, any meaning we assign to them is cultural: for example, the color red in many Southeast Asian countries is lucky, and is often associated with events like marriages, whereas the color white carries the same connotations in many European countries.
In the case of whitelist/blacklist, the terms originate in the publishing industry – one dominated by the USA and England, two countries which participated in slavery and which grapple with their racist legacies to this day.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If countries will be named, use "the United Kingdom" instead of "England".

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines are deleted in this pull request, no need :)

### Recommendation

From a technical communication perspective, using whitelist/blacklist as a naming convention applies metaphor (and, in turn, unintended meaning) when it isn’t needed.
More directly descriptive words like allowlist/denylist enhances understanding. Allowlist/denylist, or simply using allowed/denied as an entity prefix has the added benefit of being easily translatable to other human languages.
Replace immediately.

**Recommendation:** Adopt immediately
### Recommended replacement terms

**Preferred replacement terms**

* blocklist/denylist/block
* allowlist/allow

**Alternative replacement terms**

* passlist
* deny

### Unsuitable replacement terms

### Use context

* blocklist or denylist: A list of entities that are denied access
* allowlist or passlist: A list of entities that are permitted access

### Rationale for replacement

These terms are based on a metaphor where black represents bad and white represents good, which reinforces systemic racial bias. Terms that use color representationally, such as “black box” and “white glove,” do not reinforce this discriminatory metaphor and are fine to use.

From a technical communication perspective, using whitelist/blacklist as a naming convention applies metaphor (and, in turn, unintended meaning) when it isn’t needed. More directly descriptive words like blocklist/allowlist enhance understanding.

**Supporting research and precedents:**

Expand All @@ -43,7 +63,7 @@ The “master/slave” metaphor in computing refers to a system with a single st

These recommendations are broken into two groups. The preferred group does not use a new metaphor while the also acceptable group does. We recommend choosing an alternative that does not replace one metaphor with another, but understand that some projects may feel that Leader/follower or Parent/child communicates best.

Preferred:
Preferred:

* Control plane/control plane node
* Controller/doer
Expand All @@ -52,21 +72,22 @@ Preferred:

Also acceptable:

* Leader/follower
* Leader/follower
* Parent/child

**Reasoning:**

As the IETF puts it, “Master-slave is an oppressive metaphor that will and should never become fully detached from history.”
The word’s origins and historicial use reveal use that is at best chauvinistic and racist, and in almost all cases connotative of ownership.
While there is some small ambiguity about the term master, the term slave is unambiguously about the ownership and subjugation of another person, and has been since its inception.
As the IETF puts it, “Master-slave is an oppressive metaphor that will and should never become fully detached from history.”
The word’s origins and historicial use reveal use that is at best chauvinistic and racist, and in almost all cases connotative of ownership.
While there is some small ambiguity about the term master, the term slave is unambiguously about the ownership and subjugation of another person, and has been since its inception.

The terms master/slave are harmful to Black and people of color contributors and employees.
Slavery is a tradition barely 3 generations abolished – there are grandparents alive today who were actual, non-metaphorical slaves.
Segregation and Apartheid are even more recent.
In accordance with most open source codes of conduct and company handbooks, the mandate of all people in a project is to create a welcoming space, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
The master/slave terminology normalizes and perpetuates the historical practice of enslavement.
Additionally, the terms master/slave are directly harmful to Black, indigenous, and people of color (BIPOC).
Slavery is a tradition barely 3 generations abolished – there are grandparents alive today who were actual, non-metaphorical slaves.
Segregation and Apartheid are even more recent.
In accordance with most open source codes of conduct and company handbooks, the mandate of all people in a project is to create a welcoming space, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
Master/slave are not welcoming words.

**Recommendation:** Adopt immediately

**Supporting research and precedents:**
Expand All @@ -75,19 +96,19 @@ Master/slave are not welcoming words.
* [IETF Network Working Group: Terminology, Power and Oppressive Language](https://tools.ietf.org/id/draft-knodel-terminology-00.html)
* [django/django PR #2692](https://github.com/django/django/pull/2692)
* [Python issue #34605](https://bugs.python.org/issue34605)
* [Drupal issue](https://www.drupal.org/node/2275877)
* [Drupal issue](https://www.drupal.org/node/2275877)
* [COUCHDB-2248](https://issues.apache.org/jira/browse/COUCHDB-2248)

## Master

In computing, A “master” often refers to the original or main version of an entity.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use lowercase "a".


* main
* original
* main
* original
* source
* control plane

**Reasoning:**
**Reasoning:**

While master in and of itself is potentially neutral, the propensity in which it is associated with the term slave in computing makes master on its own guilty by association. Though it is used as a standalone, it's impossible to remove the association with command and control entirely, and thus we recommend moving away from even singular use.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use "stand-alone" as an adjective.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about "master" in the context of mastery of a skill?


Expand Down