The Rust community has been hard at work on our 2017 roadmap, but as we come up on the final quarter of the year, we're going to kick it into high gear—and we want you to join us!
Our goals for the year are ambitious:
- Rust should have a lower learning curve.
- Rust should have a pleasant edit-compile-debug cycle.
- Rust should provide a solid, but basic IDE experience.
- Rust should provide easy access to high quality crates.
- Rust should be well-equipped for writing robust, high-scale servers.
- Rust should have 1.0-level crates for essential tasks.
- Rust should integrate easily into large build systems.
- Rust's community should provide mentoring at all levels
To finish off these goals, we intend to spend the rest of the year focused purely on "implementation" work—which doesn't just mean code! In particular, we are effectively spinning down the RFC process for 2017, after having merged almost 90 RFCs this year!
So here's the plan. Each Rust team has put together several working groups focused on a specific sub-area. Each WG has a leader who is responsible for carving out and coordinating work, and a dedicated chat channel for getting involved. We are working hard to divvy up work items into many shapes and sizes, and to couple them with mentoring instructions and hands-on mentors. So if you've always wanted to contribute to Rust but weren't sure how, this is the perfect opportunity for you. Don't be shy—we want and need your help, and, as per our roadmap, our aim is mentoring at all levels of experience. To get started, say hello in the chat rooms for any of the work groups you're interested in!
A few points of order
There are a few online venues for keeping in the loop with working group activity:
There is a dedicated Gitter community with channels for each working group, as well as a global channel for talking about the process as a whole, or getting help finding your way to a working group. For those who prefer IRC, a good bridge is available!
The brand-new findwork site, which provides an entry point to a number of open issues across the Rust project, including those managed by working groups (see the "impl period" tab). Thanks, @nrc, for putting this together!
We also plan two in-person events, paired with upcoming Rust conferences. Each of them is a two-day event populated in part by Rust core developers; come hang out and work together!
As usual, all of these venues abide by the Rust code of conduct. But more than that: this "impl period" is a chance for us all to have fun collaborating and helping each other, and those participating in the official venues are expected to meet the highest standards of behavior.
The working groups
Without further ado, here's the initial lineup! (A few more working groups are expected to arise over time.)
If you find a group that interests you, please say hello in the corresponding chat room!
|WG-compiler-errors||Make Rust's error messages even friendlier.||Learn more||Chat|
|WG-compiler-front||Dip your toes in with parsing and syntax sugar.||Learn more||Chat|
|WG-compiler-middle||Implement features that involve typechecking.||Learn more||Chat|
|WG-compiler-traits||Want generic associated types? You know what to do.||Learn more||Chat|
|WG-compiler-incr||Finish incremental compilation; receive undying love.||Learn more||Chat|
|WG-compiler-nll||Delve into the bowels of borrowck to slay the beast: NLL!||Learn more||Chat|
|WG-compiler-const||Const generics. Enough said.||Learn more||Chat|
|WG-libs-blitz||Help finish off the Blitz before all the issues are gone!||Learn more||Chat|
|WG-libs-cookbook||Work on bite-sized examples to get folks cooking with Rust.||Learn more||Chat|
|WG-libs-guidelines||Take the wisdom from the Blitz and pass it on.||Learn more||Chat|
|WG-libs-simd||Provide access to hardware parallelism in Rust!||Learn more||Chat|
|WG-libs-openssl||Want better docs for openssl? So do we.||Learn more||Chat|
|WG-libs-rand||Craft a stable, core crate for randomness.||Learn more||Chat|
|WG-docs-rustdoc||Help make docs beautiful for everyone!||Learn more||Chat|
|WG-docs-rustdoc2||Get in on a bottom-up revamp of rustdoc!||Learn more||Chat|
|WG-docs-rbe||Teach others Rust in the browser.||Learn more||Chat|
|WG-docs-checklist||Help finish the standard library documentation!||Learn more||Chat|
Dev tools team
|WG-dev-tools-rls||Help make Rust's IDE experience first class.||Learn more||Chat|
|WG-dev-tools-vscode||Improve Rust's IDE experience for VSCode.||Learn more||Chat|
|WG-dev-tools-clients||Implement new RLS clients: Atom, Sublime, Visual Studio...||Learn more||Chat|
|WG-dev-tools-IntelliJ||Polish up an already-rich Rust IDE experience.||Learn more||Chat|
|WG-dev-tools-rustfmt||Make Rust's code the prettiest!||Learn more||Chat|
|WG-dev-tools-rustup||Make Rust's first impression even better!||Learn more||Chat|
|WG-dev-tools-clippy||It looks like you're trying to write a linter. Want help?||Learn more||Chat|
|WG-dev-tools-bindgen||Make FFI'ing to C and C++ easy, automatic, and robust!||Learn more||Chat|
|WG-cargo-native||Let's make native dependencies as painless as we can.||Learn more||Chat|
|WG-cargo-registries||Going beyond crates.io to support custom registries.||Learn more||Chat|
|WG-cargo-pub-deps||Teach Cargo which of your dependencies affects your users.||Learn more||Chat|
|WG-cargo-integration||How easy can it be to use Cargo with your build system?||Learn more||Chat|
|WG-infra-crates.io||Try your hand at a production Rust web app!||Learn more||Chat|
|WG-infra-perf||Let's make sure Rust gets faster.||Learn more||Chat|
|WG-infra-crater||Regularly testing the compiler against the Rust ecosystem.||Learn more||Chat|
|WG-infra-secure||Help us implement best practices for Rust's infrastructure!||Learn more||Chat|
|WG-infra-host||Managing the services that keep the Rust machine running.||Learn more||Chat|
|WG-infra-rustbuild||Streamline the compiler build process.||Learn more||Chat|
|WG-core-site||The web site is getting overhauled; help shape the new content!||Learn more||Chat|