On Thu, Aug 24, 2017 at 4:11 AM, Ralf Gommers <ralf.gommers@gmail.com> wrote:On Sun, Aug 20, 2017 at 12:53 PM, Ralf Gommers <ralf.gommers@gmail.com> wrote:Hi all,
I propose that we as SciPy developers and community adopt a Code of Conduct.
As you probably know, Code of Conduct (CoC) documents are becoming more common every year for open source projects, and there are a number of good reasons to adopt a CoC:
1. It gives us the opportunity to explicitly express the values and behaviors we'd like to see in our community.
2. It is designed to make everyone feel welcome (and while I think we're a welcoming community anyway, not having a CoC may look explicitly unwelcoming to some potential contributors nowadays).
3. It gives us a tool to address a set of problems if and when they occur, as well as a way for anyone to report issues or behavior that is unacceptable to them (much better than having those people potentially leave the community).
4. SciPy is not yet a fiscally sponsored project of NumFOCUS, however I think we'd like to be in the near future. NumFOCUS has started to require having a CoC as a prerequisite for new projects joining it. The PSF has the same requirement for any sponsorship for events/projects that it gives.
Also note that GitHub has starting checking the presence of a CoC fairly prominently (https://github.com/scipy/scipy/community ), and has also produced a guide with things to think about when formulating a CoC: https://opensource.guide/code-of-conduct/ . I recommend reading that guide (as well as others guides on that site), it's really good.
To get to a CoC document, a good approach is to borrow text from a CoC that has been in use for a while and has proven to be valuable, and then modify where needed (similar to a software license - don't invent your own). I considered three existing CoC's:
- The Contributor Covenant (http://contributor-covenant.org/version/1/2/0/ ): simple, concise, the most widely used one. The NumFOCUS recommended one is based on it as well (https://www.numfocus.org/about/code-of-conduct/ ).
- The Python Community Code of Conduct (https://www.python.org/psf/codeofconduct/ ): also simple, addresses mostly the spirit in which the Python community is operating / should operate.
- The Jupyter Code of Conduct (https://github.com/jupyter/governance/tree/master/conduct ): much more detailed, in part derived from the Speak up! and Django ones, more appropriate for large communities.The contributor covenant looks excellent, short, well structured, and easy to understand. I'd suggest adding just a bit for clarification, for instance, what venues (mailing lists, github) are considered in the SciPy domain, and a bit on whom to contact in case of problems.