Changing PEP 13 to remove the CoC responsibility from the SC

I’ve collected some responses to the discussion input to add some thoughts to these.

Simply passing off all conduct issues to the PSF CoC WG

As I have mentioned above, I don’t think that the PSF CoC process is working out and because it is not, I’d really like to avoid simply moving responsibilities off to the PSF Board or the CoC WG at this point.

I’m not sure whether it’s a good idea to go into details here, since this would derail the discussion too much.

All I want to say is that the process is too intransparent at several levels and does not meet the main objective, which is to educate people to learn to improve their communication or conduct.

So I’d really like to suggest that we develop an alternative and hopefully better model. This could then well be an example for the PSF copy from.

We are a much smaller group than the PSF, so it’s easier to experiment with possible models and improve them over time. Call it a social experiment, if you will, but for the benefit of the larger Python community.

Leave everything to forum moderators

I have the same reservations about this idea. The processes are too intransparent.

IMO, forum moderators should really only help with technical issues such as splitting topics, moving topics between categories, removing spam, etc.

We need a different approach to guiding discussions, more along the lines of mediation and asking people to highlight issues directly in discussions. More on this below.

I’d also like to get away from the anonymous shaming by flagging messages to get them hidden. We should not leave conduct issues to random folks on the Internet.

Need for a private way to signal “I need help”

This is a very valid concern and one we definitely need to take into account.

My proposal to have all of these discussions in a public forum was too naive in this respect and I can understand why some people may feel uncomfortable with addressing everything in public.

Fewer reports and better discussions

I still believe that we can have a more public way of addressing problems:

Essentially, the same we have used on mailing lists for many many years: simply watch the space as a group and highlight issues directly in the discussions as they happen. Guido has done that in this discussion, for example.

In other words: ask people to stay reasonable, before things go south. This should result in healthier discussions overall and fewer issues.

Now, of course, it is much easier to simply click a button to flag a message or call in a moderator, instead of addressing issues directly, but those side effects of using forum software don’t really help develop our community.

This goes into the direction of the education problem I mentioned above. It is my strong belief that conduct can only be improved by educating people.

And that goes for everyone, not only the people who are subject to a conduct report, but also the people who file such reports.

Along those lines, I also don’t think promoting random reports to a conduct WG as a precaution is a good idea. It reminds me too much of denunciation in repressive regimes.

Such reports should really be the last resort when all other approaches have failed or cannot be taken. They should be on the order of “I need help” and not “look, this person has gotten me offended”.

How to come up with a new approach

Summarizing the above, here are a few suggestions to get things started, together with some thoughts I have on these, as a strawman:

  • settle on a set of actionable conduct issues
    • the list in the MS CoC under “unacceptable behavior” , which Carol quoted, is a good start
  • come up with a communication strategy to aid in discussions
    • calm down proponents
    • summarize current views to help focus again
    • agree to disagree
  • create a group of professional mediators
    • these can be called in as necessary to provide help
    • they can enter public discussions or decide to have private chats to help resolve issues
    • the main aim should be to educate and try to get communication back in line with our standards
    • they should be professionally trained
    • communication needs to be with all parties involved
    • the PSF can be asked to pay for the mediators or we could ask a sponsor for help, e.g. MS
    • one or two mediators should be enough for our small group
  • define and publish criteria which are used as basis for taking action in cases where mediation does not help to resolve issues
    • these should be as specific as possible, to not leave much room for interpretation
    • they should be easy to understand, so that people know where the lines are with respect to level of tolerance we apply
    • actions such as bans should always provide a path back in after a reasonable time
    • forgiveness should be a key concept applied in all such actions
  • define how to handle cases where mediation does not result in the expected changes and the only way forward is by taking action
    • have the mediators write up a summary of what happened, the course of events taken during mediation and why it did not resolve the issue at hand
    • have them list the action points which apply from the published list, based on the summary
    • post this summary to our “Inquisition” forum (this can only be read by core devs)
    • run an anonymous poll among the core devs for a short time to select the appropriate action; “no action” should always be one of the possible actions to avoid bias and abstentions have to be possible as well
    • ask the SC to implement this action
    • in more urgent cases, a temporary ban can be issued until a decision has been reached
    • the summary post in the “Inquisition” forum should be closed after the poll ends and then hidden / archived after a cooling off period; we don’t want endless shaming

The key differences compared to the PSF processes are:

  • we step in before the house is on fire
  • there is better transparency
  • we have open communication with all parties
  • we are educating people
  • professional and independent help is used
  • we implement forgiveness as a key concept

and, more importantly, concept removes the responsibility to handle cases from the SC to free up time and focus on the main technical tasks. It only requires their executive powers in a few extreme cases.

Next steps

I guess we can only continue with the change proposal after we have established consensus on a new conduct model, so this proposal will likely be on hold for a longer while.

Happy to hear your thoughts :smile:

10 Likes

Unfortunately this approach has been tried repeatedly and failed. Thus the conduct reports as escalation.

What was needed were direct interventions and requiring participants be coached by mediators or not allowed to post at all. We don’t have people to do this. This is where hired outside staffing would help.

6 Likes

I would love this. But if it could happen and the people who need guidance back towards a respectable way to communicate were willing to accept it, we’d be better off. A suggestion I’ve heard from multiple people is a sort of reverse-mentorship program of mediators who can step in a guide someone back towards a productive path. That’s a huge time and draining energy commitment for whomever does that.

So I don’t know how to make it happen as an available approach from a policy “service available in all situations” state unless we had hired staff granted the authority to stop discussions and forcibly intervene. Without this force, those in a mindset of not believing that their behavior is problematic would just continue fueling the fire and driving people away.

If we don’t have the ability to call a timeout and pull participants out of the ability to participate, intervention isn’t plausible.

This would be a major regression. The mailing lists are not something to hark back to as good days for our community. It was merely the communication tool we had at the time. They were effectively horrible and excluded people who were unwilling to participate by virtue of not having any mechanism to deal with problems without forcing people into the position of publicly complaining. The opposite of having a private way to signal help. The key is that there is no “simply”.

5 Likes

FWIW overall aside from my pointed nitpicks above, I like your overall proposed points and steps, though I don’t know how to bring it into existence.

1 Like

In all the conferences I’ve ran, the CoC teams are composed of mix of core organizers and trusted outside community members. We also give each members training materials to prepare them for the role. I would suggest we have our own CoC committee WG within Python core team that consists of a few core team members as well as outside community members. Right now our CoC is handled by SC which are fully core team members. The SC currently also have feedback from PSF CoC WG but it doesn’t sound like they work too closely with each other? (Maybe I’m wrong in this). So I think a dedicated CoC WG where the members aren’t already (handling 100 extra roles outside of CoC) will help.
But the thing is we all need to trust this group in the end.

8 Likes

The problem with leaving it to forum-specific moderators is two-fold (ignoring for a moment that we don’t really have GitHub moderators): conduct is not necessarily limited to a specific forum, and the impact is not necessarily limited to a specific forum. We’re not just dealing with Code of Conduct Work Group recommendations. We’re dealing with all aspects of conduct, and all aspects of social interactions. For example, we (the SC, I can’t speak for the CoC WG) got complaints from core developers, other contributors and complete outsiders about the PSF discussion on Discourse and how it reflected on core developers as a whole. It directly impacted the desire of all of those people to even interact on GitHub issues and PRs.

But it’s even more subtle than that. We’ve gotten complaints about core developer interactions, like one core dev blocking another core dev’s PRs, intentionally or otherwise. We’ve seen core devs and other contributors’ reactions on PRs and issues chasing away contributors (including core devs!) We’ve seen mentees give up on the idea of contributing to Python because of the reactions they get and the interactions they see. We’ve seen new contributors interact in bad ways because they follow the examples they see. We’ve seen public statements about how unwelcoming we are, as a group, and I can’t disagree with them. We have had direct feedback from multiple people and groups of people about how bad we’re failing at inclusion and outreach. The vast majority of these issues are not reported to the CoC WG, nor should they (for the most part). They are, however, still conduct issues that need addressing one way or another, if we want to build an accessible, inclusive and sustainable community.

There are no easy answers to a lot of these issues. And to be clear, while the SC has discussed those issues as they come up, we have mostly avoided acting directly. In most of the cases it’s mostly a matter of communicating more, sometimes with the help of an intermediary of some kind. But sometimes it escalates and it does become a CoC WG incident report and ban recommendation. That’s when the context especially matters, and why I believe the same group of people should be involved in all aspects of that community management: the same factual incident in a specific forum involving, say, an established core dev with a history of getting polite and firm requests to change their behaviour, warrants entirely different treatment than when it is a first-time interaction of a new contributor.

And actually, the problem with leaving things up to the forum moderators is three-fold: the third fold is that this is how we already handle most conduct problems. The SC is not directly involved with Discourse moderation. The SC is not directly involved with email list moderation (to the extent we still have mailing lists). The SC is not directly involved with Discord moderation (not that we’ve had to have much so far). The SC doesn’t even appoint or review those moderators, they’re all self-organising, the best kind of organising. It’s exactly when the scope or impact of conduct issues extends beyond a specific forum that the CoC WG and/or the SC gets involved.

16 Likes

Yes, that’s not correct. The only CoC enforcement the SC has done so far is in direct response to CoC WG recommendations. We’ve sometimes changed the exact length of suspensions based on considerations the CoC WG was not aware of, but we’ve always followed the CoC WG’s process in this and have not received any pushback from the CoC WG on any of them.

5 Likes

Correct, the SC is independent from the PSF. We’re not involved in their private deliberations, nor should we be. (and if you agree with me that coordinating and agreeing amongst a distributed group of volunteers is hard… I believe it’s even harder for that WG)

4 Likes

Blockquote In most of the cases it’s mostly a matter of communicating more, sometimes with the help of an intermediary of some kind. But sometimes it escalates and it does become a CoC WG incident report and ban recommendation.

I wanted to reply to this comment and take it in a slightly different direction. We ought to figure out how to develop responses other than ban recommendations. As a community (say, the community of core developers), what are the constructive actions we can take when someone causes harm that don’t involve a ban? I imagine there may be private communication, but you say that “we have mostly avoided acting directly.”

The actions I’m aware of are moderator actions to slow or hide messages, and the bans. We also need a set of techiques to educate and inform people about what behavior causes harm and how they can change their behavior to avoid it. I’m not sure what group is responsible for that, or how to document it more clearly.

My hope is that most people do no want to cause harm, and we can find some constructive approaches that repair the harm and help people avoid it in the future.

8 Likes

Agreed. Having tried to do that on a number of occasions, for posters who were simply new and had a somewhat abrasive style rather than being genuinely offensive, I can confirm it’s a lot of hard and stressful work, and worse, it’s not always successful. And it’s made worse by the fact that their behaviour triggers others to behave badly in response, and short of becoming a self-appointed tone moderator for the discussion, it’s extremely hard to counter the effects of that.

To make matters worse, there are cultural, personality and background aspects involved. And the community has grown by this point to a size where we simply can’t expect to know each other’s backgrounds that well. So a light-hearted comment which could defuse a conflict between some people, could be a trigger for others. There’s no way to know, so the fallback is a sort of careful formality, which in itself is harmful to building a community.

I don’t have solutions here. All I know is that even with goodwill all round, I don’t think we’ll ever be able to avoid needing a formal process.

I do like this way of framing things. At the moment, people think in terms of “complaints” or “reporting people”, which positions one person as a victim and the other as an abuser. Far better to describe the problem in terms like “I need help de-escalating this situation”, or “I don’t know how to signal that this behaviour makes me uncomfortable”.

That’s a heck of a list of problems, that frankly I had no idea existed. While I know there are anonymity issues to address, I honestly think that having some sort of reporting on the level and nature of such feedback - to the core devs as a whole - would help a lot of people better understand where we currently are.

Maybe the proposed transparency reports would be what’s needed here. Or maybe a regular summary at about the level you posted here of the “state of things”, posted to a core dev area on Discourse would be better. But I think the key point is that the SC may not realise how out of touch with this sort of feedback the core dev community actually is…

5 Likes

This accurately reflects what I saw in my three terms on the Steering Council.

During my terms, the SC members worked toward education first, offered opportunities for core devs to change, and treated corrective actions as a last resort.

12 Likes

This is one of the key reasons why I advocate for moving the enforcement responsibility out of the SC. The SC is made up of trained and experienced engineers not (to my knowledge, apologies if I’m miscategorizing anyone) trained and experienced conflict resolution experts, mediators, or community communication facilitators. Those are very different skills, and I don’t think we should even expect folks on the SC to be experts in both aspects. Just speaking for myself, I feel pretty inadequate when it comes to the latter.

In every corporate gig I’ve had, there is mandatory training on all kinds of ethics and workplace behavior expectations. Usually those training videos are focused on individual behaviors. I’m not a manager so I haven’t taken any training which I’d assume would touch on some of those issues (e.g. “how do I effectively mediate conflicts between my direct reports”).

Regardless of how we move forward, I think one short term step we can take is to provide (voluntary, of course) curated training for the SC, Conduct WG, forum moderators, etc.

13 Likes

The PSF does provide training to the Conduct WG through Sage Sharp. A motion to extend this to the SC would probably pass easily with the PSF Board.

9 Likes

+1 to private communication. But realize that once something has turned toxic, many people have already been chased away, checked out, and don’t want to be involved at all. Are those who are left willing to put themselves on the line for that?

People need to be receptive, to listen and understand that they are causing harm to the community and, in order to restore trust in them going forward, apologize. From what I’ve seen, other people already do try to intervene in the public threads. The escalations leading to a rare suspension only happen when that has failed repeatedly.

Don’t miss the interactions by people on the threads in question attempting to deescalate and see the problem stopped, putting themselves at risk of being attacked by even speaking up. These are public threads with lots of readers so the messaging used to do that tends to keep that in mind. Meaning it may not be blunt and direct enough for some to get the message - because that would immediately offend others who find that as an excuse to escalate into a different argument because the thread continuing to exist has already normalized that behavior. :recycle: :fire:

Private communication is needed (it can be tailored bluntness for the recipient). I believe it usually needs to come from someone else or someone who has direct past rapport with the person(s) involved. Coming from an SC member acting on their own, while sometimes feasible, is prone to be misinterpreted as authoritarian because of the misperceptions around being in the SC role.

Consider that a call for everyone to compassionately send private messages to people to “shut it” when things are going off the rails? If you’re willing, thank you! I expect most people in our community don’t feel comfortable doing so or that it’s their job. That isn’t why any of us are here. We all via tragedy of the commons really hope that someone else surely will. But it is private, so who’s going to know? Posting publicly that you did so is also perceived as a form of escalation.

… Could Sage’s training make sense to offer to all core devs?

8 Likes

I have taken the training in the past, so I do recommend such training for those in position of having to handle/enforce CoC issues, like forum moderators, event/community leaders, conference hosts, etc. I think makes sense if SC members take these trainings too, especially that currently this is the role of the SC.

I’m not sure about extending to all core team members. Maybe only to those who have been designated as CoC handler.

6 Likes

To clarify, since this may not have been clear: when I say “professionally trained mediators”, I am referring to people who ideally have a background in psychology and are certified in their field. To do this well, it’s not enough to take a one or two day course and then call yourself a mediator.

It is important to have the mediators be completely independent from our sphere and focused on communication rather than tech.

For that reason, I’m also not referring to having core devs or PSF members trained to do mediation.

8 Likes

Private conversations have both benefits and challenges.

For informal conversations with a peer they can be very effective.

Unfortunately, private conversations can also obscure transparency. For conduct that doesn’t meet the Microsoft unacceptable standards, actions taken as part of resolution benefit from being transparent. Without some level of transparency (which doesn’t need to be full), it leaves too many fuzzy edges:

  • is any action being taken
  • is the community sent the message that unacceptable standards are tolerated
  • is there accountability in the process (important to repairing trust)
3 Likes

I agree and encourage that people should seek professional mental health help for themselves on their own to help them deal with personal mental health issues.

But to say “only certified professionals can help mediate for our community”, to me is same as not trusting any of our own community members, eg the only way you trust people is if they have professional certifications. I think it creates a high bar and difficulty in actually resolving our community conduct issues.

I’d be ok with initial supervision and trainings from professionals to train our community members to handle this situation, maybe have them refresh/update their skills periodically, but I disagree with only the professionals in psychology can mediate.

(when I say community in this context, I don’t mean just core devs, but the broader Python community)

9 Likes

This would make sense, I dont know if it scales given the rapid changes in SC, its not a free training, it costs money IIRC the last time I talked with Sage on this, but if cost is not an issue for every time the SC changes, I think its a good one. A dedicated professional or CoC WG make sense to train since the composition is usually stable.

4 Likes

I am a bit confused about the discussions regarding CoC training and some of the reactions to get professional help.

Mediators instead of conduct work groups

Please note that the strawman proposal does not involve having a special group of people from the core developers to deal with conduct issues.

The main advantage of the new process is that mediators step in early, seek communication with the parties and try to resolve any issues without having to escalate to sanctions. Only if this fails, the mediators then provide a report to the core developers at large (in the private Inquisition forum) to have them vote on possible sanctions.

Now, you may question the need for professional mediators. The reason I used them instead of a small community run group is that:

  1. they are professionals who know how to deal with a wide variety of issues, personalities and have a good understanding of the psychological reasons which may be at work;

  2. they have no ties to our community, so can focus entirely on the communication which is causing the issues;

  3. they know how to deal with the associate stress mediation creates for the parties involved and for themselves and can address this proactively.

I understand that this may be regarded as a luxury the PSF can afford and which may not work well for other groups in the Python community and there may certainly be capable people in the community who could do this job as well, but as an experiment, I’d like to test the approach using professional help.

This doesn’t have anything to do with not trusting volunteers from the core developers or the Python community.

CoC training to the rescue ?

Several people have mentioned CoC training as a possible way to improve things.

I am skeptical that this would make a difference, but perhaps I’m misunderstanding what you mean by “CoC training”.

It could mean e.g. training on

  • how to implement the process the PSF has set up as an enforcement guide
  • how to approach people who are causing conduct issues
  • how to communicate conduct issues
  • how to deal with the legal aspects of conduct issues and possible sanctions
  • how to mediate between the parties
  • how to improve your own communication to avoid conduct reports
  • how to weigh actions against possible sanctions
  • etc.

Even with training, our process would not improve, so while some aspects may work out better, the core of the broken CoC process is not addressed with CoC training.

I’d also like to point out that any such training should come from not just one training provider, but several, in order to avoid bias. This is standard governance practice in companies and for a good reason.

Training to become mediators

Now, training to become mediators is a different story and one which we may want to consider after getting some more experience with how professionals implement mediation.

This may actually be a good way to help other groups in the Python community who cannot afford to set up professional mediators. E.g. the PSF could create a work group for training people, with professional mediators implementing the training.

6 Likes