2024 年 Rust 项目目标

2024 年 8 月 12 日 · Niko Matsakis 代表 领导委员会

随着 RFC #3672 的合并,Rust 项目已为 2024 年下半年 (2024H2) 选择了 26 项项目目标。这是我们第一次运行 实验性的新路线图流程;如果一切顺利,我们预计大约每六个月运行一次该流程。在这些目标中,我们指定了三个作为我们的 旗舰目标,代表我们最雄心勃勃和最具影响力的努力:(1) 完成 Rust 2024 版本的准备工作;(2) 使 Async Rust 的体验更接近于同步 Rust;(3) 解决 Linux 内核在稳定 Rust 上构建的最大障碍。随着年份的推移,我们将定期发布关于这 3 个旗舰目标以及其他 23 个目标的更新。

Rust 的使命

所有选定的目标最终都促进了 Rust 的使命:使每个人都能构建可靠且高效的软件。Rust 的目标程序优先考虑

  • 可靠性和鲁棒性;
  • 性能、内存使用和资源消耗;以及
  • 长期维护和可扩展性。

我们认为“三者取其二”是 Rust 成为强大竞争者甚至可能是最佳选择的项目的正确启发式方法,我们选择目标的部分原因是为了帮助确保这一点。

为什么选择这些特定的旗舰目标?

2024 版本。 2024 年将是 Rust 的第四个版本,紧随 2015 年、2018 年和 2021 年版本之后。与 2021 版本类似,2024 版本不是“主要的营销推广”,而是一个纠正 Rust 中小的工效问题的机会,这将使其整体上更容易使用。2024 版本计划的更改包括 (1) 通过对齐捕获行为来支持特征中的 -> impl Traitasync fn;(2) 通过保留 gen 关键字,允许将来添加(异步)生成器;(3) 更改 ! 类型的回退。 计划是今年完成 2024 功能的开发;该版本本身计划用于 Rust v1.85(将于 2025-01-03 发布到 beta 版,并于 2025-02-20 发布到稳定版)。

异步。 在 2024 年,我们计划交付几个关键的异步 Rust 构建模块功能,最值得注意的是支持异步闭包Send 边界。这是旨在将编写“异步 Rust”的体验提升到与“同步 Rust”相同质量水平的多年计划的一部分。异步 Rust 得到了广泛使用,在 2023 年 Rust 调查中,52% 的受访者表示他们使用 Rust 构建服务器端或后端应用程序。

用于 Linux 的 Rust。 在 Linux 内核中对 Rust 开发的实验性支持是 Rust 的一个分水岭时刻,向世界证明 Rust 确实能够以各种方式定位底层系统应用程序。然而,如今,该支持依赖于 许多不稳定的功能,阻碍了这项工作超越实验状态。在 2024H2,我们将努力弥合 阻碍支持的最大差距

其他目标中的亮点

除了旗舰目标之外,路线图还定义了 23 个其他目标。以下是一些示例,供您参考

查看整个列表! (请继续,我们会等,但之后请回到这里!)

如何跟踪进度

随着年份的推移,我们将定期发布博客文章,总结各个目标的进展情况。如果您想查看更多详细信息,请访问 rust-lang/rust-project-goals 存储库上的 2024h2 里程碑,其中包含每个目标的跟踪问题。每个问题都分配给了该特定目标的 所有者。您可以订阅该问题以接收定期更新,或在 rust-lang Zulip 上监控 #project-goals 频道。随着时间的推移,我们可能会创建其他方式来跟踪进度,例如 rust-lang.org 上的一个页面来可视化进度(如果您想对此提供帮助,请联系 @nikomatsakis,谢谢!)。

值得提前说明:我们不期望所有这些目标都能完成。其中许多目标是由志愿者提出和拥有的,并且事情并不总是按计划进行,这是正常和可预期的。如果某个目标似乎停滞不前,我们可以寻找新的所有者,或者在下一轮目标规划中再次考虑该目标。

我们如何选择项目目标

每个项目目标都始于针对 rust-lang/rust-project-goals 存储库的 PR。随着每个 PR 的到来,这些目标会与团队进行社交。此过程有时会导致对目标进行编辑,或将较大的目标分解为较小的部分(例如,“更高级别 Rust”的深远目标被分解为两个特定的可交付成果,即 用户范围的构建缓存符合人体工程学的引用计数)。最后,这些目标被整理成 RFC #3672,其中列出了每个目标以及团队的所有要求。此 RFC 已获得所有被要求提供支持或其他要求的团队的批准。

结论:项目目标作为 Rust 的“前门”

对我而言,项目目标计划最令人兴奋的事情是看到 来自 现有 Rust 维护者之外目标。我希望项目目标流程可以补充 RFC,作为该项目的有效“前门”,为那些有资源和技能推动变革的人提供一种方式来提出该想法,并在他们开始工作之前从 Rust 团队获得反馈。

项目目标还有助于确保 Rust 开源社区的可持续性。过去,很难判断开始一个项目时它是否会受到 Rust 维护者的欢迎。这对于那些想要资助改进 Rust 的努力的人来说是一个障碍,因为人们不喜欢在没有合理信心能够成功的情况下资助工作。项目目标是项目维护者“祝福”特定项目并表明他们认为这对 Rust 有帮助的一种方式。例如,Rust 基金会将项目目标作为考虑 研究金申请的标准之一,我预计随着时间的推移,其他资助计划也会这样做。但项目目标对其他人也很有用:例如,拥有批准的项目目标可以帮助某人说服他们的雇主给他们时间从事 Rust 开源工作,或者给承包商提供他们需要的信心,以确保他们的客户他们能够完成工作。

下一轮目标规划将针对 2025H1,预计将于 10 月开始。我们期待看到提出的伟大想法!