编辑:我们了解到 Google 表单在某些国家/地区不易访问;如果您遇到这种情况,请在此文本文件中查找申请表的问题,并通过电子邮件将答案发送至 [email protected]。
Rust 2017 年的目标之一是通过降低学习曲线,使其更容易在 Rust 中实现生产力。我们相信 Rust 具有作为赋能技术的潜力,可以使那些传统上不做系统编程的人充满信心地承担这项工作。但是这里存在一个自举问题:如果我们想接触新人群,就不能仅仅依靠现有社区的技能和观点。因此,我们决定进行一项实验,我们需要您的帮助!
我们正在 Rust 当前社区内外寻找来自在 Rust 世界和更广泛的技术世界中代表性不足的群体和背景的人。我们希望与您合作,使 Rust 成为一个更具包容性、平易近人和有影响力的项目,同时支持您在个人目标上取得成功。
我们有一个 Rust 社区领导者团队与您配对。这个团队的组成并不特别多样化;这是 Rust 社区目前的现状。我们承认我们有很多工作要做,而这项举措是这项工作的一部分。我们都致力于提高 Rust 社区的多样性。
Rust 团队领导者在各个领域提出了项目,例如改进 Rust 本身、开发 Rust Web 工具以及提高可用性。我们正在寻找各种经验和技能组合!我们也欢迎您自己的项目想法。
我们要求在 8 月 7 日至 11 月 6 日之间每周投入 3-5 小时(或在这些日期内的较短时间)。每个项目的确切范围是灵活的,取决于您的可用性和目标。我们希望您每周至少汇报一次您的进展摘要,并且我们希望您在项目工作结束时提交可交付的成果。可交付的成果将根据项目而有所不同;例如,它可以是拉取请求、建议、文档或教程。
作为对您参与的感谢,Mozilla 将承担您选择的 Rust 会议的机票、酒店和门票费用,会议包括:
- RustConf,8 月 18-19 日,美国俄勒冈州波特兰
- RustFest,9 月 30 日-10 月 1 日,瑞士苏黎世
- Rust Belt Rust,10 月 26-27 日,美国俄亥俄州哥伦布
您的合作伙伴将为您提供所需的背景信息和工具,以帮助您在 Rust 的重要领域产生影响。您还可以访问一个私人 Slack,与其他参与者和参与此计划的 Rust 团队成员聊天。我们计划突出本次实验的结果并明确认可您的贡献;我们高度重视这些项目以及您对这些项目的贡献!
在技术界和 Rust 社区中代表性不足的一些群体,我们特别希望获得他们的见解,包括女性(顺性 & 跨性别)、非二元性别者、有色人种、非英语母语者、在晚年学习编程的人(年长者,或仅在大学,或作为中年职业生涯改变的一部分参加训练营)、残疾人或有不同学习方式的人。
在 7 月 18 日之前通过此表单申请!(当所有时区的一天都结束时)。我们将在 8 月 1 日之前通知所有申请人。
如有任何问题,请通过电子邮件 [email protected] 或在 Twitter 上 @carols10cents 联系 Carol Nichols。
项目
1. Rust 文档和代码浏览工具的用户体验
Rust 合作伙伴:Nick Cameron 和 Steve Klabnik
我们正在寻找具有图形设计、Web 前端工程或用户体验背景的人,来开发 文档和 代码浏览工具的前端/UI/UX/设计。这些工具具有 Web 前端(HTML、CSS、Ember 或 React)和 Rust 后端,并且这些工具必须深入理解 Rust 源代码。这个项目将是应用设计和前端领域经验的绝佳方式,同时让您有机会详细学习 Rust。我们正在寻找创新的想法,通过改进文档的使用体验和浏览代码的方式,使使用 Rust 和用 Rust 编写的库更容易。
此项目可能会选择多个申请人,他们将作为一个团队一起工作。
谁应该申请此项目
- 具有图形设计、Web 设计、Web 前端开发或用户体验背景
- 有兴趣提高面向开发人员的文档和工具的可用性
- 有兴趣详细了解 Rust 语法和语义

关于 Nick Cameron:我是 Rust 核心团队成员,也是开发工具团队的负责人。我致力于许多工具,包括 Rustdoc、Rustfmt、Rust 语言服务器和 Rust 编译器。我希望让 Rust 开发工具变得很棒,而用户体验是其中的关键部分。我希望 Rust 改变世界(或至少是编程世界),如果我们不让更多人更容易地访问 Rust 语言和社区,我们就无法做到这一点。

关于 Steve Klabnik:在 Rust 之前,我曾在 Ruby on Rails 上工作,我喜欢 Rust 的原因之一是,作为一个项目,我们致力于帮助人们将 Rust 作为他们的第一门底层语言来学习。因此,在某种意义上,我认为这是该工作的延续。
但是,同样,许多底层程序员不是 Web 开发人员。这意味着 Rust 的许多 Web 内容...并不是很好。由于我来自 Web 世界,我正在努力提供帮助;但我只是一个人!不仅如此,我更像是一个后端人员,因此我个人缺乏前端方面的经验。
因此,我将此项目视为一个经典的技能交流:您带来您在 Web 技术方面的专业知识,我们带来我们在 Rust 方面的专业知识,每个人都可以学习,并且我们的代码会变得更好!
2. 向 Clippy 开发工具添加代码 Lint
Rust 合作伙伴:Manish Goregaokar
Clippy 是 Rust 的 Linter。它是一种静态分析工具,可以查找您代码中的问题并将其报告给开发人员,通常会提供建议的修复方法。此项目将涉及添加更多此类 Lint 并改进现有 Lint,使其更有帮助且更易于使用。我们希望您在以下方面提出想法和帮助
- 改进和修复现有 Lint 中的错误。
- 添加侧重于帮助人们从特定语言过渡到 Rust 的 Lint
- 作为教程的 Lint,介绍想法并教授代码改进
- 您的想法!
谁应该申请此项目
- 在另一种语言中使用 Linter 的一些经验(示例:Ruby 中的 rubocop、JavaScript 中的 jslint、Python 中的 pylint、Coverity 等)
- 有兴趣改善新的 Rust 开发人员体验
- 有兴趣学习如何改进和创建 Lint

关于 Manish Goregaokar:我是 Mozilla 的一名研究工程师,致力于 Servo。我非常关心改进工作流程和工具,尤其是在新手体验方面。
我认为开源是提高编程水平的最佳方式之一,为此,我关心如何通过系统改进和个人指导使其更容易访问和贡献。
3. 提高 rust-lang.org 和/或 crates.io 设计的平易近人程度
Rust 合作伙伴:Aaron Turon
我很乐意与一个或多个人合作设计 我们的主网站和/或 crates.io。它们都可以在某种程度上真正改进,从而对 Rust 的平易近人程度产生重大影响,而且我有很多想法(和抱怨)可以从这里开始。如果成功,也有可能从该项目中引导一个全新的设计子团队。
此项目可能会选择多个申请人,他们将作为一个团队一起工作。
谁应该申请此项目
- 具有图形设计、Web 设计、信息架构或用户体验背景
- 有兴趣提高 Rust 的平易近人程度
- 有兴趣调查访问主网站和/或 crates.io 的访客背后的动机

关于 Aaron Turon:我是 Rust 核心团队成员,管理 Mozilla Rust 团队,目前领导库、基础设施和 Cargo 团队。在技术方面,我最受语言设计和端到端用户体验的驱动。在人员方面,我喜欢促进共识、建立团队和赋能他人。我和我的伴侣和两个女儿住在俄勒冈州波特兰。
在开源社区工作一次又一次地向我展示了视角和背景的多样性是多么重要。我希望,通过投资像这样的倡议,我们可以欢迎更广泛的人群,并在 Rust 社区中为他们赋能。
4. 改进 intorust.com 上的视频教程
Rust 合作伙伴:Niko Matsakis
intorust.com 是一个包含一系列屏幕录像的网站,旨在以简单易懂的方式教授关键的 Rust 概念。我很乐意与人合作,扩大涵盖 Rust 更多部分的材料,并确保尽可能多的人都能理解。另一个有趣的途径可能是扩展该站点以涵盖诸如堆栈和堆的作用之类的背景主题。
谁应该申请此项目
- 具有教学或辅导背景
- 具有创建视觉教学工具(如图表或绘图)的背景或兴趣,这将是一个加分项
- 有兴趣学习 Rust 概念并将您所学的内容教给他人

关于 Niko Matsakis:我是 Rust 核心团队以及 Rust 语言和编译器团队的成员。我主要关注语言本身的设计和实现。我想尽我所能使尽可能多的人尽可能顺利地学习 Rust。我认为实现此目标的最佳方法是与具有不同背景和经验的人合作,因为这将影响他们学习材料的方式。
5. 为 Rust Web 框架的组成部分 Rocket 和 Diesel 编写教程
Rust 合作伙伴:Sean Griffin
我正在寻找在其他 Web 框架中具有 Web 开发经验的人,以帮助改进 Rust 在 Web 开发领域的框架的相关文档。我很乐意改善使用 Rocket(Web 框架)和 Diesel (ORM) 的新用户体验。这可能包括编写教程、创建屏幕录像、制作示例应用程序或改进 API 文档。
谁应该申请此项目
- 具有教学或辅导背景
- 具有使用其他语言编写的 Web 框架的经验
- 有兴趣学习如何在 Rust 中编写 Web 应用程序并将您所学的内容教给他人

关于 Sean Griffin:除了我的 Rust 工作之外,我还是 Ruby on Rails 的维护者之一。Rails(和 Web 开发)的伟大之处之一在于它真正帮助降低了入门门槛。我认为 Rust 可以产生类似的影响(对于底层编程和作为高级语言的竞争)。但是,目前 Rust 的学习曲线非常糟糕。尽可能多地从不同角度提供输入来改善这一点似乎是再次帮助平衡竞争环境的最佳方法。
6. 扩展文学编程工具 Tango
Rust 合作者:Felix Klock
我正在寻找对 “程序即文学” 感兴趣的人,来帮助我扩展 tango
(一个用于 Rust 的文学编程工具),使其不仅仅用于演示和幻灯片。如果您有关于您自己代码的元评论写作经验,为教学目的记录其工作原理,那么您可能就是我正在寻找的人!查看[这个 markdown 文件](https://github.com/pnkfelix/mon-artist/blob/a3388c11e8b1910cc4eb4c31bd1540a46851618b/src/lit/s rc/format.md),tango 能够将其转换为可执行的 Rust 代码文件,以了解 tango 可以做什么的示例。您可以从 tango
issues 页面看到一些扩展的想法。
谁应该申请此项目
- 写作、教学或文档方面的背景
- 对改进创建和显示代码文档的工具的兴趣和看法

关于 Felix Klock:我是 tango 的主要开发者(也是 Rust 编译器和语言团队的成员)。我积极使用 tango 来编写关于 Rust 的演示幻灯片。我假设文学 Rust 代码可以作为 Rust 本身的广告,并希望弄清楚如何使该工具对现实世界的 crates 更有用。
更普遍地说:我长期以来都坚持认为计算机可以成为强大的 教育工具。Rust 为勇敢的探险家提供了独特的载体,让他们能够深入并超越机器之上的抽象层次。我希望 Rust 最大限度地提高其 对所有人的可访问性,使其不会陷入思想的回音室,最终成为只有精英巫师才能使用的技术,从而错失这个教育机会。
7. 发现 crates 生态系统中缺失的部分
Rust 合作者:Andrew Gallant
我感兴趣与某人合作,发现现有 crates 的种类中可能存在的差距。这个项目将首先用您最熟悉的语言或框架编写一个小应用程序。然后,我们将尝试将该应用程序移植到 Rust,并跟踪库中缺少哪些库或库中缺少哪些功能。然后,Rust 社区可以利用您的发现来填补这些空白,并使 Rust 在更多场景中可用。
谁应该申请此项目
- 在其他编程语言中使用库构建应用程序的经验
- 对学习如何将应用程序转换为 Rust 感兴趣
- 对研究和记录库具有或不具有的功能感兴趣

关于 Andrew Gallant:我是 Rust 库团队的成员,在业余时间使用 Rust。我对信息检索、快速文本搜索和总体上改进 Rust 的生态系统非常感兴趣。我的动力来自于我个人对技术主题的兴趣和教学的愿望。除了我对 Rust 等语言的个人技术兴趣之外,我真的很喜欢这个项目,因为它提供了一个向他人传授我所学知识的渠道。我特别感兴趣于尽可能多地提高学习成果,并很乐意将这种机会扩展到我可能无法接触到的其他人。我和我的妻子住在马萨诸塞州中部。
8. 发现构建命令行界面 (CLI) 程序体验中缺失的部分
Rust 合作者:Kamal Marhubi
我发现 Rust 是编写小型命令行工具的绝佳语言,但我认为它可以做得更好。我很乐意与想编写 CLI 程序或想将其移植到 Rust 的人合作。几乎肯定存在粗糙的边缘,共同工作将是找到它们并改进所有人的工具的好方法。
谁应该申请此项目
- 在其他语言中使用命令行界面构建和使用工具的经验
- 对学习如何编写或将 CLI 程序转换为 Rust 感兴趣
- 对研究和记录库具有或不具有的功能感兴趣

关于 Kamal Marhubi:我已经编写 Rust 大约一年半了。我帮助维护 nix,这是一个为 unix 系统 API 提供 Rusty 界面的库。我还为 rustfmt、rustup 和标准库做出了贡献。
我们很高兴在 7 月 18 日之前收到 您的申请!我们将在 8 月 1 日之前通知所有申请人。