Hello, all –
Last year’s SGB created a working group to propose a new Code of Conduct (CoC) for our project. As you may know, NumFOCUS requires us to have a CoC to govern participation in our project; since the Stan project did not specify a Stan-specific CoC, we default to using the NumFOCUS CoC, which can be found here: Code of Conduct for the NumFOCUS Community - NumFOCUS.
After a feedback phase, our working group returned with the final text below, which we are quite excited to share with the community. It addresses two broad areas with greater specificity than the NumFOCUS CoC: (1) describing what our project specifically aims for in terms of a “welcoming environment” and (2) outlining how the CoC is to be implemented in practice, with adjudication procedures and methods for keeping the community updated on the status of a complaint.
The proposal does require volunteers to serve on an adjudication group separate from the SGB, to be concurrent with SGB elections. We strongly encourage those who care about the vibrancy and inclusiveness of the community to volunteer. The time commitment for this position is expected to be variable (~5 hours per week while an issue is open) with most months having no issues at all.
We intend for this to be a version 1.0, which can be revisited if certain portions are found to be unworkable or if a future SGB has ideas for further process improvements. As a recommendation, we would like to suggest that next year’s SGB provide the community with an update with any lessons learned after 1 year with this process in place. Any changes would only be made after soliciting community input.
Thanks again to our Code of Conduct committee and all those who provided input during the feedback phase.
— Your 2021 SGB
The code of conduct (CoC) exists to make the community standards clear and to ensure that when the community standard is broken there is a safe impartial group who can help the community to continue to grow and remain a safe and welcoming place. If there is an event or interaction reported where the behavior is illegal or has immediate risk to the individual or those around them, the CoC committee will support those involved to contact the relevant authorities.
Our standards of behavior reflect the standards of behavior supported by NumFOCUS. These are:
Please always be kind and courteous. There’s never a need to be mean or rude or disrespectful. Thank you for helping make this a welcoming, friendly community for all.
Be empathetic, welcoming, friendly, and patient. We remember that every member of the Stan community is a human being who deserves to be treated with kindness and empathy. We work together to resolve conflict and assume good intentions. We may all experience some frustration from time to time, but we do not allow frustration to turn into a personal attack. A community where people feel uncomfortable or threatened is not a productive one.
Be collaborative. Our work depends on the participation of many people, and in turn others depend on our work. Open source communities depend on effective and friendly collaboration to achieve their goals.
Be inquisitive. Nobody knows everything! Asking questions early avoids many problems later, so we encourage questions, although we may direct them to the appropriate forum. We will try hard to be responsive and helpful.
Be careful in the words that we choose. We are careful and respectful in our communication and we take responsibility for our own speech. Be kind to others. Do not insult or put down other members of the community.
We are committed to making participation in this community a harassment-free experience.
We will not accept harassment or other exclusionary behaviors, such as:
- The use of sexualized language or imagery
- Excessive profanity (please avoid curse words; people differ greatly in their sensitivity to swearing)
- Posting sexually explicit or violent material
- Violent or intimidating threats or language directed against another person
- Inappropriate physical contact and/or unwelcome sexual attention or sexual comments
- Sexist, racist, or otherwise discriminatory jokes and language
- Trolling or insulting and derogatory comments
- Being discourteous or impolite to novice users or developers
- Written or verbal comments which have the effect of excluding people on the basis of membership in a specific group, including gender, gender identity and expression, sexual orientation, disability, neurotype, personal appearance, body size, race, ethnicity, age, religion, or nationality
- Public or private harassment
- Sharing private content, such as emails sent privately or non-publicly, or direct message history, without the sender’s consent
- Continuing to initiate interaction (such as photography, recording, messaging, or conversation) with someone after being asked to stop
- Sustained disruption of talks, events, or communications, such as heckling of a speaker
- Publishing (or threatening to post) other people’s personally identifying information (“doxing”), such as physical or electronic addresses, without explicit permission
- Other unethical or unprofessional conduct
- Advocating for, or encouraging, any of the above behaviors
- PREFERRED: Asking a thoughtful question that allows a presenter to demonstrate their knowledge and expertise of a topic.
- UNACCEPTABLE: Aggressively putting down a presenter with personal insults.
- PREFERRED: Attempt to include other folks in your group when networking, being welcoming when new people attend
- UNACCEPTABLE: Treating a meetup like a dating app. Remember that there is a strong gender bias in many of our events, and because of this women can feel targeted even if not one person is acting unacceptably.
- PREFERRED: Respectful, to the point questions and answers. Answering while remembering that holding knowledge is a privilege. Respecting each other’s time.
- UNACCEPTABLE: Personal attacks.
We wish to make clear that conflict and differences of opinion are normal, healthy components of a project. Everyone has a right to have their opinions heard, and the views of all people are valued on this project. However, this does not mean that the wishes of any given individual can always be acted on - sometimes decisions have to be made where there is no clear consensus. To help make conflict as healthy as possible in the projects, we recommend trying the following:
- Understand that the point of voicing your opinion is to communicate potential issues with a proposal, not necessarily to have your opinion acted on.
- Assume that all parties are working for the best for the Stan project.
- If you feel like you misunderstand what someone is saying, try to confirm (I feel like you’re suggesting we do X, is that correct?)
- Use focused and specific comments. Instead of “Everyone knows that’s awful, the world will end”, try “I am worried that Y will be an issue, and that might cause X”.
- Stay focussed on the conversation at hand. Try not to bring in history or other experiences unless they are relevant - sometimes we can learn from history, but sometimes it’s just a distraction.
- Understand that sometimes the end of a healthy conflict is feeling like you were understood but you wanted to happen did not.
- Don’t be afraid to take a break if you feel things are getting heated! You can say “I feel like I need to step back for X period of time to consider my worries with this proposal” to give yourself time to calm down.
- Call for help if you need it! Everyone in the developer community is very passionate about what they do. Sometimes having a third party to help mediate the discussion can be helpful to keep things constructive.
The CoC committee is selected by election at the same time as the Stan Governing Body (SGB), with one member of the CoC committee selected for a longer “two terms of the SGB” to ensure continuity and procedural sharing.
The CoC is formed of three to five individuals consisting of no more than
- two active developers,
- two community members of any single field,
- one person in an existing position of power (e.g. tech leads or SGB member),
- two people employed by the same workplace (unless in the case of a committee with less than 4 members where no two may share the same employer),
and will be as diverse as possible. Diverse composition of the committee will be a key consideration when selecting members, and should be considered and accounted for by all voting members of the electorate.
Each individual of the CoC is voted on separately with “rejection voting”. If more than 1/3 of the voting electorate “reject” an individual then they will not hold the position. If the rejection voting results in proportions which do not respect the previous paragraph, then members will be selected preferentially based on the smallest number of rejection votes. Draws will be called with a random number generator. This process will not be reported in detail publicly and will be conducted initially by the current SGB and subsequently by the current CoC committee.
Failure to select a new CoC committee that conforms to this will result in replacement of as many individuals as possible on the existing committee. Replacement of current code of conduct committee members will be done first by volunteer and then by random number generator. If less than three members are on the CoC committee the SGB and NumFOCUS CoC committee will be invited to take a seat.
Governance and accountability of committee
The CoC committee is independent of all other Stan bodies. Conflicts within the CoC committee will be arbitrated by the SGB.
The CoC committee is responsible for open and transparent investigation of all complaints. Reports will be made of each and every investigation to the SGB. They may be kept private to protect the person who made the complaint, but at a bare minimum an anonymized report of the complaint, investigative procedure, and result will be made to all members of the SGB who do not have a conflict of interest. Any report about a member of the SGB will immediately be considered a conflict of interest and they will be excluded from this process.
The report must contain details of how the complaint was investigated, any violations to the CoC, and the proposed solution. After 6 months from the final resolution a reflection will be added to consider the efficacy of the solution and recommendations for the future.
A summary report of the number of complaints and the outcomes will be made to the community yearly provided the details are sufficiently anonymized (those who made complaints will have the opportunity to view this report before it’s release and will have ultimate veto power on any specific detail).
Receive a report either directly or to a group email (person can specify they don’t want certain people on the committee involved). Reports are not anonymous, but are confidential.
a. The committee may approve other people to receive reports (e.g., meetup coordinators, nominated individuals at a conference, discourse manager). If non-committee members are given authority to receive reports there must be clear and prominent communication to all participants that complaints can be directed either to these nominated individual(s) or the main committee. In some cases such as live events, the nominated person may receive authority to take immediate actions on disputes (i.e., asking someone to stop a certain behavior) in line with these guidelines. If this is the case it must still be reported to the committee for monitoring and reflection.
After receiving the report it will be delivered to the members of the Code of Conduct committee in a timely fashion
Anyone on the committee with a financial or personal conflict of interest steps aside. Committee members can ask for someone to abstain if they don’t volunteer.
Remaining members must contact the person who made a complaint and gather any additional information.
Committee members decide a proper resolution.
Discuss the resolution with the person who made the complaint to ensure they are comfortable with any public outcomes such as notifying the community or contacting the person who the complaint is made against. Outcomes can include (inline with NumFocus CoC)
a. Nothing (if we determine that no violation occurred)
b. Private feedback or reprimand from the committee to the individual(s) involved
c. Warning the person to cease their behavior and that any further reports will result in sanctions
d. A public announcement that an incident occurred
e. Mediation (only if both reporter and reportee agree)
f. An imposed vacation (e.g. asking someone to “take a week off” from a mailing list)
g. A permanent or temporary ban from some or all Stan spaces (mailing lists, GitHub repos, in-person events, etc.)
h. Assistance to the complainant with a report to other bodies, for example, institutional offices or appropriate law enforcement agencies
i. Removing a person from the developer list or other positions within the community.
j. Publishing an account of the harassment and calling for the resignation of the alleged harasser from their responsibilities (usually pursued by people without formal authority: may be called for if the person is the event leader, or refuses to stand aside from the conflict of interest, or similar)
k. Any other response that Stan deems necessary and appropriate to the situation
Make recommendations to the SGB who are responsible for enacting.
Developers are expected at all times to uphold the code of conduct and encourage behavior that supports the code of conduct in all communications between developers and to others in the community.
Employees hired specifically to work as a Stan developer are held to the same standard as developers. If any conduct violation is made or reported, the committee may choose to communicate to the employer about the issue and resolution.
Changes to this code of conduct committee are made by proposal from the CoC committee to the SGB, who ratify.