假如你问我:“你最喜欢哪个编程语言?”,我会毫不犹豫的说 Rust。在曾经的我看来,她的前途无量。可事实却似乎向着另外一个方向狂飙....
图片来自Crab-lang
开端#
Rust 历史很短。她诞生于 2006 年,最开始只是 Graydon Hoare 的个人项目,在 2009 年 Graydon Hoare 成为 Mozilla 雇员后,Mozilla 开始资助这个项目,并且在语言尚未成型的情况下开发了Servo浏览器排版引擎,折腾许久后,终于在 2015 年发布 1.0 版本。随后,Rust 以惊人的速度在社区内蔓延。连续五年被评为最受欢迎的编程语言,Rust 几乎由社区支撑,她的大多数源代码来自社区的贡献,这个新兴的开源编程语言似乎形势大好,无数人追捧她,明天似乎已经可以预见.....
可是,美好似乎来的没那么快。
开源社区的项目#
Rust 是一个基于社区的项目,Rust 的大多数代码来自社区,Rust 的生态来自社区,Rust 的一切几乎都基于她庞大且充满活力的社区。
开源社区是一个包容的地方,可能是当今互联网中最纯粹坚持互联网最原始的 tag:“分享”,的地方。在开源社区里,不管你是 LGBT 还是俄罗斯人,只要不蓄意引战影响开源项目和开源社区。那么大家都是一家人,至少大多数开源社区是这样的,因为这就是开源的本质,不是吗?每个人都能快乐的贡献,享用,交流,分享。美好的像一个互联网乌托邦。
Rust 是一个开源项目,是一个具有世界性影响力的开源项目,是一个无数来自世界各地开发者们共同建设的开源项目,是一个属于所有人的开源项目。
可是总有一些人,希望利用开源项目宣扬自己的政治理念,或者思想。
这种想法简直是不可理喻的,一种沾染独裁的变态心理。如果一个社区全部同意某个主张,假如现在有一个开源的性少数程序员论坛,自然,就算这个论坛是开源的,但是这个项目本身就是为了这件事情所做的,这个社区就是因为这件事情而凝聚的,大家都觉得这件事情没问题。很自然的,在这个项目里宣扬 LGBT 是没问题的,这是属于我们每个人都自由权利。可是如果一个项目团队不顾论坛的反对,只是因为自己想要,就无理的加入争议的,不属于这个项目的东西,盲目的加入项目,并且宣扬这个明明属于社区的开源项目现在必须听从安排的服从,大家会怎么想呢?
很不幸,这就是 Rust 社区的现状。
披着开源幌子的鉴证人快乐屋#
这是我对 Rust 开发团队的评价,无数的事情已经证明 Rust 开发团队几乎完全不理会社区的声音,把无数的争议假装看不见,只为了自己觉得舒服就独断专行。
凭什么代表我???#
这是我知道的最早的,2020 年,Rust 官方博客发表 Rust 1.44.0 时,奇怪的添加了两句话:
This is a shorter blog post than usual: in acknowledgement that taking a stand against the police brutality currently happening in the US and the world at large is more important than sharing tech knowledge, we decided to significantly scale back the amount of promotion we're doing for this release.
The Rust Core Team believes that tech is and always will be political, and we encourage everyone take the time today to learn about racial inequality and support the Black Lives Matter movement.
大同意思就是:Rust 核心团队认为:技术永远是政治性的,团队支持黑命贵运动,美国警察的种族歧视令人发指,核心团队希望大家都能好好关注种族歧视现象。
那时候弗洛伊德事件闹得正欢,而且 Rust 核心团队说的话其实也没毛病,杜绝种族歧视是绝对正确的。
可是为什么一个开源项目要插手政治呢?我也反对种族歧视,但是这和项目有什么关系吗?难道说 Rust 社区全是有色人种并且支持黑命贵?开源项目为什么永远是政治性的?社区的贡献者们同意了吗?为什么贡献者们为什么被 “代表” 了呢?
很显然,社区贡献者们没有同意这件事情,而团队本来应该代表的是社区的意志。于是大家在评论区吵的热火朝天。
可谁还记得这是哪里?这是开源社区,是没有对立,纯粹技术的开源社区,是那怕相互是敌对国家也能开心的聊在一起的一方净土。
现在,他成了鉴证人的快乐所。
核心团队凭什么代替社区开发者们?踩在大家的心血上发出自己的声音?
这只是其中一件事,剩下的还多的多呢。
独裁和官僚主义?在世界级的开源项目上???#
2021 年 11 月 22 日,Rust 审核团队在 GitHub 上宣布离职。集体辞职的原因是:抗议Rust核心团队不遵守社区准则,对所有人不负责任。
Rust 核心团队做出了回应,不过对是否真的存在问题没有做出回复,只是发布了一篇花名表,临时组建的新团队代替了原有的审核团队。
大家在论坛上讨论了很久这件事,参与 Rust 开源项目长达六年的 Dragdu 写了一篇文章,发布了他的看法,总结来说就是:Rust 现在一团糟,团队管理混乱,核心团队权力过大。 就像标题写的那样:"Rust 核心团队是有毒的"。
文章里详细写出了作者在 Rust 团队的亲身感受,并且最后表示:我会呼吁核心团队的成员辞职,并关闭整个核心团队。我想问 Rust 团队成员(尽管有这种环境,他们继续创造和开发令人惊叹的创新工作)质疑,这是一个你认为会以你的最大利益行事并在你需要时支持你的领导力吗?你会把这种行为称为 Rust 的 “核心” 吗?我不会的。
这显然不是一个能担任起如此巨大开源项目核心团队该有的样子。如果用这样一个团队在一个小项目上,便注定是一败涂地。Rust 这个大项目似乎变成了一把巨大的保护伞。难不成你还能碰核心团队不成?
究竟是开源项目还是政治杂烩#
时间来到 2022 年 7 月 12 日,Rust 核心团队发布了一篇博文,表示成员 Aidan Hobson Sayers 和 Ashley Williams 将退出核心团队。
其中 Ashley Williams 变成了漩涡的中心。博客里对她的介绍是:
- Ashley Williams 于 2018 年成为核心团队的成员,并对项目的许多部分产生了影响。从领导社区团队,到为基础架构和 Crates.io 建立 PagerDuty;到 Wasm 工作组,再到增加 Rust 的影响力和 Rustbridge 。
出走的原因是什么呢?让我们先把时间往回拨一点,回到 2021 年审核团队出走的那一年。
Andrew Gallant 指出审核团队完全是想反对核心团队,和尊不遵守规范没关系。这件事情在社区上引起了广泛的讨论,有人指出核心团队中的 Ashley Williams 使用行为准则当作 "武器" 来 "对付" 男性贡献者,但自己却不遵守。Rust 核心团队的男性骄傲自大,他们无心促进 Rust 发展,成为了恼人且无用的官僚,Rust 审核团队的三名男性成员不愿与这样的人们为伍,选择辞职。
你问我最后这件事情怎么处理的?显然的,Ashley Williams 辞职。在社区里,管理员们删除了有关此事的所有讨论贴,理由是这种没营养的讨论只会搞乱社区。
可是不管怎么说,Ashley Williams 这个 "大家都不喜欢的人" 终于走了。
Ashley Williams 身上的标签是什么?显然的,偏极端的女权主义者(叠个甲,我不讨厌女权主义,我认同现代女权主义运动,如果你认为特权是女权主义,我的建议是学学历史,别被你的母校除名),至于 Rust 核心团队是怎么容忍这样一个天天和他们争吵的人在里面待这么久,也算是一个值得思考的搞笑问题。
乐#
现在,看完了所有,你觉得 Rust 的未来怎么样呢?作为一个 Rust 开发者,我自然是希望 Rust 越来越好,不过 Rust 团队似乎在越来越坏,还有很多小事情我在文章中省略了,比如官网上的繁简之争,Rust 基金会整的逆天大活儿。我只觉得很搞笑,开源圈很久没有天天爆乐子的项目了,说实话,她能坚持到现在也不容易。
我对 Rust 的未来并不悲观,我相信开源社区能拯救这一切,没有人希望自己热爱的东西渐渐消失。实际上,Rust 社区的一些人 fork 了一个类似 Rust 的新语言,几乎唯一的区别是:她是真正属于开源社区的。
明天会更好