Blacklistは差別用語ではない

Blacklistが黒人差別を助長する用語だとして排除しようとする動きがテック業界で流行している。

- [UK NCSC to stop using 'whitelist' and 'blacklist' due to racial stereotyping | ZDNet](https://www.zdnet.com/article/uk-ncsc-to-stop-using-whitelist-and-blacklist-due-to-racial-stereotyping/)
- [MySQL drops master-slave and blacklist-whitelist terminology | ZDNet](https://www.zdnet.com/article/mysql-drops-master-slave-and-blacklist-whitelist-terminology/)
- [GitHub to replace "master" with alternative term to avoid slavery references | ZDNet](https://www.zdnet.com/article/github-to-replace-master-with-alternative-term-to-avoid-slavery-references/)
- [George Floyd: Twitter drops 'master', 'slave' and 'blacklist' | BCC](https://www.bbc.com/news/business-53273923)
- [Linux team approves new terminology, bans terms like 'blacklist' and 'slave' | ZDNet](https://www.zdnet.com/article/linux-team-approves-new-terminology-bans-terms-like-blacklist-and-slave/)
- [blacklist/whitelist master/slave に関する情報集め](https://gist.github.com/mattn/488af4c3b3841ea901a1f9820636393c)

結論から言うとこの動きを我々は止めなければならない。Google, Microsoft, Apple等の大手が既に取り掛かっていることからこの動きを今更止めることは実質的には難しいだろうが、少なくとも反対の声を上げ、抵抗しなくてはならない。
## Blacklistを廃止する動きの背景


まず2014年頃からmaster/slaveという単語を除こうという動きが活発になった。[Django](https://github.com/django/django/pull/2692)、[CouchDB](https://issues.apache.org/jira/browse/COUCHDB-2248)、[Drupal](https://www.drupal.org/node/2275877)などがこれらの単語を除き、2016年には[Redis](https://github.com/redis/redis/issues/3185)が、2018年には[Python](https://bugs.python.org/issue34605)がこの動きに追従した。

テックシーンでinclusiveな言葉を使おうという動きは盛り上がりを見せており、blacklistに関しては2018年8月にバズった[ツイート](https://twitter.com/andrestaltz/status/1030200563802230786)に反応する形でRuby on Rails作者の[DHHが独断でRailsからblacklistを除くことを強行した](https://github.com/rails/rails/issues/33677)。

その後はしばらくこの動きは陰りを見せていたが、2020年5月に黒人男性の警察官による殺害に端を発する大規模なBlack Lives Matter運動や、人種差別問題への関心の高まりからblacklist/whitelistといった単語が再び標的となった。今回のBLM運動は過去最大規模に大きく、テック業界の人々もなんとか差別問題に取り組もうとした結果なのだろう。

特にこの[ツイート](https://twitter.com/leahculver/status/1269109776983547904)は4K以上のRT、17K以上のlikeを集め、議論を巻き起こした。

> I refuse to use “whitelist”/“blacklist” or “master”/“slave” terminology for computers. Join me. Words matter.

> 私は"whitelist"/"blacklist"や"master"/"slave"などのコンピュータ用語を使うことを拒否します。仲間になりましょう。言葉は大切です。


このツイートの後、これらの単語の置き換えを要求するプルリクエストを作る動きがトレンドとなり、多くのOSSで議論を巻き起こした。

中でも特に初期に影響力を持ったプロジェクトはGo言語だ。Go言語チームは[blacklist/whitelist、master/slaveという単語を除く変更を無理くりにマージした](https://go-review.googlesource.com/c/go/+/236857/)。変更の正当化として[コミットメッセージ](https://go.googlesource.com/go/+/608cdcaede1e7133dc994b5e8894272c2dce744b)に以下の文章が入った。

> all: replace usages of whitelist/blacklist and master/slave

> There's been plenty of discussion on the usage of these terms in tech.
I'm not trying to have yet another debate. It's clear that there are
people who are hurt by them and who are made to feel unwelcome by their
use due not to technical reasons but to their historical and social
context. That's simply enough reason to replace them.

> Anyway, allowlist and blocklist are more self-explanatory than whitelist
and blacklist, so this change has negative cost.

> Didn't change vendored, bundled, and minified files. Nearly all changes
are tests or comments, with a couple renames in cmd/link and cmd/oldlink
which are extremely safe. This should be fine to land during the freeze
without even asking for an exception.

日本語訳：

> all: whitelist/blacklistとmaster/slaveの置換

> テックにおいてこれらの単語の用法についての議論は多数行われてきた。私はここでその議論を繰り返すつもりはない。技術的な理由ではなく、歴史的・社会的文脈によって歓迎されていないと感じさせられ傷付いている人々がいることは明白である。これだけでこれらの単語を置き換えるには十分すぎる理由となる。

> いずれにせよ、allowlistとblocklistはwhitelistとblacklistに比べればより説明的で分かりやすい。この変更自体には負のコストしかない（訳注：要するにベネフィットがあるということ）。

> vendoredファイル, bundledファイル, minifiedファイルなどは変更していない。ほとんど全ての変更はテストやコメントにとどまっており、cmd/linkとcmd/oldlinkの中で数個のリネームがあるくらいで、極めて安全なものだ。フリーズ中であっても例外申請をせずとも変更を加えて大丈夫なものだ。

ここで注目したいのはblacklistが人を傷付けることが明白であるとしながらも一切の根拠を出していないことだ。故に数多くの反発を生み、Redditのスレッドは荒れに荒れた。

その他多くのプロジェクトでこの動きは起きた。抵抗なく受け入れらたプロジェクトもあれば、議論が荒れたプロジェクトもあった。

- [Chromium](https://chromium-review.googlesource.com/c/chromium/src/+/2234793)
- [curl](https://github.com/curl/curl/pull/5546)
- [OpenSSL](https://github.com/openssl/openssl/pull/12089/) （4対3で否決）
- [PHPUnit](https://github.com/sebastianbergmann/phpunit/commit/8e9c76d33dab4095c9066072076f368193e4166d)
- [php-src](https://github.com/php/php-src/pull/5685) （審議中）

## Blacklistという単語の語源

Blacklistという単語は黒人リストという意味ではない。黒人に対する差別用語として使われた歴史も無い。語源をさかのぼってみても黒人と関係があるという根拠はどこにもない。Blacklistという単語自体は[17世紀初頭から使われ始めた](https://en.wikipedia.org/wiki/Blacklisting#Origins_of_the_term)ことが分かる。当時黒色には好ましくない特徴を持つ者といったネガティブな意味もあり、そのような人々のリストとしてblacklistという単語が生まれたというのがどの辞書にも載っている語源の説明である。

[この論文](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/)を持ち出しblacklistに差別的な語源があったと主張する者が多くいるが、この論文は医学系ジャーナルに投稿され4回しか引用されておらず語源学的な説得力は皆無といって良い。自分の主張と同じ主張をしている便利な論文が見つかったというだけでまるで事実であるかのように信じることは、アカデミックな素養の無い人々にとってはよくあることである。ニセ医学の宣伝などでもよく用いられる手法である。

Blacklistを消したい人達の主張に一貫しているものとして、語源に関係なくblack=悪い、white=良いとしている価値観を消すことに貢献するべきだというものだ。これらの単語におけるblackは黒色、whiteは白色であるにすぎないのであり、人種とは全く関係ない。黒色をネガティブ、白をポジティブな意味合いで使用することは西洋文化以外でも広くみられる普遍的な傾向であり、彼らの目指す「『黒=悪い』『白=良い』の関係性をこの世から消す」ことが不可能であることは子供でも分かる。にも関わらずこれらの無理筋の主張を押し通すのは偽善以外のなにものでもない。ブラックベルトやブラックカードなどは黒を良い意味で使っているのだが、これに関しては何ら問題提起はされていない。

## Blacklistを消したい人達について

この動きに対する日本人エンジニア達の反応の多くは極めて冷笑的なものだ。そしてそれは正しい態度だ。しかし、英語ネイティブでないという引け目からか、成り行きに身を任せようという受動的な人が多く見られる。ネイティブがそう言っているのならそうなんだろうと間違えた思い込みをする人達も多くいる。しかし、そういう人達こそ現実をより正確に把握するべきだと思う。Blacklistを消したい人達が多数派だというのは認識として間違えている。今回の活動家がどのような人達であるかについて知っておくべきだ。

まずアメリカの政治事情に関して理解をしなければならない。アメリカはリベラルとコンサバがすごく分断されている。日本はどちらかというとコンサバな社会なのでリベラルな人達への馴染みが薄いかもしれないが、アメリカは分断が激しく、州レベルでリベラルな州、コンサバな州、といった感じで別れていたりする。多くのテック系企業があるカルフォルニアはリベラルが支配している。アメリカが中心のテック業界というのは基本的にリベラルな人達が牛耳っているといっても良い。これには当然良し悪しがある。全員が全員おかしな人ではなく常識的な人が多いのも事実ではあるが、最近は過激なリベラルな人達が悪目立ちをすることが多い。彼らへの反感・反動としてトランプが当選したのは必然とも言える。

過激なリベラルにはwokeと呼ばれる人達がいる。人種問題にうるさい人達だ。過激フェミニストを想像すると分かりやすいと思う。似たような言葉にSocial Justice Warriors (SJW)と言うものもある。勝手に問題を作り出して勝手に戦っている人達だ。白人が着物を着た時に文化盗用だとか言って騒いでた連中のことだ。

こういう人達はテック業界にも実は多く紛れ込んでいる。これはもともとアメリカのテック業界がヒッピーの血を受け継いだリベラルな変わり者が多いことから自然な成り行きだろう。Blacklistが差別であると騒いでいる人達はこういう人達だ。西海岸系企業は誇らしげにDiversity & Inclusionを標榜していたりするが、実際には多様性はない。むしろリベラル教に入っていなければ迫害される多様性に欠けた集団である。

面白いことにblacklistが差別であると主張しているのはみんな白人だ。白人が勝手に差別用語を作り出し、blacklistが差別用語でないとたしなめる他の多くの白人、アジア人、黒人、みんなを白人至上主義者呼ばわりしてまわっている。Blacklistの差別用語化に反対している人達は白人だとヨーロッパの人が多く、その他アジア人も多く反発している。黒人はそもそもテック業界に数が少ないが黒人でもこの動きを嫌っている人々はいる。彼ら全ての意見を無視し、テックの高い地位にある白人達が、自分たちが差別だと思うから差別なんだと感情論で強制的に議論を全くせず改革を進めている。話が通じないし、話をする気が無い。

彼らの差別用語に関する基準は非常に曖昧で、ダブルスタンダードを平気で披露している。[whitespaceという単語を除いて欲しいというプルリクエスト](https://github.com/sebastianbergmann/phpunit/pull/4301)や、[黄色人種への差別なので警告に黄色を使うのをやめてほしいというリクエスト](https://github.com/cli/cli/issues/1224)は何も議論されずに即座に却下されている。ちなみにこれらのリクエストは非白人から行われたものである。自分たちが差別と思う表現のみ変えることを強要すること、それこそ白人特権の行使なのではないか。

彼らはblacklistやwhitelistが差別用語でないと主張する人や、黒人差別に関係ない単語の改善を望む人々をコミュニティから排除しようとする。多様性を謳いながら非常に排他的な性格の人が多い。例えば[@localheinz](https://twitter.com/localheinz/)などはRedditで大炎上したのだが、反対者の務める会社に連絡を入れてクビにさせようとしたりと非常に攻撃的である。

もちろん良いリベラルもあるのだが、この動きは明らかに行き過ぎた悪いリベラルだ。本来リベラルは人々を開放し自由を勝ち取るものであるのに人々をコントロールし自由を制限しようとする、リベラルと名乗ってほしくない悪いリベラルもいる。今回の騒動は全体主義における言葉狩りと何も変わらない。ポリティカル・コレクトネスという言葉自体がもともとマルクス・レーニン主義に現れたものだということは忘れてはならない。

## 我々はどうするべきなのか

我々日本人エンジニアはどうするべきなのか。この動きに安易に屈しないことが大事だ。むしろ声を大にして彼らの破壊運動に反対をするべきだと思う。ブラック企業という単語が黒人差別だなどと言われてどう思うか。腹黒いという単語を使うべきでないと言われたらどう思うか。エラーメッセージに赤色を使うのがネイティブアメリカンへの差別だと言われてどう思うか。警告に黄色を使うのは黄色人種への差別なのか。イエローカードはアジア人への差別なのだろうか。

日本人エンジニアの人達は英語が弱い傾向にある。英語の情報を仕入れて披露するだけでまるで凄腕有名エンジニアみたいに祭り上げられている人達がいる。アメリカで働いている日本人エンジニアの意見をありがたすぎる傾向もある。彼らの多く、特に情報発信を頑張っている人達は西海岸系の考えに染まっていることは加味しなければならない。彼らをオピニオンリーダーのように崇めることは止めて、自分の頭で考えることだ。アメリカは世界の中心ではない。我々が意見を持ち発信していかなければまた同じような意味不明な運動に巻き込まれていくだろう。

言葉は大事だ。行き過ぎたポリティカル・コレクトネスは全体主義と何ら変わりがない。人種差別主義者でなければそもそもblacklist/whitelist, master/slaveが黒人に対する差別用語であるなど思いつきもしない。黒人の多数がこれらの単語を無くす運動を繰り広げているのであれば耳を傾ける価値はあるのだろうが、今回の単語排除運動は明らかにwokeな白人達が反対意見を受け付けず自分たちの思い込みと感情論で突っ走っているものである。黒人がblacklistという単語が嫌だと言っているのを聞いたという人もあろうが、彼らが日本語から主人や奥さんといった単語を無くそうとしている過激フェミニストとは違うとなぜ思えるのだろうか。大半の人にとってはどうでも良いことなのである。

Blacklistという単語を置き換えたことで差別問題は解消するのか。この動きは何も問題を解消しないばかりか混乱を生むだけだろう。コードの書き換え自体は単なる文字列の置換なので簡単だ。しかしもし後方互換性を壊せばかなり面倒なことになるだろう。それを直すのに多くのエンジニアの時間を要するだろう。一人ひとりがかける時間は少なくとも、何十万人何百万人のエンジニアの時間が奪われることを考えると、そこまで価値のある置き換えなのだろうか。しかも根拠薄弱な感情的な置き換えだ。これらの技術用語は既に確立されたものであり、ハードウェアの世界でも広く使われている。レベルが低くなればなるほど置き換えは大変なものになっていく。

テック業界が抱える多様性の問題はその産業構造に大きく依存している。ビッグテックではリファラル採用が中心となっており、コミュニティに属していない人達にとっては機会が著しく少ない。本当にインパクトのある問題解消というのは、広くコミュニティにリーチをすることだ。現在のテック業界はアメリカ一極集中になっており、主にリベラルな白人中心の世界となっている。中国企業がプレゼンスを上げてきていることは危険性もあろうが多様性の観点では良いことだ。日本も同じように世界でのプレゼンスを上げていかなければならない。機会の少なかった人達の機会を増やす努力をしなければならない。偽善的で迷惑な用語置き換えに盲目的に従って善いことをした気になってはならない。

## まとめ

Blacklistは差別用語ではない。黒人差別の語源も無ければ用法もない。全て過激リベラルな白人によるでっち上げられた嘘であり、我々常識人はこの動きを断固拒否しなければならない。Blacklistが差別用語であるという認識は一般的なものではなく一部の過激な人々による捻じ曲げられた思想である。多くの非過激派の有色人種含む人々の反対を押しのけて、支配的地位にいる白人達により感情的に強硬された白人特権の現れである。この変更はテック業界の多様性の無さの象徴であり、ダイバーシティ&インクルージョンが偽善でしかないことの現れである。

## 余談

gitのmasterブランチの変わりにtrunk, mainなどを使う動きも活発化している。trunkというのは隠語で巨大なペニスという意味があり、またmainは黒人英語でmanの意味もある。masterを人種差別的な言葉だと決めつけているくせに過激なフェミニストに怒られそうな単語を使っているのは謎だ。Blacklistの際には語源は関係ないと言っておきながら、masterブランチに関してはgitの前身であるBitKeeperにslaveブランチがあったからgitのmasterブランチはmaster/slaveのmasterだなどと主張・正当化をしておりダブルスタンダードは健在である。

ちなみにgitという言葉は愚か者という意味で[英国議会で発言することが公式に禁止されている](https://www.parliament.uk/site-information/glossary/unparliamentary-language/)。今回の一連の用語置き換え運動がいかに偽善的で政治的なパフォーマンス以外のなにものでもないことがお分かり頂けるかと思う。