gvwilson / 10-newcomers

Ten Simple Rules for Helping Newcomers Become Contributors to Open Source Projects
Other
46 stars 3 forks source link

Have, publicize, and enforce a code of conduct #1

Closed gvwilson closed 5 years ago

gvwilson commented 5 years ago

This tells newcomers and novices that they won't be sneered at, bullied, or otherwise made unwelcome.

dsholler commented 5 years ago

On the issue of enforcement, it is important to have at least one outside person (someone not employed by or otherwise tied to the project) to receive reports of violations. At least two reasons for this: (1) People may be more likely to speak up if they don't have to communicate the grievance to, say, a project lead or other central person and (2) People may get a better sense of procedural justice if an independent party receives and acts on the grievance than if someone internal handles the issue.

igorsteinmacher commented 5 years ago

Something to help here: https://frameshiftconsulting.com/code-of-conduct-book/

dsholler commented 5 years ago

Each of the rules presented here implicitly suggest designing newcomer strategies that promote a welcoming, healthy environment. It is also important, though, to explicitly codify guidelines for all members of the community to follow in fostering such an environment. An increasingly popular strategy for doing so is developing and publishing a code of conduct.

Many projects--e.g., rOpenSci [1], NumPy [2], and Project Jupyter [3]--have begun to publish codes of conduct based on the Contributor Covenant [4] or other widely-used frameworks such as SciPy's code of conduct [5]. However, several questions around reporting violations and enforcing rules remain open: What is the appropriate mechanism for reporting violations? Who should receive reports? What types of actions can projects take when a member of the community violates the code? Projects may vary in how they address these questions based on characteristics of size, technology choices, or human resources (such as the presence of a community manager). However, some must-haves are clear based on our collective experience and code of conduct guides [6, 7].

For instance, projects should designate at least one independent party (i.e., an individual not employed by or otherwise deeply tied the project) to receive and review reports. An independent party offers a degree of objectivity and can help to protect reporters from hesitating to report out of fear of retribution or damage to their reputation. When possible, the independent party should be part of a larger code of conduct committee made up of several people with varied characteristics (e.g., gender identity, race, ethnicity, roles in the community). Any member of the committee implicated in the incident should, for obvious reasons, be recused from reviewing the violations.

Project leaders should also develop some enforcement mechanisms and, when safe for the reporter, publicize the enforcement decision. Enforcing the code and announcing decisions are critical. else the community will quickly recognize the code as meaningless. Committees can consider several courses of action once investigations are complete: verbal or written warnings, limits on access to project communication avenues (e.g., Slack channels or mailing lists), or, in severe cases, suspension or expulsion from contributing to the project.

[1] rOpenSci Code of Conduct, version 2.0. Published 10 Jan 2019. Accessed 14 Feb 2019. Available at: https://ropensci.org/code-of-conduct/ [2] NumPy Code of Conduct. Accessed 14 Feb 2019. Available at: https://www.numpy.org/devdocs/dev/conduct/code_of_conduct.html [3] Project Jupyter Code of Conduct. Published 24 Jul 2018. Accessed 14 Feb 2019. Available at: https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md [4] Contributor Covenant v1.4.1. Accessed 14 Feb 2019. Available at: https://www.contributor-covenant.org/ [5] SciPy Code of Conduct v1.2.0. Published 10 Feb 2019. Accessed 14 Feb 2019. Available at: https://docs.scipy.org/doc/scipy/reference/dev/conduct/code_of_conduct.html [6] Aurora, V. and Gardiner, M. (2019). How to Respond to Code of Conduct Reports. v.1.1. Frame Shift Consulting LLC. ISBN: 9781386922575. Available at: https://files.frameshiftconsulting.com/books/cocguide.pdf [7] Martin, R. C. (2011). The clean coder: a code of conduct for professional programmers. London: Pearson Education.

gvwilson commented 5 years ago

Incorporated in 51458b9