整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

这本是一个属于 Rust 的好时代。

由于其内存安全、轻量级、可利用高级语言的能力来满足低级系统编程的需求等众多优势,据 Stack Overflow 年度开发者调查报告显示,Rust 一直是开发者最受欢迎的 Top 5 编程语言之一。除此之外,Google、苹果、微软、Meta 等科技巨头都以某种方式或形式在项目中采用了 Rust。

不过,Rust 社区自身能否把握住这次使用浪潮下的机遇,很多人或许要打上一个大大的问号。因为就在这两天,Rust 社区因为内部的一些混乱治理机制,不仅将外部专家拒之“门外”,内部也闹起了“内讧”,甚至在 Rust 语言核心成员主动请辞之后,相关声明占领 HN 三条热榜,累计超过近千名用户参与评论。
 

 

 

 

有网友表示,“Rust 本身是一种伟大的语言/生态系统,但从长远来看,所有这些不必要的戏剧性事件、烟雾炮弹等迷惑行为可能会严重损害到这门语言。看到人们因为不放心把宝贵的时间和精力投入到一个基础不稳定的东西上而蜂拥而去,这令人遗憾。”

导火索:力邀外部专家参会,却将其降级

其实事情起因,以一年一度的 RustConf 大会为引,在这场大会上,主办方会邀请世界各地的技术专家,分享 Rust 的最新进展、企业的相关应用实践。

不过,在将于今年 9 月召开的 RustConf 2023 前夕,正处于大会组委会广邀嘉宾之际,事情出现了偏差。

最初向外界披露这一矛盾的是原本受邀参加 RustConf 2023 主题演讲的嘉宾 JeanHeyd Meneide,他是一名软件工程师,也是官方 ISO/IEC JTC1 SC22 WG14  编程语言 C 专案的项目编辑,在开源社群非常活跃,管理许多受到产业和学术领域使用的大型开源项目。

与此同时,JeanHeyd Meneide 正在和其他团队一起研究一个实验性语言功能的提案,这得到了 Rust 基金会的资助。他们的工作也引起了 RustConf 组织者的注意,于是组织者想要邀请 JeanHeyd Meneide 在大会上发表主题演讲。

据悉,JeanHeyd Meneide 原本会在 RustConf 2023 上发表《编译时编程可能的未来》(A (Possible) Future for Compile-Time Programming)的主题演讲,分享上述提案的最新研究报告内容。

之所以在演讲主题中加上“可能”二字,是因为 JeanHeyd Meneide 认为,这不是任何人对编译时编程的想法,而是他们自己的想法。

为此,他们还在报告开头加上了免责声明:

作为一个通用的免责声明,虽然我们在特定的地方也和很多人谈论过我们在这里要撰写的以及报告的内容,但在此还应该明确指出,报告中提到的任何个人都没有对这项工作有任何记录的支持立场。无论下面的结论是什么,重要的是要认识到我们对这个项目有一个也是唯一的目标,这个目标完全是在我们--Shepherd Oasis(JeanHeyd Meneide 所在的公司)--自己的理想和努力下制定的。我们的意见是我们自己的,不反映本报告中提到的任何其他实体、个人、项目和/或组织。

简单来看,JeanHeyd Meneide 即将分享的报告内容,仅代表他们自己研究的成果与得出的总结,并不能代表 Rust 基金会、Rust Project 或者其他任何人的观点或立场,这只是一份基于现有代码的语法、数据等维度形成的一份技术报告。

乍一看,没有任何问题,然而,Rust 领导层并不这么看。

JeanHeyd Meneide 表示,在美国太平洋时间 2023 年 5 月 26 日上午 11:45 左右,他收到了 RustConf 2023 组织者的电话,这个电话是关于主办方将他的演讲直接从 "主题演讲 "降级为 "常规演讲"。

JeanHeyd Meneide 原本以为,这是大会主办方基于日程或时间安排做的调整,也或许是因为他们找到了更合适的人。

但是几经了解之后,发现这些都不是事实。
 

担心研究的提案是 Rust 官方所为,故降级!

由于在主题演讲的标题中用了“可能”二字,JeanHeyd Meneide 被 Rust 大会的组织者告知,这个演讲是"不被 Rust 项目认可的"。

通俗一些来看,就是因为 Rust 项目领导层不想给人留下实验性提案(现在甚至不是 RFC)是该语言的官方方向,并且担心外界会将 JeanHeyd Meneide 的主题演讲内容当成官方确切的研究路径,为了避免这种困扰,大会主办方想要将这个主题演讲降级为普通的演讲。

不过,这种临时通知的方式,对 JeanHeyd Meneide 显然有些不公平。他认为,当初自己并不愿意担任主题演讲的嘉宾,是大会主办方力邀之下才接受邀请的,然后耗费了巨大的精力投入了主题演讲的内容准备上,现在却被莫名其妙地降级了。

他表示,“很长很长一段时间以来,我的资源和精力出现了奇怪的浪费”。

在 JeanHeyd Meneide 看来,RustConf 的主题演讲通常涵盖与 Rust 项目的目标和需求既近又远的话题。RustConf 前几年(2022 年及以前)的明确政策也是引入不同/外部观点的演讲者,所以即使这个主题演讲的内容没有得到 Rust 项目的明确认可,这也只会增加外界对它的预期和提升吸引力。

在他提出《编译时编程可能的未来》的主题演讲标题时,这意味着这项工作仍在开发的性质,也说明了不代表任何人、组织或集体的支持。

JeanHeyd Meneide 表示:

在任何时候,都不应该有人认为我会有能力歪曲 Rust 项目对其生态系统的要求,或者认为我在某种程度上已经超越了该领域的竞争提案。

正如我对我所参与的技术工作所做的那样,根据工作的技术优点,使其完全透明,深度开放,并且非常清晰。Rust 的中期编译时编程报告中的所有解释都是技术性的,并根据其工作的优点对所有可用的工作进行批评。

因此,首先被提名并接受为演讲者之后,我向会议组织者提供他们所需要的一切,在 Rust项目领导层的明确祝福和直接要求下,向公众准确地介绍这些材料,但后来却被”驳回“,这令人费解。

「在 RustConf 的日程和计划发布之前,我多次明确表示,我所谈论的工作不会有 RFC("Pre-RFC "是我与 Rust 项目领导层相关人员谈话时使用的确切措辞),这可能会使人们产生偏见,以及这样做是否合适。在 RustConf 领导层内外与我接触的人都非常清楚地表示,这个话题是完全可以的。此外,他们之前已经开会讨论过我的演讲内容,所以任何时候都不应该有人对我的意图和目标感到困惑」,JeanHeyd Meneide 说道。

JeanHeyd Meneide 直言,但凡中间有人反对中期编译时编程报告的方向和内容,我都会一直并将继续参与讨论我的这项工作,以及它是否适合 Rust 大会的总体方向。

但是,到目前为止,JeanHeyd Meneide 称他本人和其所在的公司都没有收到任何关于这项工作的电子邮件、也没有收到 Rust 项目通过任何形式的即时通讯沟通或其他方式(Zulip、Discord 等)发出的任何警告或要求重新考虑事情。

最终,在被直接没有事先通知的情况下,遭到了演讲降级,JeanHeyd Meneide 称「这让人深感困惑,并最终受到了侮辱」。

在被质疑之下,JeanHeyd Meneide 发布长文表示,他不会在 RustConf 2023 上发表演讲。

Rust 核心成员请辞,立即生效!

在 JeanHeyd Meneide 发布退出大会演讲声明之后,Rust 编程语言核心成员 Jonathan Turner 随即也宣布了将辞去 Rust 的所有职务,立即生效!

 

Jonathan Turner 是向 Rust 领导层推荐 JeanHeyd Meneide 参加主题演讲的主要推荐人之一。他过去曾经在微软担任 TypeScript 项目经理,是 TypeScript 初期发布的推手,同时也涉及过 Clang/LLVM 专案,具有编译器方面的专业知识。

在 Twitter 上宣布辞职之后,他也写了一篇小作文《Why I left Rust》,从他的角度分享了事情的始末:

    1、临时领导小组收到了一份请求,要求为 RustConf 寻找潜在的主讲人。

    2、我和 Manish 提议 JeanHeyd Meneide 作为主讲人。JeanHeyd 是官方 C 标准的两位编辑之一,是一位 C++ 专家,也是一位优秀的演讲者。我们觉得他将是一个很好的受邀专家,拥有一个局外人的视角。

    3、几天后内部举行了投票,JeanHeyd 被选为主讲人之一。

    4、JeanHeyd 被邀请并接受了主题演讲。

    5、在日程表公布之前,在团队会议上讨论了 JeanHeyd 被选为主题演讲人之一的消息。

    6、有几个团队成员对 JeanHeyd 被选为主讲人有强烈的意见/不舒服,据我所知,是因为 JeanHeyd 在博客文章中分享过关于 Rust 应该反思的一些内容。

    7、这种不满被作为一个必须立即解决的问题提交给了临时领导小组。没有人讨论过在这个时候做出改变的后果。有人抱怨说这种情况不足以要求改变现有的安排,但这种反馈被忽略了。讨论的重点变成了解决团队成员的不适,最终将 JeanHeyd 从主题演讲的位置上换下来是唯一的解决办法。

   8、然后,Rust 领导层中的一个人,没有经过临时领导小组的投票(请记住,JeanHeyd 是由 Rust 领导层投票选出的),直接与 RustConf 领导层联系,要求改变邀请。

   9、RustConf 领导层决定等一周再通知 JeanHeyd,让 Rust 领导层有时间来改变主意。在此后的一周中,临时领导小组没有被告知之前的决定有任何的变动。

    10、一周过后,JeanHeyd 被告知了降级谈话的决定。可以理解的是,他完全拒绝了在 RustConf 的演讲。

    11、当我看到 JeanHeyd 的博文并得知拒绝邀请的消息后,我立即从 Rust 项目中辞职了。

我还要指出,以上是我所能理解和拼凑出来的最好的内容。需要进行全面的调查,以揭开上述情况是如何发生的,为什么会发生。如果有新的信息出现,我也保留编辑上述内容的权利。

Jonathan Turner 称自己之所以选择离开,是因为目睹了 Rust 组织让其所在领域的一位专家蒙羞。作为一个组织,Rust 和 RustConf 因为几个团队成员的一些不愉快而被当作武器来对付个人,几乎没有提供任何抵抗力。

也许有人会说,“这只是一个降级事件而言”,没有必要辞职。

Jonathan Turner 认为,“将你明确邀请的演讲者降级(在此之前他们甚至不打算在你的会议上发言),这是对你的极度不尊重。我也感受到了这个决定的背景之重。JeanHeyd 不仅仅是 Rust 基金会最近的一个拨款接收者。JeanHeyd 与 Rust 项目有着重要的历史。当我看到一个组织不仅对这个领域的专家如此冷淡,而且对一个公开批评 Rust 缺乏多样性的人也如此冷淡,我很难不看到额外的背景。”

Rust 官方回应:我们错了

随着事情的发酵,越来越多的人加入了谴责 Rust 管理团队的队伍中,指责 Rust 内部管理混乱。

5 月 29 日,Rust 在官方博客上发布了正式的声明,回应此事。

其表示,“针对邀请 JeanHeyd Meneide 他们在大会上做主题演讲,两周后却被告知,由于 Rust 项目领导层内部的决定,主题演讲将被降级为普通的演讲。

这个决定是不对的,首先我们要为我们造成的伤害公开道歉。我们辜负了 JeanHeyd。在邀请函之后将演讲降级的想法是一种侮辱,领导层中没有人应该愿意接受它。”

这个事情的前因后果,Rust 官方称内部还在调查,不过其目前也正在采取一些措施,减少类似事情再发生的风险。

在 Rust 内部,该组织组建了一个 Leadership Chat 团队,此次事件失败的主要原因是 Leadership Chat 团队的决策和沟通过程。

据公告显示,Leadership Chat 是 2021 年底前 Moderation Team 辞职后建立的最高级别治理架构。它由顶级团队的所有领导、核心团队的所有成员、Rust 基金会董事会的所有项目主管以及所有现任版主组成。这个 Leadership Chat 的目的是作为一个短期的解决方案而存在的,缺乏明确的决策和沟通的规则和流程。

这就为今日的误解留下了很大的空间。Rust 坦言,在这个内部团队中,事实是,有几个人的判断力和沟通能力都很差。认识到他们在这种情况下会发挥的巨大作用,这些人已经选择从高层管理角色中退下来,包括 Leadership Chat 和即将召开的领导委员会。

面对当下带来的影响,Rust 承诺,「从组织上,在 Leadership Chat 中,我们将对所有决策执行严格的共识规则,这样就不会再有什么个人意见或团体决定的模糊不清了。我们将尽快启动新的管理委员会。我们会协助剩下的团队及时选择他们的代表,这样新的治理委员会就可以开始,目前的 Leadership Chat 团队也可以解散了。

我们希望通过重申我们对 JeanHeyd 的歉意来结束这个帖子,同时也向更广泛的 Rust 社区道歉。」

Rust 内部混乱何时休

事实上,这并非是 Rust 内部第一次发生如此混乱的事件了。

早在 2021 年 Rust 的管理就曾爆出问题,彼时 Rust 审核团队突然在 GitHub 的 PR(Pull Request)上宣布辞职且即刻生效,并表示这是“为了 Rust 核心团队只顾自己、不对其他人负责的抗议”,初步揭示了 Rust 核心团队内部的矛盾。

a37f26be1299bb1b685f8574e1ae3937.png

在此之后,Rust  背后的基金会推出的一些政策也备受争议,在今年年初,拥有 Rust 和 Cargo 商标的 Rust 基金会正在制定新的商标政策,计划限制包括禁止在 Rust 相关工具或用 Rust 编写的软件的名字中使用 Rust,甚至在域名或子域名的部分也禁止使用 Rust。这份商标政策草案让很多人普遍认为政策过严且不够实际,不仅无法达到政策制定的初衷,甚至限制社群正常活动。

如今,Rust 管理层在力邀嘉宾参会之后,却将其“降级”,这番操作下来,也让人深刻感知到管理层内部的地基不稳。

这也有开源专家 fasterthanlime 在 GitHub 上暗讽道:

事实证明,有些意图其实是好的!但执行很差--或缺乏资源、流程缺失、亦或是缺乏人力,或者那个人又变成了那个人!

只是,从来都不是只有那一个人,你知道吗?否则,我可以通过燃烧自己来揭发他们,并为整个社区带来好处。

fasterthanlime 呼吁道,希望更多的人,即使没有后台渠道,也应该可以对 Rust 项目的未来充满信心和乐观。有人在 Rust 上进行了几年的研究或商业努力。此外,作为个人,应该可以在自己选择的级别参与 Rust 项目。

他表示,“Rust 值得有能力的批评者,而他打算从现在开始只使用公开的知识来尽其职责”,而非陷入无果的口水战。

针对这一事件,Rust 中文社区站长唐刚也评价道:

    “最近大家很疑惑 Rust 社区幺蛾子很多。这其实是 Rust 真正由社区化管理所致。相比其他语言,Rust 目前没有一个核心领导,创始人早干其他事情去了。可以窥见,目前 Rust 管理层里面还有很多流程没走顺。社区化管理总是有点乱哄哄的,人人都可以发表意见,做出自己的决定。但是整体盘子稳如泰山,并持续扩大。有点什么矛盾就快速冒泡了,不存在那种因为摄于领导的威严不敢说,积聚在心里,心存不满,突然爆发的情况。”

其实,也正如文章伊始所述,这本是一个属于 Rust 的好时代,大家可以各尽其能地参与到 Rust 社区,而不要让这个好时代毁于不好的管理层之手。

参考:

  • https://blog.rust-lang.org/2023/05/29/RustConf.html
  • https://gist.github.com/fasterthanlime/42da9378768aebef662dd26dddf04849
  • https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023
  • https://twitter.com/jntrnr/status/1662693220642607107?cxt=HHwWhsDSrZiriZMuAAAA
  • https://www.jntrnr.com/why-i-left-rust/
     

 

Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐