Mailing List Archive

[issue41521] Replace whitelist/blacklist with allowlist/denylist
New submission from STINNER Victor <vstinner@python.org>:

I propose to replace whitelist/blacklist with allowlist/denylist. The terms whitelist and blacklist can be associated to color skins which isn't the intent. To avoid confusion, I propose to use neutral terms: allowlist and denylist. Moreover, as a french person (english is not my first language, but french), "allow" and "deny" are even more explicit to me than "white "and "black".

The intent is to make the Python community more welcoming and more diverse by avoiding to make some people uncomfortable.

Many other projects already replaced whitelist/blacklist with allowlist/denylist:

* GitLab: https://gitlab.com/gitlab-org/gitlab/-/issues/7554
* React: https://github.com/facebook/react/commit/8a8d973d3cc5623676a84f87af66ef9259c3937c
* Mediawiki: https://phabricator.wikimedia.org/T254646
* GitHub: https://thenextweb.com/dd/2020/06/15/github-plans-to-replace-racially-insensitive-terms-like-master-and-whitelist/
* Google Chrome: https://9to5google.com/2020/06/12/google-android-chrome-blacklist-blocklist-more-inclusive/
* etc.

See also:

* Carolyn Stransky's "Humanizing Your Documentation" presentation:
https://speakerdeck.com/carolstran/humanizing-your-documentation-full-talk
* bpo-34605: "Avoid master/slave terminology"

Attached PRs replace whitelist/blacklist with allowlist/denylist.

----------
assignee: docs@python
components: Documentation, Library (Lib)
messages: 375170
nosy: docs@python, vstinner
priority: normal
severity: normal
status: open
title: Replace whitelist/blacklist with allowlist/denylist
versions: Python 3.10

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Change by STINNER Victor <vstinner@python.org>:


----------
keywords: +patch
pull_requests: +20951
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/21822

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Change by STINNER Victor <vstinner@python.org>:


----------
pull_requests: +20952
pull_request: https://github.com/python/cpython/pull/21823

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Christian Heimes <lists@cheimes.de> added the comment:

+1

----------
nosy: +christian.heimes

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Change by STINNER Victor <vstinner@python.org>:


----------
pull_requests: +20953
pull_request: https://github.com/python/cpython/pull/21824

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Change by STINNER Victor <vstinner@python.org>:


----------
pull_requests: +20954
pull_request: https://github.com/python/cpython/pull/21825

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
miss-islington <mariatta.wijaya+miss-islington@gmail.com> added the comment:


New changeset fabd7bb8e0450f16ed5c5c0ad575aa413d65712d by Victor Stinner in branch 'master':
bpo-41521: Replace whitelist/blacklist with allowlist/denylist (GH-21822)
https://github.com/python/cpython/commit/fabd7bb8e0450f16ed5c5c0ad575aa413d65712d


----------
nosy: +miss-islington

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:


New changeset 0ee0b2938cb606151d8d287472c838044bad4a0e by Victor Stinner in branch 'master':
bpo-41521: Replace whitelist/blacklist with allowlist/denylist (GH-21823)
https://github.com/python/cpython/commit/0ee0b2938cb606151d8d287472c838044bad4a0e


----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Change by STINNER Victor <vstinner@python.org>:


----------
pull_requests: +20955
pull_request: https://github.com/python/cpython/pull/21826

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:

"While the etymology of the words isn't steeped in racial undertones or history like other problematic tech word choices, there is no harm in changing them to synonyms that as just as understandable and avoid the question entirely"

https://web.archive.org/web/20180921225759/https://github.com/facebook/react/issues/13604#issuecomment-419884422

----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:

Another rationale from "Inclusive Chromium code":

Terms such as “blacklist” and “whitelist” reinforce the notion that black==bad and white==good. That Word Black, by Langston Hughes illustrates this problem in a lighthearted, if somewhat pointed way. These terms can usually be replaced by “blocklist” and “allowlist” without changing their meanings, but particular instances may need other replacements.

https://chromium.googlesource.com/chromium/src/+/master/styleguide/inclusive_code.md

----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Serhiy Storchaka <storchaka+cpython@gmail.com> added the comment:

Should not such changes be widely discussed on the Python-Dev mailing list before merging?

----------
nosy: +serhiy.storchaka

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
?ukasz Langa <lukasz@langa.pl> added the comment:


New changeset 0e95bbf08571e98f4b688524efc2dcf20d315d91 by Victor Stinner in branch 'master':
bpo-41521, typing: Rename _PROTO_WHITELIST to _PROTO_ALLOWLIST (#21825)
https://github.com/python/cpython/commit/0e95bbf08571e98f4b688524efc2dcf20d315d91


----------
nosy: +lukasz.langa

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:

Serhiy:
> Should not such changes be widely discussed on the Python-Dev mailing list before merging?

I would prefer avoiding python-dev, since there are many trolls there who like to argue but not try to fix problem. See the recent discussion about the PEP 8 commit message for example.

I opened https://github.com/python/devguide/issues/605 to define general guidelines about terminology.

----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:


New changeset 20ae565bd2d79425d5567c001ed8f89848d7d907 by Victor Stinner in branch 'master':
bpo-41521: Replace denylist with blocklist is http.cookiejar doc (GH-21826)
https://github.com/python/cpython/commit/20ae565bd2d79425d5567c001ed8f89848d7d907


----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
Raymond Hettinger <raymond.hettinger@gmail.com> added the comment:

> I would prefer avoiding python-dev, since there are many
> trolls there who like to argue but not try to fix problem.

It's not a good precedent to define as trolls anyone who might legitimately disagree, nor is it a good precedent to bypass discussion entirely. IMO, Serhiy's request was reasonable and shouldn't be dismissed.

For this particular change, I'm +1 because it represents an industrywide terminology shift, because it makes a proactive effort to be responsive to cultural problems, and because the change doesn't impair clarity.

That said, I concur with Serhiy that there should be a discussion before making a unilateral and stealthy change to the rules about how people are allowed to write technical prose.

----------
nosy: +rhettinger

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:

> That said, I concur with Serhiy that there should be a discussion before making a unilateral and stealthy change to the rules about how people are allowed to write technical prose.

I suggest you to join the discussion there:
https://github.com/python/devguide/issues/605

----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:


New changeset fbf43f051e7bf479709e122efa4b6edd4b09d4df by Victor Stinner in branch 'master':
bpo-41521: Rename blacklist parameter to not_exported (GH-21824)
https://github.com/python/cpython/commit/fbf43f051e7bf479709e122efa4b6edd4b09d4df


----------

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com
[issue41521] Replace whitelist/blacklist with allowlist/denylist [ In reply to ]
STINNER Victor <vstinner@python.org> added the comment:

I don't think that it's worth it to backport these changes, so I close the issue.

Again, to avoid reintroducing such terms, I proposed https://github.com/python/devguide/issues/605 to define some general guidelines on the terminology.

Thanks for reviews.

----------
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed

_______________________________________
Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue41521>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/list-python-bugs%40lists.gossamer-threads.com