写点什么

Rust 审查团队集体辞职,最受欢迎的开源编程语言再陷治理风波

  • 2021 年 11 月 24 日
  • 本文字数:2736 字

    阅读完需:约 9 分钟

Rust审查团队集体辞职,最受欢迎的开源编程语言再陷治理风波

昨天,Rust Moderation Team(Mod 团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,该团队辞职是为了抗议 Rust 核心团队(Core team):“除了自己,他们不受任何人的监督和约束。”因此,Mod 团队一直无法按照社区的期望标准执行 Rust 行为准则 (CoC)。

 

该事件基本得到了 Rust 官方的确认。目前官网上,Khionu Sybiern 和 Joshua Gould 组成了新的 Rust Moderation Team。



团队冲突持续数月

 

出于信任等原因,Mod 团队没有透露特别多的细节。“说太多并不是一种聪明的选择,但是说得太少又不能有效利用我们拥有的最后一个工具:辞职。我们辞职是因为我们认为做出某种改变是个不错的方式。”Matthieu M 表示。

 

不过,根据 Matthieu M 在 Reddit 上的表述,导致 Mod 团队直接辞职的原因是其与 Rust 核心团队数月来一直不断恶化的矛盾。

 

Core team、Community team、Compiler team、Moderation team 等 10 个团队负责 Rust 治理,其中 Core team 负责关注项目的整体及跨领域方向、管理子工作组,Mod 团队帮助维护行为准则。

 

根据 Matthieu M 透露,Mod 团队与 Core team 之间的协作并不多,少于一个月一次。两个团队的协作主要在以下方面:

 

  • 禁令执行。Mod 团队不直接执行禁令,而是让 Core team 代为执行。Core team 将仔细检查,确保 Mod 团队已经按照规则完成了尽职调查,违规的人得到了机会,Core 也可能会自行执行禁令,然后告知 Mod 团队。

  • 当 Core team 成员陷入投诉或其他棘手的情况中,Mod 团队则扮演调解员/仲裁员的角色,帮助找出问题并和平解决。这个跟处理任何其他 Rust 团队成员并无二致。

 

Rust 治理文件显示,Mod 团队由 Core team 直接选出。为限制利益冲突,Mod 团队不包括任何 Core team 成员,但是子团队可以在认为合适的情况下自由地与 Core team 协商。

 

但治理文件未明确声明有任何团队可以对 Core team 进行监督,也从未声明 Mod 团队不应追究 Core team 成员的责任。因此,Mod 团队是否应该让 Core team 承担责任,或者 Core team 是否在 Mod 团队的监督之外是个悬而未决的事情。

 

但 Matthieu M 表示,Core team 已经单方面决定了自己不受 Mod 团队的监督和约束。“到目前为止,Core team 一直在实践中定义 Rust 治理,但没有其他组织或团队可以对其提出质疑……这导致了 Rust 第一次治理危机。”

 

在之后的评论中, Matthieu M 补充道:“与 Core 的沟通失败了,Core 之上没有团队,所以……由 Rust 项目的成员自行组织并决定后续要做的事情。”辞职后的 Matthieu M 向 Rust 团队抛出了一些治理问题:

 

  • Rust 治理应该是什么样的?

  • Rust Moderation Team 应该如何组织?它的职责应该是什么?

  • 如何确保高层的问责制和诚信?

 

System Initiative 公司 CEO 发表推特表达了自己的看法。他认为 Rust Core team 权力过大,Core team 管理着社区的各个方面,但是这个团队之外的人无法决定谁加入或被踢出 Core team,这在 Rust 社区形成了一种“寡头政治”。

 

对于这一情况,最近成立的 Rust 基金会是否可以提供帮助呢?

 

根据 Rust 基金会执行董事 Rebecca Rumbul 此前采访中表示,她“希望为社区设置资源”,以便在出现分歧时“社区内的人有一个地方可以调解这些讨论。”但具体事情是由项目团队、核心团队和维护者决定。

 

Mod 团队集体辞职事件发生后,Rust HQ 发布了一份声明称:

 

Rust 基金会致力于支持该项目。我们尊重项目团队的独立性和任何决定,我们知道今天所做的变化。我们希望项目和语言蓬勃发展,并将继续努力实现这一愿景。

 

“这是一项吃力不讨好的工作”

 

早在 2016 年,Stack Overflow 的开发者年度调查报告就将 Rust 评为“最受欢迎”编程语言。而程序员们也坚定立场,在接下来的 2017、2018、2019、2020 以及 2021 年的调查中再次力挺 Rust,如果不出意外,2022 年的最受欢迎桂冠可能仍属于 Rust。

 

Rust 编程语言项目联合负责人 Niko Matsakis、Rust 基金会主席 Shane Miller 以及其他各位社区主要成员的目标是,Rust 能够在未来几年甚至几十年中继续受到人们的喜爱与支持。实现这一目标的重要方式就是 Rustacean 原则。

 

Rust 语言的成功,在很大程度上源自社区对于各项核心原则的严格遵循。正如 Oso 公司 CTO Sam Scott 在采访中所言,Rust 是一种“带有护栏的系统编程方法”。在 Rust 构建过程中,Rust 社区制定出“Rustacean 原则”以平衡偶尔可能相互竞争的开发事项与具体优先级。这些原则包括可靠性、高性能、支持性、生产效率、透明性和用途多样性等。

 

这些原则之间互相补充,但又相互矛盾。Rust 的可靠性与用途多样性、支持性等原则有所冲突,这是因为 Rust 依赖于跨系统交叉检查来确保整体一致性。这项原则保证了开发人员能够信任 Rust 构建成的系统将稳定而可靠,但这种信任同时也会以牺牲其他原则为代价。

 

因此,Rustacean 原则的实现一部分通过代码表达,另一部分则通过社区行为来传递。Rust 社区才会在 Rustacean 原则当中添加了“社区行为准则”这个面向人的部分: 善良体贴、为用户带来快乐、积极参与、认可他人的知识、从实处入手、紧跟发展节奏、砥砺前行、信任与委托。

 

良好的社区运行对于 Rust 非常重要,而这也离不开 Mod 团队起到的重要监督责任。Matthieu M 表示,Mod 团队有责任通过执行行为准则来保护社区成员。

 

官方 Rust 管理团队与管理/r/rust上的 subreddit 团队不是同一个组织。subreddit 是非官方的,独立于 Rust 项目。在实践中,大部分日常执法都委托给“特定社群”的主持人,他们提供“一级”支持,并且通常设法使事情平静下来,并将违规者剔除出去。只有在出现以下情况时,他们才会与 Mod 团队沟通:

 

  • 特定社群的主持人要求澄清问题或他们不确定如何处理的特定情况。

  • 特定社群的主持人要让 Mod 团队提前了解某个恶劣案例,因为该违规者在其他社群也很活跃。

  • 有人指责特定社群主持人采取的行为。

  • 有人直接向 Mod 团队投诉。这部分实际上是 Mod 团队的主要工作:处理人际关系问题。

 

之后,Mod 团队会与相关人员交谈、解释、尝试平息事件等。大多数时候人们会冷静下来、道歉并继续前进,但如果调解失败则可能发出警告、临时或永久禁令,如果这些人想重回社群还需要 Mod 团队为其制订规划,使其逐步参与并再次赢得同行的信任。

 

Matthieu M表示,这是一项吃力不讨好的工作。离职的时候,Mod 团队也向 Rust 社区提出了一些建议:

  • Rust 团队成员就监督 Core team 的流程达成共识。目前,他们只受自己监督,这是与所有其他 Rust 团队相比独有的属性。

  • 由 Rust 团队成员而不是 Core team 成员决定 Mod 团队成员的替换,Mod 团队可以与基金会合作,获得专业调解资源。

  • 未来的 Mod 团队需要特别注意团队的健康规模和多样性。

 

截至本文发出,Rust 团队并未针对这次 Moderation Team 集体辞职的事件细节和具体原因等做出正面回应,这难免引发了外界的种种猜想。无论如何,如何改进治理工作已经成为 Rust 团队不得不面对的问题。

2021 年 11 月 24 日 16:365671

评论 1 条评论

发布
用户头像
屁事真多,本来社区事物就多,rust的功能讨论还各持己见,还记得ACTIX作者被逼着放弃项目?社区现在越来越恶心,真是无语了,逼事多就别用开源软件,千万别像d语言一样,最终让社区里的脑残们把项目毁了,我支持core team
2021 年 11 月 29 日 11:56
回复
没有更多了
发现更多内容

你还在担心搞不定面试官?吃透这份4000道Java面试真题合集,金三银四的黑马就是你了

Java 编程 程序员 面试

产品经理训练营-第一章作业

Ryun

面试官:如果让你设计一个高并发的消息中间件,你会怎么做?

冰河

并发编程 高并发 消息队列 消息中间件

HTML(二)——用html设置文本

程序员的时光

程序员 28天写作

Zookeeper面试常见11个连环炮

田维常

面试

重学JS | cookie和localstorage的哪个更安全?

梁龙先森

面试 前端 编程语言 28天写作

如果公司要找一个人代替我,该是个咋样的人?

再见陛下

offer

Kafka底层原理剖析(近万字建议收藏)

五分钟学大数据

大数据 kafka

第一章 认识产品经理(下)

郭栋

产品经理训练营——作业1

小匚

Python 字节跳动 产品经理训练营 极客大学产品经理训练营

杭州产品岗位现状分析

王振

产品经理训练营第一周总结

happy-黑皮

产品经理训练营

JVM性能调优实战:让你的IntelliJ Idea纵享丝滑

Silently9527

Java jvm调优

「产品经理训练营」作业01:如果公司要招一个高级版的你

狷介

产品经理训练营

产品经理训练营-第一次作业

Jophie

产品经理训练营

产品经理训练营第一周作业

happy-黑皮

产品经理训练营

产品经理训练营第一章作业

王德文

产品经理训练营

安全白帽子可能会为DevSecOps铺平道路

啸天

DevSecOps 应用安全 开发安全

产品训练营作业:1、认识产品经理

Geek_06d2e5

进程、线程与协程还傻傻分不清?P7大佬大白话讲解,直接秒懂

互联网架构师小马

Java 线程 多线程 进程

特征归一化

IT蜗壳-Tango

机器学习 七日更 特征归一化

产品训练营第一周作业【撰写岗位模型】

mayue

学习 产品 产品经理训练营

现在就开始倒数2030了? 华为的这条线索不能错过

脑极体

第一周作业

Geek_72d5ab

产品经理训练营——第一周总结

小匚

产品经理训练营 极客大学产品经理训练营

产品经理训练营第0期 第一次作业

孙行者

第0期 产品经理训练营

动力电池知识皮毛(28天写作 Day11/28)

mtfelix

自动驾驶 28天写作 电动汽车

下一代消息队列pulsar到底是什么

比伯

Java 编程 架构 面试 计算机

高仿书旗小说 Flutter 版,学起来

GitHub指北

GMT UTC CST ISO 夏令时 时间戳,都是些什么鬼?

YourBatman

ISO 时间戳 GMT UTC

28天瞎写的第二百二十二天:五道营胡同的葡萄芽儿

树上

28天写作

基于英特尔x86平台构建AI软件生态系统

基于英特尔x86平台构建AI软件生态系统

Rust审查团队集体辞职,最受欢迎的开源编程语言再陷治理风波-InfoQ