Changing PEP 13 to remove the CoC responsibility from the SC

I thought about the specific PEP 13 change and the mandate in PEP 13:

The steering council shall work to:

  • Maintain the quality and stability of the Python language and CPython interpreter,
  • Make contributing as accessible, inclusive, and sustainable as possible,
  • Formalize and maintain the relationship between the core team and the PSF,
  • Establish appropriate decision-making processes for PEPs,
  • Seek consensus among contributors and the core team before acting in a formal capacity,
  • Act as a “court of final appeal” for decisions where all other methods have failed.

The change to remove responsibility for the code of conduct means that it is harder to act on the mandate to “Make contributing as accessible, inclusive, and sustainable as possible.”

The broad mandate that begins PEP 13 necessarily burdens the SC “with additional and orthogonal HR management” responsibilities. At the same time the PEP is clear that delegation and consensus building are two of the primary mechanisms to enact the mandate. The mandate and the powers suggest to me that the CoC should remain with the SC and PEP 13, but the community needs to develop a better framework for working through these sorts of issues–perhaps a governance PEP on how to use the CoC effectively.

The mandate for the SC suggests to me that it necessarily has some management and HR responsibilities. If it needs to make contributing accessible, inclusive, and sustainable, then it is responsible for a set of tasks that would be part of engineering management in a traditional organization. HR tends to be a support organization that advises leadership, and if there were an HR function or people with expertise, they could advise the SC. The SC doesn’t need to be the primary technical expert on each PEP (on any PEP, I guess), but it needs to ensure people with the right expertise are included. That principle of delegation should work for organizational and technical issues.

I’d make a concrete suggestion that we write a governance PEP about how to use the code of conduct among the developer community. The SC should ensure that the right people are included in the process, and they can be involved as they want. They could provide requirements or concrete suggestions or even write it. I’d suggest writing this PEP before making any changes to PEP 13. If we have a concrete plan for handling CoC issues, we can use that PEP to explore how the SC should be involved and whether that necessitates changes to PEP 13. In essence, I’m suggesting that we develop the strawman proposal into a real PEP, and decide later if anything is needed beyond that PEP.

6 Likes

I disagree with your rationale for professional mediators. These decisions are crucial to the way the developer community operates. It doesn’t work to outsource crucial decisions to a neutral third-party. We have to own the decisions ourselves.

We can seek advice from a person or group with specific professional expertise, but communication is not itself a discrete issue that can be debugged all on its own. It’s often entangled with differences around goals, priorities, or working styles. None of those can be resolved by someone outside the group.

13 Likes

As Thomas pointed out we don’t have moderators in all the places we work, i.e. GitHub, so we would have to create such a group of moderators in all places to have full coverage.

That’s also not really tenable as no one has even asked the Conduct WG if they are okay with that (and as a member of that WG I would say, “no”).

Sure, but that also used to work because during Guido’s BDFL days meant what he said about conduct publicly meant that’s what was (not) acceptable. But at this point who beyond the SC can do that? And the SC, somewhat by design, cannot act quickly enough to reply to a single comment to publicly try to steer someone on a better conduct path fast enough for things to not spiral out of control.

That might work, but we will need to accept that and abide by what that committee says. If we were going to set up a group of people with the burden – and it very much is a burden in my experience – to set the social norms around conduct and expect people to accept them then I would say it would require we also all go into it with an expectation that you can’t give them extended grief over it; you can politely disagree, but you can’t make it uncomfortable to participate either. And I hate calling out Tim, but it’s obvious he doesn’t accept what the SC decided, and so I don’t feel like we are acting in such a way right now for the SC based on how this topic has gone at some points (as an example, I have a blog post explaining what the PSF Conduct WG does and I’m legit scared to post it and this thread isn’t helping alleviate my concerns that people will be cordial about my post that isn’t even an opinion piece, so we need to make sure any such group has protection upfront).

FYI I’m going to cover all of this in my Conduct WG blog post, but the Conduct WG actually doesn’t watch over what people due with our advice, so I’m not sure you will ever see pushback since it frankly isn’t the WG’s business to.

And the same is for me for what little time I predate Thomas on the SC. You might things are more rosy than they are if you just read here on DPO, but there’s a lot of “content” we all create as part of being core devs and it all have the potential to go awry.

2 Likes

If the Conduct WG doesn’t want to do it, and the SC doesn’t want to do it, and we all acknowledge the mental and emotional toll of doing it, isn’t that a sign that something is fundamentally broken about the process? Let’s at least acknowledge the fact that conduct enforcement is incredibly painful and draining, for everyone involved, from the reporter, to the accused, the investigators, judges, all observers, those who speak up, and those who remain silent.

13 Likes

Sure, but then I would then argue it’s broken because dealing with people is really hard because not everyone is nice while we try to be as open to anyone at there as possible. And at our scale it’s impossible not to have some mean people show up (sometime in droves).

But then again I don’t know anyone who has made dealing with mean people enjoyable, so it would suggest the whole world is broken in that aspect short of paying people to do it like MAL has suggested.

6 Likes

I accepted it (after all, I did come back :wink:), but strongly disagreed with the need for it to begin with.

Not just me, but also the 87 (so far) people who gave a heart to Ethan’s dissenting reply . Which is one of the most-liked replies in the PSF’s Discourse history, despite the continued fear of reprisal among many for pushing back in the slightest. Which was spun as *oh, that’s just because you like Tim so much that you want him to be free to kill". But wasn’t. As @nas said there, “if it was a core dev who started this month, I would think the same”. So would I. I expect all of them would, but my case got the attention just because I was so well known.

In the last 3 (including mine) cases where a public ban or Discourse suspension was disclosed that included “reasons” from the CoC WG, it sure seemed to me that essentially none of the claimed offenses could survive a “reasonable person” test. Some were ludicrously false, others more subtly so. But in all 3 cases, the accused saw the list of claimed violations for the very first time after they were already locked out.

So it’s not just my case either. This system has become profoundly broken.

I don’t know “why”, and won’t speculate. It’s something about corporate group social dynamics among powerful groups with “rotating door” and even concurrently overlapping memberships, which are so opaque an outsider can only speculate.

For that reason, while it may not be an ideal approach, I believe MAL’s idea of engaging professional outside (of the PSF) help would be a major improvement. I would gladly defer to the judgment of an impartial professional about the validity of the specific “CoC violations” I was charged with, and I fully expect (but don’t know) that would also be so of the targets in the other two cases I mentioned.

I’m very sorry to hear that. But then I’ve openly lamented about everyone’s fear, and never denied that anyone had legitimate reasons, at least not in their own view of the world.

I would love to read your blog post.

9 Likes

Call it bad phrasing on my part then, but part of acceptance for me is moving on from it knowing your viewpoint has been heard by the SC and your fellow core developers.

I think this is diverging off-topic again about your specific case; you have my email address or can DM me here on DPO if you would like me to clarify something or give my opinion on something specific you brought up.

But this is an example of why I would want it known and stated upfront that if we set up a dedicated group to handle conduct that people are not allowed to rail against them. When I said I hated calling your name out explicitly it wasn’t just because I didn’t want you to feel bad, but I also worried I was going to trigger this sort of response from you. And as such, if I was asked to join a committee that might be asked to pass judgment on you or others knowing that this is what I would get subjected to and it was deemed acceptable for any great length of time then I don’t know if I would want to volunteer.

I couldn’t sleep the other night because I was worried that this was going to become the new normal and I was going go have to worry about triggering you and Greg into some public argument like you had earlier. And If that became the norm then I wouldn’t want to volunteer my free time away from my family for this anymore and that made me sad.

Based on what you said above I’m going to warn you that I don’t think you’re going to get the answers you might be seeking.

16 Likes

Please don’t interpret hearts as “likes”. That isn’t what it means to many clickers. It isn’t a voting mechanism because it isn’t constrained to a set of voters and it isn’t anonymous.

5 Likes

As to what a heart means, sure, of course it’s hard to read much into 1 bit of information. For my own uses it means “I would like to see more like this”. That can include even cases where I strongly disagree with everything stated, but just want to encourage a shy poster to engage more. Most often that I agree, or at least appreciate the quality of points I disagree with.

But Ethan’s dissent was so very brief and bluntly stated that it’s a major stretch to imagine that “I agree” wasn’t the meaning. I do know of people who didn’t click solely because they (like me) didn’t endorse the idea of voting out the entire SC. I eventually clicked too, but explicitly stated in my own post that I didn’t agree with that part of it.

“It isn’t constrained to a set of voters” doesn’t matter to me here. Bans have effects on the entire Python community, not just on committers, and not even on just PSF members. Discourse allows everyone with an account to give a heart, even in the Committers category (where posting is restricted).

As a a small pure digression, I’m going to analyze the results of the SC election, and compare the distribution of votes to the distribution of hearts on the candidates’ nomination statements. I predict you may be surprised at how that turns out:. The distributions of hearts is in fact a form of “block Approval” polling, although by self-selected and non-anonymous poll respondents.

And I have no “point” to make there. Just suggesting it’s a fun experiment - although perhaps only for my sense of geeky election theory fun.

4 Likes

We have six past elections to analyse. Looking at just the last election: if we elected by hearts, then of the 8 candidates, the top actual vote-winner and the bottom four actual vote-winners would be elected. That means 3 of the current 5 SC would be different.

8 Likes

I think we’re talking past each other, and there’s no real point to trying to straighten that out. I didn’t say anything about you other than that I empathized with, and regretted, the fear you expressed.

The rest was about 3 recent examples. Yes, my case was one of them. But it was directed at the process, of which my case is but one concrete example. So long as the CoC WG produces charges without linking to any evidence (the charges in these cases were all based on public posts), not exposing any reasoning, not even contacting the target to ask them a single question, and not even disclosing that a secret trial was being held until after the sentence has been imposed - well, the process is broken on the face of it.

It’s not enough to say “your feedback has been heard”. The damage is too deep for that to work. People need to hear about specific changes that will move toward a process that’s not so utterly opaque, one-sided, and dictatorial. “You’re” a victim of the current process too. If the process was working better, people wouldn’t be taking out their deep dissatisfaction on the groups involved.

My advice: Forget the groups. Focus on the processes. Nothing here needs to be personal.

That’s fine! I’d still love to read it.

5 Likes

The people who can “heart” the SC nomination are quite different than the people who can actually vote in the SC election.
Anyone with Python discourse account can heart the topic.
Only 99 people can actually vote in the current SC election.

13 Likes

Um, when you hover over the heart it says “like this post” – how else should we interpret it?

11 Likes

With my moderation hat on, this whole digression on liking a post and how to interpret it is not relevant to this topic. Please consider moving the discussion somewhere else if you would like to continue it and I will move the posts if you still care to discuss it.

14 Likes

I merely wanted to make it clear that we’re following this bit of the PSF CoC WG’s processes: https://policies.python.org/python.org/code-of-conduct/Enforcement-Procedures/#:~:text=Administrators/moderators%20are%20required,within%20a%20week

3 Likes

OK! I assume this is your blog post at issue.

If so, just as I threatened to, I loved reading it :slight_smile: It’s a fine piece. I didn’t at atl expect it to address the concerns I’ve been expressing, and it doesn’t. That’s fine. You’re just describing, in a helpful and clear way, what the CoC WG does.

My particular concerns of course remain, but you didn’t say you would address them there, and I had no expectation that you would.

Thanks for writing it! I recommend that everyione read it.

10 Likes

Great article. Thanks, Brett!

8 Likes

@brettcannon: Great blog post!

I’d like to discuss some of the consequences as it contrasts things I’ve heard the SC say, but I’m not sure this is the place to do so.

But while I’ve got you here, the “Maintain the CoC” bullet and heading confused me briefly: I mistook this as a parallel with maintaining the law, rather than maintaining a piece of software. Not sure how to rephrase it though.

6 Likes