昨天,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 团队不得不面对的问题。
相关链接:
https://github.com/rust-lang/team/pull/671
https://www.theregister.com/2021/11/23/rust_moderation_team_quits/
https://www.infoworld.com/article/3633002/the-future-of-rust.html
互联网时代,数据在指数级增长。海量的数据被存储、分析和调用,背后是数据库作为底层技术的支持。云原生、分布式、多写多读、弹性扩容……我们需要怎样的企业级数据库?企业级数据库的未来走向何方?
11 月 25 日 19:00,锁定 InfoQ 《数据 cool 谈》第二期直播间,来自友邦人寿、海底捞、上海市新能源汽车公共数据采集与监测研究中心以及阿里云的数据库专家,邀你共同寻找下一代企业级数据库!
扫描下方二维码或点击【阅读原文】,立即预约直播!
点个在看少个 bug 👇