Stan Code of Conduct

I wanted to follow up on a post that @syclik made a few weeks ago:

Fortunately I have a friend in the Node community who not only has significant experience in industrial software and open source projects but also is a strong advocate for inclusivity for underrepresented communities.

She strongly recommends that we adopt a code of conduct provided that we are particular about what is considered unacceptable behavior and we very carefully lay out how to file a complaint and how that complaint will be considered. Importantly, this doesn’t mean that we have to have a full governance established – we can simply say something like “complaints can be sent to this email address which will be forwarded to this committee consisting of person a, person b, and person c who will review the complaint and proceed according to their best judgement”. Ideally we would be very transparent about what we consider unacceptable behavior and exactly what happens when a complaint is made, even if there is no guarantee of action. We’re just trying to establish expectations within the community.

In that vein, if we do adopt a code of conduct then we want to make sure that it is precise in its description of unacceptable behavior. One of the factors that made the Node.js incident so tricky was that the Node.js code of conduct was made very vague and hence easy to maneuver around. Recommended codes of conduct that have been vetted by underrepresented groups and legal consultants (not that there are any legal guarantees, of course) include the JS Conf Code of Conduct, which we are already using for StanCon, and NPM Code of Conduct.

I think it’s reasonable to adopt one of these two for the project with small changes as needed to reflect our uncertain governance. As we evolve and formalize that governance we can correspondingly update the code of the conduct.