async ecosystem wg
— 2019-02-27

12 months ago, the first iteration of the networking working group kicked off. 6 months later we underwent change, and created 3 sub-working groups. It's a new year, a new rust edition, and a good time to re-evaluate our organizational structures.

THE PATH TAKEN

During the last set of organizational changes we came up with with a structure of 3 sub-working groups:

This worked well for a while, but it quickly became clear that this structure came with non-trivial overhead.

Organizing meetings for the working groups, between working groups, and with the core team took effort. Enough effort that between deadlines, holidays and other events, involvement wasn't consistent.

Another challenge has been to create clear communication to people outside of the working groups. Between 3 sub working groups, libraries in different organizations, and multiple channels it can be hard to keep up with what's going on.

THE PATH AHEAD

We'll be changing our current structure to a new structure of 2 separate working groups:

The async foundations working group will operate as part of the lang WG, similar to the traits, grammar, and FFI working groups.

The async ecosystem working group will live under github.com/rustasync. Projects we'll be working on include the Tide web framework, Romio reactor, and Juliex executor.

We believe that by creating these projects we'll be able to better identify which pieces in the ecosystem are missing. And identify where it makes sense to create shared abstractions.

A historical example can be found in Romio and Juliex. The experience of writing them has been a key driver in the decision to simplify the std::task::Waker type, providing a better interface for everyone.

We expect the new working group structure will allow us to create better results, communicate better, and in the end help elevate Rust's async story to be second to none.

BECOME INVOLVED

The async ecosystem working group has text-only meetings every Thursdays at 4pm UTC on our Discord channel. We have agendas for each meeting, and store minutes in a public repository so people can catch up async. The meetings are open to anyone interested, and we encourage people to add questions / topics to the agenda to discuss.

Thanks everyone for reading. We're excited for the future of async Rust, and we hope you are too!