The Rust Community Team is close to its second year of founding. At this point, I consider the dust has settled enough.

In this post, I’ll explain how we are set up and how you can follow our work.

A Very Short History

The Rust Community IRC channel was created by me after feeling the need to get in touch with other Meetup organisers. I ran the Berlin Rust Hack and Learn and slowly, there were other events popping up.

Shortly after launch of Rust 1.0, the Rust Community team was founded and announced by Steve Klabnik as a way to bring representation of community workers into the Rust project. See then announcement for the initial goals. Later, Erick Tryzelaar took over the lead. After 2 years of active work, we have at some points diverged from this and extended it, but many still hold true.

The roster has expanded since, especially with organisers of meetups and conferences joining.

Most members of the team did community work in other communities, which certainly gave us a headstart in some aspects. Still, the only requirement to participate is interest in our work and participation.

At the same time, the still-young Rust project was in a sense a blank slate, making it very easy to evolve the structure of community work: it was only just forming. For me, personally, that was a very refreshing experience.

The community team is not the ❤️moderation team❤️, although there is some overlap. Day to day steering of discussions is not our goal. Kicking off discussions may be.

Setup: We Do FOSS Community Management

Community work for free and open source software often means a non-commercial environment. This comes with its own set of challenges and freedoms.

The Rust Community team is a volunteer effort. Even the Mozilla employees on the team are volunteering next to their job. Obviously, there are sometimes connections to their day jobs.

This, most importantly, means that the most constrained resource of the team is time. We have find relatively lightweight and easy to pick up processes. Still, documentation and coordination is important, which introduces work. We believe though, that - in total - we reduce work for individuals. It is the express goal of the team to be supportive to projects, not introduce more effort to them.

Still, FOSS work is subject to the tides of life much more than a proper job. We all have our lives with ups and downs. While we try our best to be reliable, always keep this in mind should an interaction with us does not end up perfect or delayed. But still, we want to be measured by your expectations and not disappoint you.

If you are a member of another FOSS community, treat our work with the same attitude you have to other projects code: with respect, but with the willingness to take, be inspired, ask for advice and adopt!

Communication

The community team both has open venues for discussion as well as a backchannel.

For reasons mentioned above, the open venues are the default for everything. Those are:

  • The issue tracker: Where we keep everything around that we have up for discussion or that ended up in a task. You will notice that this includes planning for unannounced events. We love a good reveal, but this is no good reason to keep things secret.
  • The meeting minutes: This is where we keep all minutes of our meetings.
  • Our GitHub organisation: In general, all artifacts of our work can be found here.
  • Our IRC channel: we meet in #rust-community at irc.mozilla.org. We always include a simple access link in our announcements so that you don’t have to be well-versed in IRC to participate. The IRC channel is public and logged.
  • Our website: here, you find general information about us, but also material about Rust in general.

The community team meets once a week, for exactly one hour. Our bug tracker should always contain an issue with the agenda before the meeting happens. Attendance is encouraged, but given our volunteer work, not expected. People are encouraged to be around 4 Minutes and 55 seconds before the meeting starts. The meetings are disciplined and start on time and end on time.

As a backchannel, we mostly use the Rust projects email infrastructure, mostly the community-team@rust-lang.org email address. The backchannel is both for people who want to discuss things with us in private, but also for team members that wish to discuss things out of the open. This is sometimes necessary, if it touches personal issues or issues far too specific to the team that open debate makes sense. Still, we prefer the open process over everything, most of our conversations can still be found in #rust-community.

We are aware that backchannels in open communities are always a matter of trust, and the backchannel has the same rules as all other Rust venues, especially the Code of Conduct.

The Rust community is often lauded for their friendliness and eagerness to help and we feel bound by that.

In Rust, Community Is Core

In the Rust project, community work is seen as parallel and as important as other contributions. For some of our members, it is the main contribution to the project, not a side issue to their coding work. This has drawn in a lot of people that have a lot of experience.

Of all the Rust project teams, the community team is probably the one where the team work happens mostly outside of the projects organisation. We talk to interested parties, library maintainers, spend our time at meetups (often our own), provide documentation and material for meetup organisers. This isn’t just about hanging around at tables - you need to be very well-informed about all aspects of the Rust projects and its workings, as you might have to point people towards their areas of interest.

We provide the project with a direct and trustable point of contact for people interested in all things Rust. Having such a broad mission, for example, that many people actively contact us when they start larger endeavours in Rust or before announcements. This gives us the possibilty to help them before the fact instead of having to point out flaws later and start a conversation.

The willingness of people to contact us is a good indicator that our approach is working.

We Help Manage The Growth

The Rust project is growing fast. Some call it hype, but any successful global project will go through a phase where things start changing more rapidly. Where 2 years ago, it was easily possible to know each and every person that writes a larger piece of Rust software, this is now impossible. This also means that our approaches have to change all the time. Where at some point, answering the odd question about the community team on the forums spread enough knowledge about us, we are now known at many places, even outside of Rust. Also, highlighting community projects worked well enough through posting them to the relevant forums, this does also not scale anymore. We are on a constant strive to remodel Rusts interaction with the community and the general public - the introduction of this blog is one of them.

This has been a wide overview, in our next blog post, we’ll explain some of these things in terms of concrete action.