-
Notifications
You must be signed in to change notification settings - Fork 39
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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. | ||
### 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:** | ||
|
||
|
@@ -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 | ||
|
@@ -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:** | ||
|
@@ -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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Use "stand-alone" as an adjective. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about "master" in the context of mastery of a skill? |
||
|
||
|
There was a problem hiding this comment.
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".
There was a problem hiding this comment.
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 :)