Research:Online Community Conduct Policies/Rust

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Rust is a relatively new programming language, having been created in 2006 by a Mozilla employee. Though the language and its development are sponsored by Mozilla, it is administered by an active and diverse community largely made up on volunteers. Decisions are generally made through a “Request for Comment” process that occurs on Github.

The Rust community has a dedicated Moderation Team, which stands on equal footing with other, more technical teams such as the Core, Language Design, and Compiler. The moderation team is charged with enforcing Rust's Code of Conduct, which sets out the project's welcoming of users of all types, the behavioral expectations all users are expected to abide by, and the process by which problematic behavior is handled.

Conduct policy[edit]

See also: Rust's policy text (itself derived from the Node.js Policy on Trolling and Contributor Covenant v1.3.0)

Coverage areas[edit]

Rust's Conduct Policy covers all contributors, specifically noting that it applies “regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.” It stresses that  “behavior that excludes people in socially marginalized groups” is not tolerated, and that contributors who mistreat others can and will be excluded from participation in the community.

The policy also explicitly names all venues to which it applies (“all official Rust venues; including official IRC channels[...]; GitHub repositories [...]; and all forums under rust-lang.org [...]”) and includes a link to the Citizen Code of Conduct, which provides a non-exhaustive list of things that constitute inappropriate behavior and would result in moderator action if done in the Rust community.

Behavioral expectations[edit]

Rust's CoC requires contributors to be “kind and courteous” to others in their venues, to respect opinions that differ from theirs, and to avoid usernames which may be inappropriate or offensive. Spamming, trolling, and flaming are also disallowed. Additionally, the policy explicitly states that moderators are held to a higher behavioral standard than others, and should expect to be given less leeway if they create a problematic situation

Contributors are to keep “unstructured critique” of ideas to a minimum; rather, if they think things should be done differently, they are free to adapt the code to their preference and then suggest the change back to the community.[1]

The policy encourages users to not just meet the letter of the policy, but to do their best to avoid any behavior that could potentially be offensive or hurtful, even if it would not be a violation of policy in a strict sense.[2]

History of the policy[edit]

Rust has had a Code of Conduct since it first went open-source (out of private development at Mozilla) in 2010. The policy was initially hosted as a sort of Readme within the Github the repository that stored the rest of the code. It was moved off of Github circa 2015, and has been hosted on Rust's own website since,[3] though the Github system is still used to handle suggested changes to the Code of Conduct[4]

Though Rust creator Graydon Hoare is no longer active in development of the language, he continues to contribute to discussions about it (and particularly about its Code of Conduct, which he champions). See, for instance, this discussion on Reddit, where Hoare is quite vocal about how necessary he finds CoCs to be in FOSS communities.[5]

Policy enforcement[edit]

See also: Rust's policy

Rust's Code of Conduct is administered by its moderation team (staffed by a combination of volunteer community members and paid Mozilla employees). The moderation team is considered to be on equal footing to other more technical teams such as the Core Team and Language Design Team in terms of seniority and power to enact change.

The CoC provides a link to and directions about how to contact the moderation team when you need them, and encourages users to reach out to moderators for help: “Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back.”

Rust moderation uses a three-step disciplinary process:

  1. First step: a warning to the user behaving inappropriately by the moderation team
  2. Second step: If user fails to heed warning, they will be “kicked” (given a cool-down period during which they cannot participate)[6]
  3. Third step: If behavior resumed after a kick, user will be indefinitely banned from participating in whichever venue or venues they were behaving inappropriately in.

The policy also provides details on an appeals process:

  • Appeals must be conducted privately (i.e. if you object to a kick/ban, you are expected to approach a moderator about the issue outside of the IRC channel/github repo/forum thread that the banning happened in)
  • Moderators may choose to, but are not obligated to, unban a user after a first offense if the banned user offers a genuine apology

Analysis of policy: strengths and weaknesses[edit]

Strengths[edit]

Weaknesses[edit]

References[edit]

  1. Rust's GitHub home base, which relies on version control, makes it very easy for users to "fork" Rust code, change it, and then suggest the finished product for merging back into the master branch. The policy therefore boils down to "if you don't like it, fix it, and if people like what you've come up with, they will adopt it."
  2. CoC: "In the Rust community we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self."
  3. See this discussion about moving it
  4. See Changelog
  5. Specifically: "I wrote [Rust’s CoC] before releasing any code, before even agreeing to work on such a project for Mozilla. I was actually near my breaking point with dealing with toxic FOSS community dynamics at that point -- before starting Rust -- and was considering quitting. So if you're ever curious about who gets driven away by the absence of a CoC, you can put me on the list. I did not want to work on a project of this level of visibility and public debate without clear rules about what was and was not OK."
  6. Because most behavioral problems emerge on IRC and its real-time environment, the moderation team tends to use IRC terminology such as "kick" (to remove a user from an IRC channel, as in "kick them out") to refer to general moderation actions not limited to IRC.