因 N-API 发音对黑人的头发不友好,Node.js 官方将其改名为 Node-API

N-API 是用来给 Node.js 构建本机插件的 API,它由 Node.js 官方维护。此 API 将是 Node.js 的应用程序二进制接口(Application Binary Interface,ABI)稳定版。它旨在将插件与底层 JavaScript 引擎中的更改隔离开来,这样低版本已经编译好的模块可以直接在高版本的 Node.js 上运行而无需重新编译。

但是 Node.js 成员 James M Snell 指出:N-API 的发音是 “En-Ay-Pee-Eye”,这个发音和 “nappy” 比较接近。nappy 的意思是“尿片、尿布”。

你以为他是因为这个名字不好听才建议改名的吗?不。他随后又指出:“nappy” 经常被用来形容黑人的头发,而且含贬义。而且 N-API 不能明确的表示这个 API 的含义。所以他建议改名。

我们都知道,最近美国的舆论是“黑命贵”,而没想到现在已经发展到了“黑发贵”了。

这个 API 是用来开发本机插件的,也就是 Native Addons,所以叫 N-API。如果不用这个名字,那么用什么呢?于是 James M Snell 建议使用 “Stable ABI”,也就是“稳定的 ABI”,简写为 S-ABI。

看到这儿我就不淡定了!如果因为 N-API 发音是对黑人的头发不友好,那这个发音简直是对十几亿中国人不友好。S-ABI,发音 “SABI”,音同……算了,我不写了,这种词汇我都不好意思写出来。

最终 N-API 被改名为了 Node-API。

当我去 GitHub 去看相关的 issue 和 pr 时,发现另一个不解的事情。Node 仓库的默认分支还是 master,而不是 main:

众所周知,受美国大规模的 “Black Lives Matter” 运动影响,为了安抚愈演愈烈的民众情绪,GitHub 把默认分支从 master 修改为了 main。因为 master/slave 会让人联想起主从,进而联想到奴隶制,进而联想到黑奴。很多软件的 blacklist/whitelist(黑名单/白名单)也修改为了 dennylist/allowlist(禁止名单/允许名单)。

Node.js 这么担心 N-API 发音涉嫌不尊重黑人头发,那又为什么不把 master 修改为 main 呢?

这个 issue 是 2021 年 1 月 1 日提的:https://github.com/nodejs/abi-stable-node/issues/420 美国文字狱进入了新阶段。

太搞笑了。

1赞

真有种文字狱的感觉,哈哈哈

2赞

文字狱是由上而下的吧,那种才是毒害。而且最近翻译 blitz.js 文档,“They”怎么翻译?“他们”还是“她们”?查了才发现虽说现在的“她”这个字历史才没多久,但当年也是鲁迅等伟人极力推荐平权化的。

所以没啥黑的,积极拥抱就好,当然特色自嗨也可以 :smiling_face_with_three_hearts:

PLUS: 尚气反派原型经过亚洲市场反应,在电影剧本也做修改了,算不算文字狱?开源社区的“同理心”还有太多人欠缺。

1赞

刘半农,教我如何不想她