编辑:我们得知 Google Forms 在某些国家不易访问;如果这对您适用,请在此文本文件中找到申请问题,并将答案通过电子邮件发送至 carol.nichols@gmail.com。
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 日前通知所有申请者。
如有任何问题,请通过电子邮件 carol.nichols@gmail.com 或 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 前端开发或用户体验背景
- 对改进面向开发者的文档和工具的可用性感兴趣
- 对详细学习 Rust 语法和语义感兴趣

关于 Nick Cameron:我是 Rust 核心团队成员,负责 dev-tools 团队。我开发了许多工具,包括 Rustdoc、Rustfmt、Rust Language Server 和 Rust 编译器。我想让 Rust 开发者工具变得非常棒,而用户体验是其中的关键部分。我想让 Rust 改变世界(或者至少改变编程世界),而要做到这一点,就必须让更多人更容易接触 Rust 语言和社区。

关于 Steve Klabnik:在 Rust 之前我曾从事 Ruby on Rails 的工作,我热爱 Rust 的原因之一是,作为一个项目,我们致力于帮助人们将 Rust 作为他们的第一门低级语言来学习。所以在某种意义上,我认为这是这种努力的延续。
然而,同样的,许多低级程序员并非 Web 开发者。这意味着 Rust 的许多 Web 相关的东西...并非特别出色。由于我来自 Web 世界,我正努力提供帮助;但我也只是一个人!不仅如此,我更偏向后端,因此个人缺乏前端方面的经验。
因此,我认为这个项目是一个经典的技能交流:您带来 Web 技术的专业知识,我们带来 Rust 的专业知识,大家共同学习,我们的代码也会变得更好!
2. 为 Clippy 开发者工具添加代码 Lints
Rust 合作伙伴:Manish Goregaokar
Clippy 是 Rust 的 linter。它是一个静态分析工具,用于发现代码中的问题并报告给开发者,通常会提供建议的修复方法。本项目将涉及添加更多此类 lints 并改进现有的 lints,使其更有帮助且更用户友好。我们非常欢迎您在以下方面的想法和帮助:
- 改进和修复现有 Lints 中的错误。
- 添加侧重于帮助人们从特定语言过渡到 Rust 的 lints
- 作为教程的 Lints,介绍概念并教授代码改进
- 您的想法!
谁应该申请此项目
- 在其他语言中使用 linter 的经验(例如:Ruby 的 rubocop,JavaScript 的 jslint,Python 的 pylint,Coverity 等)
- 对改进 Rust 新开发者体验感兴趣
- 对学习如何改进和创建 lints 感兴趣

关于 Manish Goregaokar:我是 Mozilla 的一名研究工程师,从事 Servo 项目。我非常关注工作流程和工具的改进,特别是关于新手的体验。
我认为开源是提高编程熟练度的最佳途径之一,为此我致力于通过系统性改进和个人指导,使其更易于接触和贡献。
3. 改进 rust-lang.org 和/或 crates.io 的设计,使其更易于接近
Rust 合作伙伴:Aaron Turon
我非常想与一人或多人一起,改进我们的主网站和/或crates.io 的设计。这两者都可以通过显著改进,对 Rust 的易用性产生重大影响,我也有很多想法(和抱怨)可以作为起点。如果项目成功,还有可能从中启动一个全新的设计子团队。
该项目可能会选择多个申请者,让他们作为团队合作。
谁应该申请此项目
- 具有平面设计、网页设计、信息架构或用户体验背景
- 对改进 Rust 的易用性感兴趣
- 对研究主网站和/或 crates.io 访问者动机感兴趣

关于 Aaron Turon:我是 Rust 核心团队成员,管理 Mozilla Rust 团队,目前领导 library、infrastructure 和 Cargo 团队。技术方面,我最关注语言设计和端到端用户体验。人际方面,我喜欢促进共识、组建团队和赋能他人。我与伴侣和两个女儿住在俄勒冈州波特兰。
在开源社区工作一次又一次地向我表明,视角和背景的多样性是多么重要。我希望通过投资于像这样的倡议,我们能够欢迎更广泛的人群,并在 Rust 社区中赋能他们。
4. 改进 intorust.com 上的视频教程
Rust 合作伙伴:Niko Matsakis
intorust.com 是一个包含系列截屏视频的网站,旨在以简单易懂的方式教授 Rust 的关键概念。我很乐意与某人合作,一方面扩展内容以涵盖更多 Rust 部分,另一方面确保内容尽可能广泛地被受众理解。另一个有趣的方向可能是扩展网站,也涵盖栈和堆的作用等背景主题。
谁应该申请此项目
- 具有教学或辅导背景
- 具有或对创建图表或绘画等可视化教学工具感兴趣者优先
- 对学习 Rust 概念并将所学知识教授给他人感兴趣

关于 Niko Matsakis:我是 Rust 核心团队以及 Rust 语言和编译器团队的成员。我主要专注于语言本身的设计和实现。我想尽我所能,让尽可能多的人学习 Rust 尽可能顺利。我认为实现这一目标的最佳方式是与具有不同背景和经验的人合作,因为这会影响他们学习材料的方式。
5. 为 Rocket 和 Diesel 编写教程,它们是 Rust Web 框架体系的一部分
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 的字面编程工具),使其不仅能用于演示和幻灯片。如果您有撰写自己代码的元评论、记录其工作原理以便教授他人这方面的经验,那么您可能就是我正在寻找的人!请查看 [this markdown file](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 本身的宣传,并希望找出如何使这个工具对实际的 crate 更实用。
更普遍地说:我长期以来坚持认为计算机可以成为一个强大的教育工具。Rust 为那些勇敢探索、深入并超越机器之上抽象层的人们提供了一个独特的载体。我希望 Rust 最大化其对所有人的可访问性,使其不会陷入思想的迴声室,最终成为只有精英巫师才能使用的技术,从而错失这个教育机会。
7. 寻找 Crates 生态系统中缺失的部分
Rust 合作伙伴:Andrew Gallant
我希望与某人合作,一起发现现有的 crate 种类可能存在的空白。本项目首先涉及使用您最熟悉的语言或框架编写一个小应用程序。然后我们将尝试将该应用程序移植到 Rust,并记录现有库中缺失的库或功能。然后 Rust 社区可以利用您的发现来填补这些空白,使 Rust 在更多场景下可用。
谁应该申请此项目
- 具有使用其他编程语言的库构建应用程序的经验
- 对学习如何将应用程序移植到 Rust 感兴趣
- 对研究和记录库具有或不具有的功能感兴趣

关于 Andrew Gallant:我是 Rust library 团队成员,在业余时间从事 Rust 工作。我非常关注信息检索、快速文本搜索以及总体改进 Rust 的生态系统。我既受个人技术兴趣驱动,也渴望教学。除了对 Rust 等语言的技术兴趣外,我非常热爱参与这个项目,因为它提供了一个平台,让我可以向他人传授我所学到的知识。我特别希望尽可能提高更多人的学习成果,并非常珍视将这种机会扩展到我原本可能无法触及的人群的机会。我与妻子住在马萨诸塞州中部。
8. 寻找构建命令行界面(CLI)程序的体验中缺失的部分
Rust 合作伙伴:Kamal Marhubi
我发现 Rust 是编写小型命令行工具的绝佳语言,但我认为它可以做得更好。我很想与希望编写 CLI 程序或希望将其现有程序移植到 Rust 的人合作。几乎肯定存在一些不太完善的地方,而共同努力将是发现这些问题并改进工具的好方法,这惠及所有人。
谁应该申请此项目
- 具有使用其他语言构建和使用命令行界面工具的经验
- 对学习如何用 Rust 编写或移植 CLI 程序感兴趣
- 对研究和记录库具有或不具有的功能感兴趣

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