Rust team structure revamp


#1

One of the items mentioned in the 2018 roadmap RFC is scaling up Rust’s teams by introducing new subgroups with delegated responsibilities, and allowing those groups to grow. The teams have already started down this road, with virtually every team growing subgroups. You’ll be hearing more from them in the coming weeks.

Now that the dust is settling a bit, I want to summarize the changes and provide a complete “org chart” for the Rust teams.

Summary of changes

  • We’ll stop saying “subteam” except when specifically talking about the relationship to another team.

  • In general, a “parent” team oversees its subteams and should have some representation from each of them.

  • Bring today’s Lang and Compiler teams under a single “Lang” team, with both “Design” and “Compiler” as subteams. This allows for more unified management, as well as cross-cutting working groups (like the Unsafe code guidelines).

  • Introduce two subteams for Libs: std and Ecosystem. This should improve our latency on std changes, and allow our ecosystem focus to grow.

  • Move the Cargo team under Dev Tools.

  • Remove the “peer” setup within Dev Tools in favor of a large set of working groups.

  • Introduce dedicated Docs subteams managing each major document.

  • Introduce dedicated Community subteams managing the quite diverse set of work handled by the team.

  • Bring the Infra and Release teams under a common “Operations” parent team, and clarify subteams of each

Rust project org chart

  • Core
    • Lang (nmatsakis)
      • Design (nmatsakis)
      • Compiler (nmatsakis)
        • WG: Compiler performance (mw)
        • WG: NLL (pnkfelix)
        • WG: const generics (eddyb)
        • WG: Traits (nmatsakis)
        • WG: Diagnostics (TBD)
        • WG: Macros (TBD)
      • WG: Unsafe code guidelines (TBD)
    • Libs (aturon)
      • std (acrichto)
      • Ecosystem (kodraus)
    • Dev-tools (nrc)
      • cargo (aturon)
      • rustdoc (misdrevus)
      • IDEs and editors (nrc)
      • WG: rustdoc2
      • WG: clippy
      • WG: bindgen
      • WG: testing
      • WG: rustfmt
      • WG: rustup
      • WG: debugging
    • Docs (steveklabnik)
      • TRPL (steveklabnik)
      • Reference (Havvy)
      • std (steveklabnik)
      • RBE (steveklabnik)
      • nomicon (steveklabnik)
    • Community (ag_dubs)
      • Events (skade)
      • Content (booyaa)
      • RustBridge (ag_dubs)
      • Switchboard (manish)
      • Survey (jntrnr)
      • Localisation (sebasmagri)
    • Operations
      • Infra (aidanhs)
        • Crates.io (carols10cents)
        • Crater (aidanhs)
          • WG: bors-controlled
        • Perf (simulacrum)
        • Hosting/AWS
        • Apps
          • WG: upgrade bors
        • Playground (shepmaster)
        • Monitoring
      • Release (simulacrum)
        • Regression discovery
        • Issue triage
        • Stabilization
    • Cross-cutting WGs
      • Domains
        • WG: WebAssembly (fitzgen)
        • WG: Network programming (woboats + cramertj)
        • WG: Embedded devices (japaric)
        • WG: CLI apps (killercup)
      • WG: Web site (ag_dubs)
  • Moderation

Contributing to Rustup - help with code structure needed