[Django] #31670: Change "whitelist" to "allow list" and "blacklist" to "deny list" in documentation

74 views
Skip to first unread message

Django

unread,
Jun 6, 2020, 12:22:11 PM6/6/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list" in
documentation
-------------------------------------------------+------------------------
Reporter: Adam (Chainz) Johnson | Owner: nobody
Type: Cleanup/optimization | Status: new
Component: Documentation | Version: master
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------------------+------------------------
Started by David Smith in https://github.com/django/django/pull/12755 but
closed due to lack of discussion at the time. He used the term "blocklist"
but I think "deny list" fits better in most circumstances.

Due to #BlackLivesMatter, this is currently being discussed on Twitter by
several people including Simon Willison:
https://twitter.com/simonw/status/1269292897997709317 . Carlton and I
discussed on the original PR that the term's origin in English wasn't
racist. But it has been used in racist contexts, and continues to be.
Given that we put up our banner of support for BLM I think we should also
make this docs change.

The 'whitelist' parameter and attribute of EmailValidator will need to go
through the normal deprecation process.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Jun 6, 2020, 1:02:26 PM6/6/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list" in
documentation
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version: master
Severity: Normal | Resolution:

Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Luke Plant):

Can you give an example of it being used in racist context that means that
the word "blacklist" itself carries a racist meaning? I can use the word
"Hello" in a racist context, it doesn't make it racist.

Please let's not do this. It distracts from real issues, and discredits
the BLM movement, because it is based on ignorance and misunderstanding.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:1>

Django

unread,
Jun 6, 2020, 5:34:05 PM6/6/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list" in
documentation
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version: master
Severity: Normal | Resolution:

Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by David Smith):

Here are a few examples.

Microsoft made pull requests against Google's Chromium (allowlist /
blocklist) https://bugs.chromium.org/p/chromium/issues/detail?id=981129
Rails - (allowlist / denylist) https://github.com/rails/rails/issues/33677
Tox - Issue closed due to backwards compatibility issue - Django currently
relies on this setting. https://github.com/tox-dev/tox/issues/1491

[https://github.com/django/django/pull/13031 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:2>

Django

unread,
Jun 7, 2020, 6:12:28 AM6/7/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list" in
documentation
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version: master
Severity: Normal | Resolution:

Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Claude Paroz):

I'm totally with Luke on this matter (https://lukeplant.me.uk/blog/posts
/stop-trying-to-blacklist-blacklist/).
Let's not start flame wars, and do not rush this please.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:3>

Django

unread,
Jun 8, 2020, 12:55:52 AM6/8/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".

-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: wontfix

Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* status: new => closed
* resolution: => wontfix
* component: Documentation => Core (Other)


Comment:

There are also technical terms used in many (or at least few) RFCs so
changing them can be misleading. We should reach a consensus on
DevelopersMailingList before we will move it forward. Please start a
discussion.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:4>

Django

unread,
Jun 8, 2020, 2:46:09 AM6/8/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: wontfix
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Luke Plant):

I have put my thoughts together in a longer form here -
https://lukeplant.me.uk/blog/posts/stop-trying-to-blacklist-blacklist/

If the rest of the community disagrees with me, I'm not going to stand in
the way, but I think it is important that we are not discrediting
ourselves and the stand we have made (which I agree with entirely) by a
partisan spirit.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:5>

Django

unread,
Jun 15, 2020, 10:23:34 AM6/15/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: wontfix
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Flavio Curella):

I think all the etymological and linguist discussion detracts from the
actual issue that we are trying to solve.

I would argue that it does not matter where words come from, or how we,
the privileged people, interpret them. The only questions we need to
answer are:

* Do these words makes Black people less welcome?
* Would replacing them be an improvement for them?

Then we can evaluate how hard it would be to change, and compare it to how
much we value their experience.

Instead of focusing on logic and prior knowledge, let's focus on future
developer experience.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:6>

Django

unread,
Jun 15, 2020, 2:42:55 PM6/15/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: wontfix
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Adam (Chainz) Johnson):

Mailing list discussion: https://groups.google.com/d/msg/django-
developers/tctDuKUGosc/FIiPPYv_AQAJ

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:7>

Django

unread,
Jun 16, 2020, 2:59:53 PM6/16/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new

Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Adam (Chainz) Johnson):

* status: closed => new
* resolution: wontfix =>


Comment:

The mailing list discussion seems in favour of doing this, and the PR has
been reopened.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:8>

Django

unread,
Jun 16, 2020, 3:29:25 PM6/16/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* stage: Unreviewed => Accepted


--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:9>

Django

unread,
Jun 17, 2020, 7:16:26 AM6/17/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by GitHub <noreply@…>):

In [changeset:"10df5b71775d8ee98201acb1367266521b17cc00" 10df5b71]:
{{{
#!CommitTicketReference repository=""
revision="10df5b71775d8ee98201acb1367266521b17cc00"
Refs #31670 -- Removed whitelist/blacklist terminology in docs and
comments.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:10>

Django

unread,
Jun 17, 2020, 7:17:42 AM6/17/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: nobody
Johnson |
Type: | Status: new
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"9b95c3bc090ed01b8e46aca14964e23d5b6469f7" 9b95c3bc]:
{{{
#!CommitTicketReference repository=""
revision="9b95c3bc090ed01b8e46aca14964e23d5b6469f7"
[3.1.x] Refs #31670 -- Removed whitelist/blacklist terminology in docs and
comments.

Backport of 10df5b71775d8ee98201acb1367266521b17cc00 from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:11>

Django

unread,
Jun 18, 2020, 4:31:01 AM6/18/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: David
Johnson | Smith
Type: | Status: assigned

Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* owner: nobody => David Smith
* status: new => assigned
* has_patch: 0 => 1
* stage: Accepted => Ready for checkin


Comment:

[https://github.com/django/django/pull/13079 EmailValidator PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:12>

Django

unread,
Jun 18, 2020, 5:09:47 PM6/18/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: David
Johnson | Smith
Type: | Status: assigned
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"27c09043da52ca1f02605bf28600bfd5ace95ae4" 27c0904]:
{{{
#!CommitTicketReference repository=""
revision="27c09043da52ca1f02605bf28600bfd5ace95ae4"
Refs #31670 -- Renamed whitelist argument and attribute of EmailValidator.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:13>

Django

unread,
Jun 18, 2020, 5:11:38 PM6/18/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: David
Johnson | Smith
Type: | Status: closed

Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: fixed

Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* status: assigned => closed
* resolution: => fixed


--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:14>

Django

unread,
Jun 20, 2020, 6:37:34 PM6/20/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: David
Johnson | Smith
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Alexander Ovchinnikov):

I am [as part of the Django user community] don’t give a damn about the
black skin community members, gays, women, cats and puppies etc. I'm sorry
for that.

Their troubles are their troubles, not my. Django project is not about
saving world or humanity or black people.

You may follow #BlackLivesMatter or #AllLivesMatter or anything like that
in your free time for you personal projects, why not.

I'm not a racist etc. I just do not want to spend even 1 minute of my time
for solving that troubles. It's none of my business.

You renamed something in Django. For all of us. It mean, every Django user
now will spend their time during upgrade. Tank you for that.

I hope that I did not offend anyone with my opinion.

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:15>

Django

unread,
Oct 26, 2020, 4:51:37 AM10/26/20
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam (Chainz) | Owner: David
Johnson | Smith
Type: | Status: closed
Cleanup/optimization |
Component: Core (Other) | Version: master
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"51d6e6e77442cc837279863cfc893d024c08ca8d" 51d6e6e7]:
{{{
#!CommitTicketReference repository=""
revision="51d6e6e77442cc837279863cfc893d024c08ca8d"
Refs #31670 -- Used allowlist_externals in tox.ini.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:16>

Django

unread,
Feb 10, 2021, 11:09:26 AM2/10/21
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam Johnson | Owner: David
Type: | Smith
Cleanup/optimization | Status: closed

Component: Core (Other) | Version: master
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Carlton Gibson <carlton@…>):

In [changeset:"0102b986489702870faa0eccd44abd4432418756" 0102b98]:
{{{
#!CommitTicketReference repository=""
revision="0102b986489702870faa0eccd44abd4432418756"
Used allowlist_externals in tox.ini (again)

allowlist_externals is already used in this file.

Refs #31670
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:17>

Django

unread,
Sep 20, 2021, 3:23:13 PM9/20/21
to django-...@googlegroups.com
#31670: Change "whitelist" to "allow list" and "blacklist" to "deny list".
-------------------------------------+-------------------------------------
Reporter: Adam Johnson | Owner: David
Type: | Smith
Cleanup/optimization | Status: closed
Component: Core (Other) | Version: dev

Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"d25710a625fbb6dbb047c159417f796102fd721a" d25710a6]:
{{{
#!CommitTicketReference repository=""
revision="d25710a625fbb6dbb047c159417f796102fd721a"
Refs #31670 -- Removed whitelist argument and domain_whitelist attribute
in EmailValidator per deprecation timeline.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/31670#comment:18>

Reply all
Reply to author
Forward
0 new messages