上周,有件事在程序员的圈子里炸开了锅。
对LLVM(众多语言编译器的后台)有巨大贡献的元老级程序员Rafael Ávila de Espíndola忿忿不平地写了封邮件,宣布自己要立刻马上退出LLVM社区,注销账号。
Rafael退出的原因主要有两个。
一是LLVM社区最近推行的《社区行为守则(LLVM Community Code of Conduct)》。
守则里规定,社区里的程序员之间必须要互相尊重,如果有人不认同这个守则,那么就没有资格参加会议。
他认为这个规定本身就很分裂,自相矛盾。
守则一方面倡导大家要包容不同的意见和声音,但另一方面又说,谁不同意这个守则就要剥夺他参加社区会议的资格。
第二个他看不过眼的点是,LLVM社区合作的Outreachy实习项目公然搞性别种族歧视。
△ Outreachy实习项目规定
Outreachy实习项目的网页显示,实习生申请人必须满足两个条件的任一个:LGBTQ(女同、男同、双性恋、跨性别者以及无性别者),或是非裔、拉丁裔等少数种族。
换句话说,如果你是一个亚裔或者白人,就没有资格申请这个实习项目。
Rafael认为,这种做法是赤果果的另一种“种族”歧视。
这一下搞得LLVM创始人,也是Clang编译器的作者,一位大神级别的程序员Chris Lattner很紧张,马上公开回信说:
知道Rafael你要离开社区,我特别难过。 我知道这决定对你来说,一定不容易。因为不满社区内部制度,你就要离开这个技术圈子,可见你的决心。 但我之所以推行这个《社区行为守则》,就是想修正社会不公的现象。可惜因为我不够了解社交模式及规律,我一辈子都和社会不公的现象作抗争。 你的退出,对所有人来说都不是件好事。 这次事件给大家很大的舆论压力以及负面影响。我希望我们能私底下好好谈一谈,相信我们可以一起解决这个问题的。
本来,LLVM推出《社区行为守则》的初衷是好的。
GitHub曾在去年做了一次问卷调查,有超过5000个开发者参与。
结果显示,有18%的开发者认为在开源社区里受到了言语上的人身攻击。有50%的人称,见过其他人之间发生争执。
比方说,说话很难听,爆粗,指名道姓玩针对,以及给别人贴标签。超过40%的开发者说他们有和其他人起过冲突。
为了改善LLVM开发者社区的互动环境,LLVM项目的另一发起人,Tanya Lattner才有心促进社区守则的落成。
LLVM项目的主要发起人Chris Lattner在公开回应中解释,他最在意的是LLVM社区能否长久的稳定。
他希望制定一些底层的原则,保证社区的良好运行。哪怕有一天LLVM的几个主要核心人物离开了,这个社区也不受影响。
这才引入了《社区行为守则》。守则里主要强调,社区的程序员之间要包容不同的意见和声音,和别人沟通的时候言语友善一些,不要进行人身攻击。
至于种族歧视,他坦承在这个问题上,自己并不是个专家。他的本意是希望增加社区思想的多样性。他明确指出,他认同Rafael的部分观点:Outreachy实习项目中的政策确实是变相的种族歧视。LLVM应该在这点上做出修正。
另外,Chris也反驳Rafael第一diss的点:LLVM并没有因为Rafael不同意守则就把他踢出会议。
在这点上,Chris觉得Rafael可能是对守则有什么误会。
他反复在好几次公开回应中邀请Rafael,希望有机会能坐下来,好好谈谈。
可万万没想到,Rafael的退出,引发了程序员的群骂。
想围观骂战的,请前往评论区:https://developers.slashdot.org/story/18/05/03/1639245/one-of-llvms-top-contributors-quits-development-over-code-of-conduct-outreach-program
很多人赞同Rafael的观点,认为这个守则是个狗屁(Bullshit)。只有当一个人心里是有把尺子去衡量身边的人的时候,才会说,我们不以xx取人。
否则,就像Rafael说的,LLVM成立之初,大家都是凭本事行走江湖,根本没有人意识到对方的种族或者性别的不同。
如果某个地方拉横幅喊口号,强调“我们要讲诚信”。那么潜台词是什么,大家心底都清楚:)
可以倡导大家怎么做会更好。 但是搞一个规定出来,还强制要求每个人都按这个标准去遵守,否则违者踢“群”,这样的做法太恶心了。 只允许一种思想形态存在的做法本身就很危险,“政治正确”会营造出一个非常恐怖的氛围。
大家群攻的点主要是:凭单一标准去维护社会正义战士(Social Justice Warriors),是一种相当可怕的存在。
作为programmer,你怎么看?
最后,附事件始末介绍: http://nondot.org/sabre/2018-05-02-Rafael.html