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); see https://lists.wikimedia.org/hyperkitty/list/[email protected]/thread/F7N6OH6DMHURB4PPKX235L22XWZEKLFQ/. 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 (June 2020), 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...
P14950 is a list from mid April 2021. P14956 is just for MW extensions, ordered by directory instead
P16698 is a list from late June 2021. P16697 is just for MW extensions
See also:
- https://www.vice.com/en_us/article/8x7akv/masterslave-terminology-was-removed-from-python-programming-language
- https://www.zdnet.com/article/uk-ncsc-to-stop-using-whitelist-and-blacklist-due-to-racial-stereotyping/
- https://tools.ietf.org/html/draft-knodel-terminology-04
- https://github.com/cdanis/inclusive-style-guides
- https://inclusivenaming.org/
- https://developers.google.com/style/inclusive-documentation