question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

The `whiten` function is racially insensitive needs to be renamed.

See original GitHub issue

The particular method I am pointing to: https://github.com/scipy/scipy/blob/4c0fd79391e3b2ec2738bf85bb5dab366dcd12e4/scipy/cluster/vq.py#L84-L137

This method serves to normalize inputs before being passed to clustering algorithms. Other methods suggest to use this method first before clustering such as in k-means. However, the whiten function should be renamed as it does not accurately represent the definition of this function. It is ambiguous and whiten does not give users a good understanding that it will make features unit variance. Given current times, a function name like this is racially insensitive. It implies that ‘whitening’ is ‘good’ or ‘normal’ and promotes racial inequality even if implicitly or unintentionally. Even if the term has academically historical meaning, it was most likely arbitrarily decided at conception and must go. Therefore, I ask for the community to discuss alternative names and familiarize themselves with common racial microaggressions like this. As a solution, I propose to 1. rename this function to an alternative decided by the community, 2. have the whiten function deprecated and redirect to the new function, 3. in the deprecation message, state the reason of deprecation and promote awareness of racial inequality in its message, 4. remove all references to whiten function such as in k-means which can be seen through this search.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:4
  • Comments:12 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
rgommerscommented, Jun 30, 2020

Please consider putting more effort towards a more inclusive environment.

Thanks for asking about this @juliusfrost. I - and I believe most/all SciPy maintainers and regular contributors - definitely desire to make SciPy a project that feels inclusive and welcoming to everyone.

I think most replies so far correctly point out that the whiten functions doesn’t fall in the category of problematic usages of white/black where “white” implies “good” / “allowed” and “black” implies “bad” / “disallowed”. That said, there may be cases that do fall in that category, such as “blacklist”. And indeed, I did find one piece of code that uses “blacklist”.

I’ve seen two sets of opinions expressed by Black people on this bigger discussion of racially loaded terminology (paraphrasing):

  1. There are bigger fish to fry - in a time of mass protest and people being physically harmed and arrested, do you need to worry about wording right now?
  2. These terms have always bothered me, and they should go - that does not prevent any other actions.

Both are of course valid feelings/opinions. I didn’t look at these terms in our code base over the past couple of weeks because of (1), but now that the issue has been brought up let’s just audit the code base and remove the terms because of (2). I just did that, and I did find “blacklist” usage that can be removed, and no “whitelist” or other problematic “black”/“white” usage. Nor “slave”, although of course we have “master” as the default branch name just like the vast majority of other projects.

Here are the next steps I’d like to take:

  1. Clarify the docstring of whiten in a new PR to close this issue.
  2. Move the technical points brought up here about “does this function really implement whitening” to a new issue.
  3. Remove the use of “blacklist” in a new PR.
  4. Delay dealing with or discussion of changing the default branch from “master” to “main” in our repos. Rationale: this is less clearcut and is a lot of work (e.g. our 290 open PRs against master may all become unmergeable). If GitHub really follows through with making the change and other projects do this renaming on a larger scale, then we will revisit - but now does not seem like the right time.
1reaction
juliusfrostcommented, Jun 29, 2020

If unwilling to change the name, there is significant headroom to clarify this in the function documentation. Please consider putting more effort towards a more inclusive environment.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Push to Remove Racist Names Draws Support — And Backlash
Over the past five years, the board has received about 135 renaming requests because an existing name is racist or derogatory — 27...
Read more >
U.S. Will Rename 660 Mountains, Rivers and More to Remove ...
One mountain, named with a racist slur and slated for renaming, is located in Routt County in northern Colorado near the state's border...
Read more >
Aunt Jemima brand to change name, remove image that ...
Aunt Jemima brand to change name, remove image that Quaker says is 'based on a racial stereotype'. "We recognize Aunt Jemima's origins are...
Read more >
Dr. Robin DiAngelo discusses 'White Fragility' - YouTube
University of Washington professor Dr. Robin DiAngelo reads from her book " White Fragility: Why It's So Hard for White People to Talk...
Read more >
White Fragility
This insulated environment of racial privilege builds white expectations for racial comfort while at the same time lowering the ability to tolerate racial...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found