My take on this is that Andrew asked me to write a draft Code of Conduct for Stan. After reviewing the NumFocus one I thought the perhaps most efficient way to go about it would be to interpret the NumFocus code of conduct (https://numfocus.org/code-of-conduct) for the various Stan communities to make it clear both what the reporting strategy is and what it looks like to be following the CoC on discourse vs conferences vs meetups etc. This is really just my take so it could be that I’m wrong (and we’d need to check that we can have sub-reporting strategies and still adhere to the NumFocus code of conduct), but I thought it would be good to have a coherent effort. :)
I like it! I picked the one from my draft just because it’s the one I saw and said, “Yes this seems reasonable”. The NumFocus one seems good as well! I can remove mine from that draft and once we have our official one sorted out I’ll add a link to it in Stan Math.
made this a banner . It will appear at the top of every page until it is dismissed by the user.
Great! It looks similar? Is it the NumFocus one? Or do they all just use similar wording?
I think this is ultimately a SGB decision, but they seem super busy so maybe we can write a proposal to make it easier for them to decide?
What do you think of the idea of a central code of conduct (perhaps even the numfocus one), and “interpretations” of it for specific subgroups?
@breckbaldwin thanks for the pin! I think you can only pin one thing at a time though. What if we had a thread that was pinned that was “important topics for Stan users atm” and had links to the threads. I think @martinmodrak’s intro is pretty important too and don’t want it to get lost.
removed this banner . It will no longer appear at the top of every page.
it’s a slightly modified version of the one from contributor-covenant.org. I added some things from tensorflow and gtests code of conduct that I like (the sections on conflict resolution and ‘generally don’t be a jerk’)
It should be clear who “project maintainers” are. That’s not a term that’s publicly defined afaik.
It needs to be clearer that there is a difference between “harassment” (which should not be expected to be resolved between the two parties) and “conflict” (which could conceivably be). Reporting harassment can be very hard (depending on who in the community you are reporting and what they have done) and I worry that making people have to separate between the two puts an additional barrier to getting help.
Question about Scope: What happens if someone asks me (a person associated with Stan) for Stan help in a non-Stan-controlled forum (eg twitter) and I do something that clearly violates the CoC (eg use extreme sexual language). As I read the scope section, this is not covered (the event is not an sanctioned Stan event so I am not officially representing Stan). Should it be?
Enforcement: There needs to be more than one point of contact. IIRC board@mc-stan goes to Daniel Lee and Breck. What if one of them violated the CoC?
What is a Project Steward?
Why is notifying the harasser not decided in consultation with the person making the complaint?
The range of potential consequences are too vague. People should know what to expect.
I also worry about codifying “I was having a bad day” an an excuse for bad behaviour. I think that is a very very very poor idea. The onus of a CoC should be on the effects of the action. People are very good at justifying their poor behaviour and if we literally lead with that as an option it has the potential to encourage us to treat Person A as someone who was having a bad day, but Person B as someone who violated the code.
I’ll stop spamming the thread now, but I think the NumFOCUS Code of Conduct Lauren linked at the top of the thread is a much richer and more detailed CoC that seems like something that could be adopted almost entirely.
Project Steward == Project Maintainers I agree that wording is to vague. Should we define Project Maintainer as "Anyone who is authorized to accept and merge pull requests on the stan-dev repo. I’d like wording to add non-programming contributors but I’m not sure on the verbage. We could make it anyone in the Stan electorate.
Agree! Tensorflow lists two people to email. Is there someone at NumFocus we could have as a neurtral 3rd party to email? And/Or alternatively several possible people to email
A more clear definition here would help clear up this line
If the behavior is threatening or harassing, or for other reasons requires immediate escalation, please see the section on enforcement for escalating the issue.
It’s hard to define harassment vs. conflict. In my brain something relative to magnitude and volume makes something go from conflict to harassment. imo a good solution may be have multiple easy to access channels to escalate. Would lead to more false negatives but a higher capture rate.
Or we could remove the section on trying to sort it out between the two parties
Probably right? We could expand the wording from “Project Maintainers” to ‘Recognized members of Stan’? Or something larger in scope
The wording comes from the original Contributor Covenant CoC. I think it’s meant to make clear that if someone goes through the official channels about harassment we won’t be sending it to everyone willy nilly.
This line here?
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
We can could add some bullet-points. tbf I’m not super good at knowing about these those sort of conflicts and the judiciary process around them. But the doc is up as a PR so if you want to add anything there do feel free!
I saw we didn’t have a CoC and didn’t know if anyone was working on one so while I was making the contributing.md for stan math I worked on the CoC as well. Mostly wanted to get the ball rolling. That and tbh the math library is like 98.23% commits from dudes and I’d like us to be more diverse. I figured a CoC and good contributor guide are a helpful step for that
eod I believe the idea is to have one CoC that covers the whole project
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.
I think it’s incredibly important to make sure that taking responsibility for the effects of our speech and actions is at the core of a CoC.