2020 年の「人種関係に関する世界的清算」を踏まえ、Linux カーネル開発者はコーディング コミュニティ向けに新しい包括的な用語ガイドラインを提案しました。
この提案は、Intel の主席エンジニアである Dan Williams 氏によるもので、Chris Mason 氏や Greg Kroah-Hartman 氏を含む他の Linux メンテナーの支持も得ました。
避けるべき用語には「slave」(secondary、subordinate、replica、followerなどの代替語が提案されている)や「blacklist」(blocklistまたはdenylistへの代替語が提案されている)などがある。この提案では、ユーザー空間APIの保守や、これらの用語を必須とする仕様のコード更新においては例外を認めている。ここで説明されている既存のLinuxカーネルコーディングスタイルでは、包括的な言語については一切言及されていない。
この提案は、「Linuxカーネル・インクルーシブ・テクノロジー」と呼ばれる新たな文書を追加し、変更の根拠を示すものです。この文書では、「アフリカの奴隷貿易は、世界規模で展開された残酷な人身売買システムであった」という事実に言及し、「現代のソフトウェアプロジェクトにおける言葉の選択は、その遺産を補うのにほとんど役立たない」と認めています。
開発者たちは、世界を「もう少し歓迎する」ために、好ましくないコード用語を排除する取り組みを再開した。
続きを読む
しかし、目標は「Linuxカーネル開発プロセスに参加するための世界中の開発者コミュニティの可用性と効率を最大化すること」です。
「2020年の啓示は、黒人の声が世界規模で聞かれたということであり、Linuxカーネルプロジェクトは、開発者コミュニティーにおけるあらゆる声の中でも黒人の声を望み、その要請に応えるべく、小さな役割を果たした」と提案書には記されている。
この提案では、「包括的でない用語」は「混乱を招き」、「開発者の効率を損なう」とも指摘されている。予想される反発について、ウィリアムズ氏は次のように述べた。「当然ながら、このあたりになると、なぜ人々が不快に思うべきではないのかという語源的な議論を持ち出す人が出てくる。語源的な議論はスケールしない。Linuxが新しい開発者に浸透する範囲とペースは、歴史的用語の擁護者が『いや、その意味合いではない』と説明できる範囲を超えている。」
委員会が代替案を決定したら、Splunkはマスターとスレーブを廃棄する
続きを読む
包括的な用語を採用するというアイデアは大多数が歓迎するでしょうが、特にその根拠については異論もあります。新しい包括的な用語に関するドキュメントは正式なものになるべきでしょうか?「開発者は、包括的な言語の使用という目的を支持しながらも、この種のことについては正直に反対することができます。だからこそ、このファイルはカーネルツリーに含めるべきではないのです」とIBMの著名なエンジニア、ジェームズ・ボトムリー氏は書いています。
Google開発者のキース・クック氏は、この根拠文書は「包括的な用語法に反対する多くの根拠のない議論に反論している(そして、このスレッドで既に見てきたように、滑りやすい坂道の議論に対しては、さらに反論できるかもしれない)。また、カーネルプロセスにおけるこの変更が世界全体に何をもたらすのかを認識しようとしている」と主張した。
もう一つの懸念は、一般的に使用されている用語をあまり知られていない同義語に置き換えること自体が、英語圏以外の人にとっては困難になる可能性があることです。「長年使用されてきた用語が他の言語に直接輸入されたり、非ネイティブスピーカーでも意味がわかるほど一般的な用語を変更すると、英語を母国語としない人々を排除し、ネイティブスピーカーには明らかな同義語を解読できないという、全く逆の結果をもたらす可能性があります」とダニエル・パーマー氏は書いています。
こうした問題に関する合意形成は容易ではありませんが、もし採用されれば、このカーネルは、Googleが支援するChromiumプロジェクトなど、包括的なコードが推奨される多くのプロジェクトの1つとなるでしょう。Chromiumプロジェクトは、コードは性別や人種に中立であるべきだと明言しています。GitHubのCEO、ナット・フリードマン氏は、同社がデフォルトのブランチ構造から「マスター」という用語を削除する作業を進めていると述べました。
MySQL チームは先週、MySQL の用語変更について投稿し、「これらの単語の起源が否定的である」用語の代わりに、ソース、レプリカ、ブロックリスト、および許可リストという単語を使用することを提案しました。
Twitterエンジニアリングは、「man hours」「dummy value」「sanity check」などの用語を含む、コード内で使用を避けたい非包括的な用語のリストを公開しました。
Twitterは、「会議、会話、そして文書作成において、言葉は重要です。まだやるべきことはたくさんあることは承知していますが、私たちは自分たちの役割を果たすことに尽力しています」と述べた。®