<div dir="ltr"><div><div><div><div><div><div>Hi all,<br><br>I propose that we as SciPy developers and community adopt a Code of Conduct.<br><br>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:<br>1. It gives us the opportunity to explicitly express the values and behaviors we'd like to see in our community.<br>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).<br>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).<br>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.<br><br>Also note that GitHub has starting checking the presence of a CoC fairly prominently (<a href="https://github.com/scipy/scipy/community">https://github.com/scipy/scipy/community</a>), and has also produced a guide with things to think about when formulating a CoC: <a href="https://opensource.guide/code-of-conduct/">https://opensource.guide/code-of-conduct/</a>. I recommend reading that guide (as well as others guides on that site), it's really good.<br><br>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:<br>- The Contributor Covenant (<a href="http://contributor-covenant.org/version/1/2/0/">http://contributor-covenant.org/version/1/2/0/</a>): simple, concise, the most widely used one. The NumFOCUS recommended one is based on it as well (<a href="https://www.numfocus.org/about/code-of-conduct/">https://www.numfocus.org/about/code-of-conduct/</a>).<br>- The Python Community Code of Conduct (<a href="https://www.python.org/psf/codeofconduct/">https://www.python.org/psf/codeofconduct/</a>): also simple, addresses mostly the spirit in which the Python community is operating / should operate.<br>- The Jupyter Code of Conduct (<a href="https://github.com/jupyter/governance/tree/master/conduct">https://github.com/jupyter/governance/tree/master/conduct</a>): much more detailed, in part derived from the Speak up! and Django ones, more appropriate for large communities.<br><br>I think the Python Community CoC isn't a good basis, it's more a statement of intent for a wider community while it's missing too many elements that a project CoC should have. That leaves the choice between the short and simple Contributor Covenant, and the more extensive Jupyter one. Personally I like the tone of the Jupyter one *much* more, so I have started from that one and made the following modifications to make it fit SciPy better:<br></div><br>1. Removed the part about reporting during events (we don't organize those) and removed the language about events from the faq.<br></div>2. Changes to reporting options: removed the form (email should be enough), and added reporting to NumFOCUS as a second option.<br></div>3. Changes to enforcement manual: reply within 72 hours rather than 24 hours (we don't have paid work on SciPy, so 24 hours is not very realistic). Changed the committee from 5 to 3 members (5 is a lot, and we're significantly smaller than Jupyter/Django).<br><br></div>Here is a WIP PR with the CoC content: <a href="https://github.com/scipy/scipy/pull/7764">https://github.com/scipy/scipy/pull/7764</a>. I suggest to bring up any larger questions/issues here, and detailed textual comments on the PR. Once the content is agreed upon I will change it to reST and integrate it with the rest of the docs.<br><br></div><div>Thoughts? Volunteers for the committee?<br><br></div>Cheers,<br></div>Ralf<br><br><br><div><div><div><div><div><div><br><br></div></div></div></div></div></div></div>