Page MenuHomePhabricator

Reconsidering how we name things
Open, Needs TriagePublic

Assigned To
None
Authored By
Reedy
Jun 6 2020, 12:49 PM
Tokens
"Love" token, awarded by nshahquinn-wmf."Like" token, awarded by Lens0021."Love" token, awarded by mpopov."Love" token, awarded by kostajh."Love" token, awarded by Kormat."Like" token, awarded by MusikAnimal."Dislike" token, awarded by BEANS-X2."Like" token, awarded by Darren-M."Love" token, awarded by Ainali."Love" token, awarded by Jaideraf."Like" token, awarded by Kghbln."Like" token, awarded by apaskulin."Like" token, awarded by Jdforrester-WMF."Love" token, awarded by Krinkle."Like" token, awarded by Aklapper."Love" token, awarded by Ladsgroup."Like" token, awarded by Amire80.

Description

So, with the current climate I'm starting to see people reminding other people that the use of Blacklist and Whitelist are outdated, and shouldn't be used. Unfortunately MediaWiki and the ecosystem uses this in numerous places.

Similar for Master and Slave, though MW replaced Slave with Replica years ago (in 950cf6016c10953213e5f985dfc18a32d8673197 and T190395 is/was for some cleanup); I don't know offhand what triggered that to happen. I don't know if Master is offensive on its own (ie it's used as a title for young males rather than Mr, at least in the UK), potentially only when used with Slave as a label, but we could still replace this with primary. It might be worth checking if it's still used upstream for consistency (which seemed to be at least part of the introduction of DB_REPLICA). wfWaitForSlaves() is still around, but only ~80 usages as of writing, T181673.

Use Safe and Block. Use Allow and Deny. Use Inclusion and Exclusion. Use Permit and Deny. All of these can be used with a trailing List too

I'm not looking to bike shed, we should pick one and then move forward.

I understand in the case of a couple of extensions (that immediately come to mind, I've not grepped our codebases) this gets a bit awkward and takes some work. I think it's worth the effort. We can easily enough soft rename/fix wording. i18n strings are easily improved. Replacing i18n keys is a little harder, but if we ask translatewiki.net nicely we can do that (and can be done without renaming the extension just yet). Onwiki pages a little harder still, maybe we have some back compat for a while, checking both the old and new name to allow time for renaming/moving of pages, removing this in the near future.

The "hardest" is renaming the repos (at least, for WMF deployment purposes), which also allows us to actually rename the extensions (we know that the name attribute in the extension.json needs to make the directory it's in). Again, it's awkward, but git makes it relatively trivial, as we can just push all one remote to the other.

We can branch both for a couple of deployment cycles, and update the includes/references in CommonSettings.php and extension-list and then stop branching the old names and archive them as usual.

None of this is particularly dificult, just needs a bit of effort

Then obviously updating all Documentation to match

Based on P11408, the use of things that match (white|black) ?list is a lot higher than I expected. But for example, 1828 are in one of the named extensions, 1401 in another...

See also:

Details

ProjectBranchLines +/-Subject
mediawiki/extensions/GrowthExperimentsmaster+442 -149
mediawiki/coremaster+29 -3
mediawiki/extensions/GlobalPreferencesmaster+11 -9
mediawiki/extensions/VisualEditormaster+1 -1
VisualEditor/VisualEditormaster+9 -9
operations/mediawiki-configmaster+1 -1
mediawiki/extensions/Echomaster+6 -6
operations/puppetproduction+24 -24
labs/privatemaster+0 -42
operations/mediawiki-configmaster+1 -1
operations/puppetproduction+3 -3
mediawiki/coremaster+2 -50
mediawiki/extensions/CirrusSearchmaster+71 -41
operations/puppetproduction+3 -3
operations/puppetproduction+26 -26
labs/privatemaster+42 -0
mediawiki/coremaster+32 -22
mediawiki/coremaster+36 -26
operations/puppetproduction+1 -1
operations/puppetproduction+1 -1
mediawiki/extensions/CentralAuthmaster+0 -19
mediawiki/coremaster+4 -3
mediawiki/coremaster+27 -27
mediawiki/extensions/Citemaster+1 -1
mediawiki/extensions/VisualEditormaster+1 -1
mediawiki/extensions/VisualEditormaster+6 -6
mediawiki/coremaster+0 -3
mediawiki/extensions/Flowmaster+1 -1
VisualEditor/VisualEditormaster+10 -8
mediawiki/extensions/DiscussionToolsmaster+1 -1
mediawiki/extensions/Echomaster+9 -9
mediawiki/extensions/GWToolsetmaster+1 -1
mediawiki/extensions/OAuthmaster+1 -1
mediawiki/extensions/FileImportermaster+1 -1
mediawiki/extensions/Renameusermaster+2 -2
mediawiki/extensions/WikimediaMaintenancemaster+3 -3
mediawiki/coremaster+8 -8
mediawiki/coremaster+4 -4
mediawiki/extensions/CentralAuthmaster+1 -1
mediawiki/skins/Daddiomaster+1 -1
mediawiki/extensions/AntiSpoofmaster+2 -2
mediawiki/extensions/Flowmaster+18 -18
mediawiki/skins/Modernmaster+1 -1
mediawiki/coremaster+7 -7
mediawiki/coremaster+7 -6
mediawiki/extensions/ArticlePlaceholdermaster+17 -17
mediawiki/extensions/VisualEditormaster+48 -49
mediawiki/extensions/VisualEditormaster+3 -3
mediawiki/extensions/VisualEditormaster+1 -1
VisualEditor/VisualEditormaster+2 -2
mediawiki/extensions/BetaFeaturesmaster+13 -8
VisualEditor/VisualEditormaster+10 -10
mediawiki/extensions/OAuthmaster+10 -8
mediawiki/extensions/FlaggedRevsmaster+9 -9
mediawiki/coremaster+6 -30
mediawiki/extensions/CentralAuthmaster+7 -7
mediawiki/extensions/PageTriagemaster+2 -2
mediawiki/extensions/CentralAuthmaster+24 -24
mediawiki/extensions/Echomaster+7 -7
mediawiki/coremaster+1 -1
mediawiki/coremaster+3 -3
mediawiki/coremaster+10 -10
mediawiki/extensions/SpamBlacklistmaster+8 -8
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedReedy
Resolvedovasileva
ResolvedJdlrobson
ResolvedLucasWerkmeister
ResolvedReedy
OpenNone
Resolvedcscott
ResolvedJdforrester-WMF
ResolvedAmmarpad
ResolvedHuji
OpenNone
DeclinedNone
ResolvedMattCleinman
ResolvedItamarWMDE
ResolvedMattCleinman
ResolvedMholloway
OpenNone
OpenNone

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 605382 merged by Filippo Giunchedi:
[operations/puppet@production] rabbitmq: Rename "slave" to "replica" in comment

https://gerrit.wikimedia.org/r/605382

Change 605980 merged by jenkins-bot:
[mediawiki/core@master] Deprecate PasswordCannotMatchBlacklist

https://gerrit.wikimedia.org/r/605980

Change 603671 merged by jenkins-bot:
[mediawiki/core@master] SpecialMute: Rename blacklist to mutelist

https://gerrit.wikimedia.org/r/603671

Change 603975 merged by Ryan Kemper:
[labs/private@master] Copy content of slave.yaml files to replica.yaml

https://gerrit.wikimedia.org/r/603975

Change 603688 merged by Ryan Kemper:
[operations/puppet@production] maps: Rename "slave" to "replica"

https://gerrit.wikimedia.org/r/603688

Change 608157 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[operations/puppet@production] piwik: Remove "slave" from comment

https://gerrit.wikimedia.org/r/608157

Change 608157 merged by Elukey:
[operations/puppet@production] piwik: Remove "slave" from comment

https://gerrit.wikimedia.org/r/c/operations/puppet/ /608157

Koavf added a comment.Jun 28 2020, 9:25 PM

I made a duplicate of this task because I searched for titles about "blacklist" or race and didn't find this. Can we get a more descriptive name for this bug? On first glance, I would think this was about the 2030 rebranding if anything.

Reedy added a comment.Jun 28 2020, 9:28 PM

I made a duplicate of this task because I searched for titles about "blacklist" or race and didn't find this. Can we get a more descriptive name for this bug? On first glance, I would think this was about the 2030 rebranding if anything.

There's plenty of tasks with "blacklist" in the title. If you'd looked at them, and then looked at their parent task... :)

Reedy added a comment.Jun 28 2020, 9:30 PM

That, and "blacklist" and "whitelist" aren't the only problematic things

I made a duplicate of this task because I searched for titles about "blacklist" or race and didn't find this. Can we get a more descriptive name for this bug? On first glance, I would think this was about the 2030 rebranding if anything.

There's plenty of tasks with "blacklist" in the title...

Exactly. Finding this task with a vague name like "Reconsidering how we name things" is difficult. And then when you write, "'blacklist'" and "'whitelist'" aren't the only problematic things" cryptically without saying which other terms are issues just makes this whole thread even more obscure.

I made a duplicate of this task because I searched for titles about "blacklist" or race and didn't find this. Can we get a more descriptive name for this bug? On first glance, I would think this was about the 2030 rebranding if anything.

There's plenty of tasks with "blacklist" in the title...

Exactly. Finding this task with a vague name like "Reconsidering how we name things" is difficult. And then when you write, "'blacklist'" and "'whitelist'" aren't the only problematic things" cryptically without saying which other terms are issues just makes this whole thread even more obscure.

Have you tried reading the task description?

So, with the current climate I'm starting to see people reminding other people that the use of Blacklist and Whitelist are outdated, and shouldn't be used. Unfortunately MediaWiki and the ecosystem uses this in numerous places.

Similar for Master and Slave, though MW replaced Slave with Replica years ago

Koavf added a comment.Jun 29 2020, 1:48 AM

I did read it. My point is that I only read it *after* someone pointed out its scope. The vague title does not make it clear what the bug is actually *about* which I would think on first blush was a totally different issue related to the rebranding controversy. Hence, I am asking if someone can make a more descriptive title that actually gives a hint as to what the content is of this bug in particular.

@Koavf: As written several times now: Please see and find the titles of the subtasks of this task.

Reedy added a comment.Jul 2 2020, 12:30 PM

https://lists.wikimedia.org/pipermail/wikitech-l/2020-July/093569.html

MySQL has announced they chose to use "source": https://mysqlhighavailability.com/mysql-terminology-updates/ We can consider updating too, I think it is a more accurate representation of what those servers are (sending original data to, rather than controlling the replicas).

kostajh added a subscriber: kostajh.Jul 4 2020, 7:41 AM
Ainali awarded a token.Jul 4 2020, 3:02 PM
Darren-M added a subscriber: Darren-M.

Change 610705 had a related patch set uploaded (by Ryan Kemper; owner: Ryan Kemper):
[labs/private@master] maps: remove no-longer-used slave files

https://gerrit.wikimedia.org/r/610705

Change 612608 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@master] Use more neutral method and var names

https://gerrit.wikimedia.org/r/612608

Change 612608 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Use more neutral method and var names

https://gerrit.wikimedia.org/r/612608

BEANS-X2 added a subscriber: BEANS-X2.EditedJul 15 2020, 1:48 PM

Come on. Black/Whitelist is hardly a racist term. Are we going to drop every use of those colours as to not offend the respective races?

Of course I support equality, but this is silly.

jcrespo added a subscriber: jcrespo.EditedJul 15 2020, 2:00 PM

Two contributions:

MySQL decided to use "source" rather than primary, as it could not fit some topology use cases (where 2 sources and no primary instance exists). Not sure if it is better, but unifying on vendor's option could be simpler in those cases related to it. https://mysqlhighavailability.com/mysql-terminology-updates/

Aside from deny, block and exclude, I sometimes have seen also instances where ignore or skip were a better logical term for the specific case.

Kormat added a subscriber: Kormat.Jul 15 2020, 2:13 PM

Change 612892 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[mediawiki/core@master] Drop wfWaitForSlaves()

https://gerrit.wikimedia.org/r/612892

@BEANS-X2: This is about using descriptive terms which convey an actual meaning. Clarity. (Furthermore, no need for "Come on" comments here.) Thanks!

Come on. Black/Whitelist is hardly a racist term. Are we going to drop every use of those colours as to not offend the respective races?

Of course I support equality, but this is silly.

My quick check in the internet brought me this (good read, feel free to read the whole paper)
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/

This commentary addresses the widespread use of racist language in discussions concerning predatory publishing. Examples include terminology such as blacklists, whitelists, and black sheep. The use of such terms does not merely reflect a racist culture, but also serves to legitimize and perpetuate it.

We can't say by removing these words, we erased racism but it's important to acknowledge we have a long way to go.

Also in https://tools.ietf.org/html/draft-knodel-terminology-01:

The metaphorical use of white-black to connote good-evil is offensive. While master-slave might seem like a more egregious example of racism, white-black is arguably worse because it is more pervasive and therefore more insidious.

"insidious" is really important here. While it looks innocent, it affects our unconscious bias. It affects how we see the world.

Also some interesting note (correct me if I'm wrong, I read it on Wikipedia so it must be true): The word "blacklist" is not originated in racist contexts (unlike "master/slave") but that word was used to refer to a "kill list" (for the first time). Once it came to technology though, "whitelist" was invented and used as opposite of that and that's the part that it becomes at least ten times more racist and offensive.

Change 612892 merged by jenkins-bot:
[mediawiki/core@master] Drop wfWaitForSlaves()

https://gerrit.wikimedia.org/r/612892

Change 613727 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[operations/puppet@production] osm: Rename "slave" to "replica"

https://gerrit.wikimedia.org/r/613727

Change 613732 had a related patch set uploaded (by Ladsgroup; owner: Ladsgroup):
[operations/puppet@production] mariadb: Changing link to section from "slave" to "replica"

https://gerrit.wikimedia.org/r/613732

Change 613732 merged by Marostegui:
[operations/puppet@production] mariadb: Changing link to section from "slave" to "replica"

https://gerrit.wikimedia.org/r/613732

Change 614043 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[operations/mediawiki-config@master] CommonSettings: slave -> replica

https://gerrit.wikimedia.org/r/614043

Change 614043 merged by jenkins-bot:
[operations/mediawiki-config@master] CommonSettings: slave -> replica

https://gerrit.wikimedia.org/r/614043

Change 610705 merged by Ryan Kemper:
[labs/private@master] maps: remove no-longer-used slave files

https://gerrit.wikimedia.org/r/610705

Change 615180 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[mediawiki/extensions/Echo@master] Rename variable to revertedUser

https://gerrit.wikimedia.org/r/615180

Change 613727 abandoned by Andrew Bogott:
[operations/puppet@production] osm: Rename "slave" to "replica"

Reason:
Thank you!

https://gerrit.wikimedia.org/r/613727

Change 615180 merged by jenkins-bot:
[mediawiki/extensions/Echo@master] Rename variable to revertedUser

https://gerrit.wikimedia.org/r/615180

Change 620138 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[operations/mediawiki-config@master] noc: Improve phrasing of highlight.php error message

https://gerrit.wikimedia.org/r/620138

CDanis updated the task description. (Show Details)Aug 30 2020, 4:01 PM
CDanis added a subscriber: CDanis.

Change 626151 had a related patch set uploaded (by Thiemo Kreuz (WMDE); owner: Thiemo Kreuz (WMDE)):
[VisualEditor/VisualEditor@master] Avoid the term "whitelist" in a few places

https://gerrit.wikimedia.org/r/626151

Change 620138 merged by jenkins-bot:
[operations/mediawiki-config@master] noc: Improve phrasing of highlight.php error message

https://gerrit.wikimedia.org/r/620138

Change 626151 merged by jenkins-bot:
[VisualEditor/VisualEditor@master] Avoid the term "whitelist" in a few places

https://gerrit.wikimedia.org/r/626151

Change 628205 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (1c3ca2da9)

https://gerrit.wikimedia.org/r/628205

Change 628205 merged by jenkins-bot:
[mediawiki/extensions/VisualEditor@master] Update VE core submodule to master (1c3ca2da9)

https://gerrit.wikimedia.org/r/628205

Change 606836 abandoned by Ammarpad:
[mediawiki/extensions/GlobalPreferences@master] GlobalPreferences: Remove usages of whitelist/blacklist

Reason:

https://gerrit.wikimedia.org/r/606836

Change 606837 abandoned by Ammarpad:
[mediawiki/core@master] Deprecate DefaultPreferencesFactory::getSaveBlacklist()

Reason:

https://gerrit.wikimedia.org/r/606837

Aklapper removed a subscriber: Anomie.Oct 16 2020, 5:01 PM

Change 651879 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/extensions/GrowthExperiments@master] Newcomer tasks: Add ability to exclude pages by template or category

https://gerrit.wikimedia.org/r/651879