Three month suspension for a Core Developer

(Posting for the whole Steering Council)

The Steering Council, following a recommendation from the PSF’s Code of Conduct Workgroup, has decided to suspend a Core Developer for three months. Quoting the CoC WG’s recommendation:

The user showed these repeated violations of the following behaviors expected by the Code of Conduct:

  • Overloading the discussion of the bylaws change (47 out of 177 posts in topic at the time the moderators closed the topic), which created an atmosphere of fear, uncertainty, and doubt, which encouraged increasingly emotional responses from other community members. The later result of the vote showed 81% support for the most controversial of the bylaws changes, which demonstrates the controversy was blown out of proportion.
  • Defending “reverse racism” and “reverse sexism”, concepts not backed by empirical evidence, which could be seen as deliberate intimidation or creating an exclusionary environment.
  • Using potentially offensive language or slurs, in one case even calling an SNL skit from the 1970s using the same slur “genuinely funny”, which shows a lack of empathy towards other community members.
  • Making light of sensitive topics like workplace sexual harassment, which could be interpreted as harassment or creating an unwelcoming environment.
  • Casually mentioning scenarios involving sexual abuse, which may be inappropriate or triggering for some audiences.
  • Discussing bans or removals of community members, which may be seen as publishing private information without permission.
  • Dismissing unacceptable behavior of others as a “neurodivergent” trait, which is problematic because it creates a stereotype that neurodivergent people are hard to interact with and need special treatment.
  • Excessive discussion of controversial topics or past conflicts, which could be seen as sustained disruption of community discussions.
  • Use of potentially offensive terms, even when self-censored or alluded to indirectly.
  • Making assumptions or speculations about other community members’ motivations and/or mental health.

In the interest of transparency, let it be known that Brett Cannon and Łukasz Langa, who are core developers of CPython as well as Discourse moderators, abstained in the vote for that recommendation to avoid bias.

While we’re following the CoC WG’s recommendation here, we should make clear that we also received direct, very specific communication about the problematic behaviour and its impact. Like PEP 13 says, “Core team members are expected to act as role models for the community”. We’re not taking this lightly. This is an attempt at corrective action, and we hope it impresses upon everyone that these things matter.

41 Likes

I found that Core Developer’s behavior to be exemplary, and this suspension to be proof of the validity of their concerns. I fully agree with this analysis of the situation.

If I am still a Core Developer and able to vote for the next Steering Council, I will not be voting for anyone on the current Steering Council.

87 Likes

Speaking for myself here:

I encourage you to run for Steering Council yourself since you seem to want change. We always need more candidates in the pool. I encourage you to read PEP-13 to understand what our role is supposed to be. The current council welcomes constructive feedback on what you think the steering council should and shouldn’t be doing and why. If you believe changes to PEP-13 are warranted, the process for seeking consensus to make that happen is outlined within.

I suspect the only statements likely to be seen circulating in public about this summer’s events such as this short term ban may be dominated by interpretations of a single side. People, regardless of opinion on conduct matters, often feel like they’ll be attacked for speaking up. The chilling effect of a space being perceived as unsafe leaves the majority of voices left in a room to trend towards extremes, instead of accurately reflecting the community’s thoughts as a whole.

I find it best to think of events like this as a workplace HR response. Bystanders do not have all of the information and generally never will for confidentiality reasons.


The “analysis” you link to, at a glance, appears to be conflating past history of contributions with the here and now. Nobody here is claiming past contributions were not valuable. Having done a bunch of useful things in the past does not grant anyone freedom to behave however they want in the future. I believe that’s actually why many perceived it important to do what was done. We try to hold everybody to the same expectations within our community. Regardless of history.

33 Likes

If this is true, then my guess of who this is about was entirely wrong, and I’m baffled about this decision.

I don’t think anyone disputes that. The disagreement is about the list of “violations”, which don’t match my recollection of the behavior of the member mentioned in the above blog post. For example, I might have missed something (I didn’t read all the messages in that thread), but I don’t remember them “making light of sensitive topics like workplace sexual harassment” (which, indeed, would be appalling).

A special mention is deserved for “discussing bans or removals of community members […] may be seen [by whom?] as publishing private information without permission”. It’s entirely unspecific, and implies that any discussion of such bans or removals can be reason for banning someone else.

33 Likes

Everyone except the person in question has incomplete knowledge of what was said; information asymmetry easily happens when conversations span multiple topics, places, and public/private spaces. At some point I think you have to decide if you trust that the people making the decision had enough information to say and do what they did compared to the information any of us may have been personally privy to.

My takeaway from that is you need to make sure that you have permission from the person who was banned or removed to name them publicly, otherwise you risk outing them when they didn’t want to be publicly named.

9 Likes

Hmm. I was assuming that this was entirely about the “discussion of the bylaws change”, but I realize my interpretation of the announcement may be wrong. It would be good to get a clarification of which spaces were involved.

11 Likes

Here are my thoughts on this, FWIW. I think the CoC WG and steering council has acted unwisely in this situation. I agree what Chris has written on his blog about it and with Ethan’s comment. I’ll add that, at least for me, the long history this developer has in serving the project is not the deciding factor. I would consider the reasons and evidence brought forward by the WG to be far insufficient for such action, no matter who the developer was (e.g. if it was a core dev who started this month, I would think the same).

I’m not going to address every point from the WG recommendation, Chris did a good job of it. I will add that basing CoC actions merely on complaints of behavior is not correct. It’s too open to be abused by bad faith actors. I’m not saying that’s what happened here but just that the application of CoC policy needs to be based on objective evaluation of evidence of bad behavior. Certainly complaints could initiate a CoC WG investigation into the situation.

Comments from people in power similar to “there is secret information that was used to make this decision, trust us” seem to be coming up often now. I don’t dispute that sometimes things need to be keep secret. However, I would hope and expect they are rare cases. Keeping secrets erodes trust. In this specific case, I don’t believe there was some secret details involved (e.g. CoC violating behavior that has not been disclosed).

I suspect this action is going to cause some harmful effects to the Python community (beyond the obvious harm of an unjust suspension of a core developer). I support having a CoC policy and enforcing it. I think it needs to be enforced more cautiously so that potential harmful effects don’t outweigh the good ones.

57 Likes

I agree. I have every sympathy for the people on the CoC working group and on the SC - code of conduct issues are an extremely stressful and unpleasant subject to have to deal with, and I’d never be able to do that job myself. And I don’t want to add more stress to what they do. Even if this was a mistake, people make mistakes, and we need to accept that and be forgiving.

Having said that, I hope that this suspension, and the subsequent community feedback, results in some form of follow-up review from the CoC work group and the SC, to understand how the situation could have been handled better. While I only saw the parts of the offending discussions that were on Discourse, my view is that it was, in general, a fairly difficult conversation, with strongly held (and stated!) views on both sides. The behaviour pointed out as leading to the suspension wasn’t ideal, but it certainly wasn’t unique (maybe in degree it was worse, and maybe some specifics were inappropriate, but in context it was all part of a conversation that had been let get out of hand).

My hope is that the various parties involved in handling this situation (moderators, CoC working group, SC, and whoever in the PSF handles this sort of issue) will look very closely at how to handle discussions that are getting out of hand, so that problems like this can be addressed before individual behaviour becomes problematic. I’d like to see people taking more care when they make statements that (for whatever reason) they can’t back up with evidence - “I know stuff I can’t tell you” is an extremely frustrating argument, almost guaranteed to inflame a debate rather than calming it. With luck, we can all learn from it and do better in future.

36 Likes

Why do you think the action was based on “complaints of behavior” and not an “objective evaluation of evidence of bad behavior”? (Remember I’m not on the SC and recused myself on the Conduct WG for this, so this isn’t meant to be a leading question or anything.)

How far back are you thinking here in thinking it’s “coming up often now”? I fully agree that’s come up a lot this month and last, but I think it was a rather abnormal situation and I don’t feel like it’s been that often.

I would hope so as well, but I don’t know if we can “expect” that short of expecting people to not do things that require privacy/secrecy.

Why is that (if you can share)? As I said earlier there are unfortunate gaps in everyone’s knowledge, so the best we can do is speculate. But obviously speculating it guessing and that means we can be wrong about how we guessed.

I don’t think anyone involved didn’t weigh that concern (either this time or any other time). I can say that from my time on the SC and the Conduct WG there has never been a conduct decision made where the cost of some action wasn’t thought about or acknowledged when making the decision. I’m not saying you can’t disagree with the balance decided, but I want people to know that in my experience these decisions have historically not been made in a flippant or casual manner (which makes these decisions that much harder, painful, and stressful to make; it was the worst part for me when I was on the SC).

I think there are two ways to disagree with what happened:

  1. You distrust the SC and/or Conduct WG (somewhat), and so you think (some of) the list of violations are false which negates the corrective action
  2. You trust the people involved and thus the list of violations, but you think the corrective action was wrong for the violations (in either direction; too lenient or too severe)

To be clear, I don’t think taking either view is inherently wrong (and the same goes with agreeing with what the SC chose to do). But I do want to say that I feel like we are avoiding using the word “distrust” here even though it’s implied. If the SC and Conduct WG are saying “trust us”, either you do or you don’t (I realize you can trust them on some things and not others, but that still means there’s distrust there to some degree). No one is saying you have to like that you have to put your trust and faith in the people involved and wished there was more transparency somehow, but I think that’s a separate concern from this specific case.

And if you don’t trust the SC then you can totally show that by voting for different people in the next election as Ethan pointed out (the Conduct WG you would take that to the PSF board).

12 Likes

Timeliness of intervention would be ideal and is what is missing. 100% agreed.

But that seems impossible without dedicated paid full time moderation staff that people don’t treat like %#&! and harass for their decisions or even existence.

Today what we have are a bunch of amazing volunteers who can occasionally spend a little bit of time on this for the good of the community.

If that is not enough, please make concrete practical proposals. Ideally ones that don’t involve telling other volunteers what they need to spend their valuable donated time doing instead of what they came here for.

Understood. I agree that is frustrating.

Is me stating that I can’t tell you everything more infuriating than deadening silence that people also complain about? There is no winning here no matter what is done (including doing nothing).

There are multiple layers of meaning and of whom has the ability to have seen what. The audience of this publicly readable forum is the entire world - not just committers. When I speak of things people don’t know in this case, its primarily the non-core-devs and non-mailing-list-mode discuss subscribers and non PSF list members who lack an ability to have seen the full picture and will never have it because they don’t have the level Discourse access here that us regular users do; they similarly likely do not have access to the private mailing list archives involved that I expect most core-devs do (or did, before so many people quit the mailing list in disgust, prior to it being locked into moderator mode). On top of that, conduct reports themselves, (which, other than any voluntarily cc’d by a reporter to the SC itself, the SC does not see), are always going to be private. By definition.

9 Likes

I’m not saying it was, only that I don’t think that can be used as justification. The SC has explicitly mentioned receiving complaints, seeming as a kind of justification for the suspension. If there actually is no non-public communication that has lead to this ban then all of the evidence has been presented here. The decision needs to be based on that evidence. E.g. does a reasonable person think this behavior crosses the line in terms of what’s acceptable conduct?

Why is [it that you think there are no secret details involved] (if you can share)?

I think that because the SC and CoC WG hasn’t mentioned there is any. The only secret information that I see is the feedback from people to the WG and SC about the developer’s behavior being problematic. I argue that that feedback itself cannot be used as justification for suspending someone, only as a trigger to investigate and find objective based evidence. Otherwise the system will almost certainly be abused and people cannot trust it.

In the case of a company HR situation where you have a private encounter between two employees and one of them behaves inappropriately, you could have a “X says vs Y says” situation and objectivity is not really possible. Then you would have to just trust the HR department to judge based on the private details. That’s not what’s happened here in this case, AFAICT.

9 Likes

Personally, I support and respect the recommendation by PSF CoC WG and the decision taken by the SC. I just want to say thanks to the SC and PSF CoC WG for investigating this matter thoroughly. I know this is not an easy decision.

PEP 13 says that the SC has the authority to enforce the CoC of the project, and so I trust that the SC are acting appropriately here.

look very closely at how to handle discussions that are getting out of hand, so that problems like this can be addressed before individual behaviour becomes problematic.

From what I’ve seen on Discourse, this has been done, and this is why we are on Discourse: for its moderation tools. I.e community members have flagged things for moderators and PSF CoC WG, and the team responded (for example by setting the slow mode, or by locking threads).

It is also my understanding that the SC did speak privately with the person prior to the suspension, so opportunities were given to people to adjust their behavior in this space.

I think the issue here is that some folks disagree with what is considered as acceptable behavior in this space. And I think this is why the PSF CoC WG exists: they investigate complaints, and make decisions on whether the complaint is valid or not.
The way they handle reports and make decisions are documented here.

The CoC WG members do investigate, evaluate, and vote on reports. They don’t go straight to banning people just because there is a report. “Doing nothing” is one of the possible outcomes after receiving a report/complaint: if the CoC WG don’t agree that there is any conduct violation, the report is dismissed.

that feedback itself cannot be used as justification for suspending someone, only as a trigger to investigate and find objective based evidence.

Yes, and I trust that the CoC did follow all the steps mentioned in the Enforcement Procedure doc, including investigating whether the behavior is acceptable and is within the PSF’s CoC or not, and take further actions based on that. Do you have reasons to believe that such investigation was not done? In my mind the fact that the post by SC tabove ook about a month after all the activities mentioned in the list took place means that they did take the time to investigate.

16 Likes

If they did, I don’t find their decision of a suspension based on that investigation to be justified. The long list of bullet points looks impressive. I feel that, when you dig in and look what was actually written and consider what kinds of behavior we want to deem unacceptable, none of the points really holds up to scrutiny. That’s my opinion. A CoC cannot be so black and white that there is no room for personal interpretation. I can appreciate other people have a different take on the matter.

39 Likes

An intervention felt necessary, so I’m grateful to the CoC WG for doing so, even as I feel sad about the whole situation, and, like Paul, wish that substantially softer interventions could have sufficed.

This is an entirely reasonable mindset for CoC enforcement for a large community. Note there’s a difference between an HR response and a legal response. While I’m not sure the posts I read ever clearly crossed a line for myself, several of them felt at least off colour to me… If enough people feel something is questionable, I feel that’s a sufficient and desirable standard for an HR department to attempt some (hopefully small) course correction.

I don’t think the person was really doing themselves any favours; it’s a pretty bad strategy to take a sardonic tone and assume your readers will catch your nuance when talking about difficult subjects in a heated conversation while also posting at volume and also engaging people who did clearly cross lines. I disagree with the interpretation of some specific items on the bullet point list, but it’s easy for me to see how people would construe things that way.

I thought the SC’s previous post about expectations was excellent and despite being less specific, makes a clearer case. At a certain community scale, you simply need to be more pessimistic about the effect your words may have on people, because they will have that effect on someone. I think the core dev sort of willfully missed this point (the irony that they repeatedly made the point that we should be more forgiving of people who miss the point is not lost on me). I can appreciate that it must feel strange for old timers to see an HR department in what was once a tiny community, so I’m glad to hear from Mariatta that the SC spoke with person privately… I trust that softer, more personal course corrections were attempted and rejected, leading to our current predicament. I do think we owe it to ourselves to make our large community feel small.

24 Likes

I tried to read into some of the points listed and speaking for myself I started to worry, e.g point one almost gave me an impression the SC and PSF aren’t impressed with controversy or they don’t appreciate that sometimes controversy should be feedback to some of our processes, even if we don’t take everything suggested in the controversy. In another interpretation of this point, this may not be what the SC means by that point of course.

As we discuss this, I want to say, when people give some feedback as many are doing on this thread, this shouldn’t be always equated to the lack of trust. We can trust the SC and PSF as well as give some feedback on certain topics. Trust and constructive criticism can coexist.

19 Likes

As someone involved in most of the SC discussion on this, please know that it, as with all CoC incidents, was not taken lightly. These discussions are infinitely more challenging than any technical PEP that we discuss. It involves not only a thorough analysis of a situation, both documented and recounted, empathy for those who have raised complaints of behavior that has caused them harm, balancing the often negative impact of taking corrective action when needed, and ultimately, attempting to find the solution that won’t alienate those involved while maintaining and improving the health of our community. It is wildly rare to approach someone who has behaved poorly or said something that hurt someone and have them respond with, “Wow, I’m so sorry that was the impact of my words. I may not understand all of it, but I’ll work to do better”.

This is not the first time that there was no singular incident or sentence that comprised an offense. The list of behaviors, in my opinion, is not a list of individual things so egregious that resulted in a suspension. They are examples that attempt to summarize an overall communication style that pushed boundaries too far and caused harm to multiple people in our community.

And yes, as Mariatta mentioned, we did discuss this directly with the person first as an initial corrective measure where the feedback was not received and no willingness to listen or improve was indicated (in fact, doubling down on issues we were trying to address occurred).

I really like @hauntsaninja’s description of the communication strategy here – I don’t mind controversy and certainly welcome those who have opinions that are different from my own. The volume and overloading of these discussions was the issue, not having a “controversial” opinion.

In CoC violations in general, I wish that there was a way to paint the whole picture for the community at large, but it’s unfair to both the person(s) who report issues and the people who are being suspended. I do hear the feedback on this and hope that our communications and process can be improved in the future.

26 Likes

FWIW I’ve made this unofficial edit of the WG’s findings:

The user repeatedly violated the Code of Conduct by:

  • Dominating the discussion of the bylaws change (47 of 177 posts)
  • Joking about serious topics, such as sexual abuse and harassment
  • Speculating about other members’ motivations and/or mental health
  • Stereotyping neurodivergent people
  • Alluding to slurs and other offensive terms

These are the changes I made:

  1. Merged similar topics
  2. Removed as many adjectives as I could, because I half-remember that essay about Hemingway.
  3. Removed elaborations
  4. Omitted the bit about reverse racism, because it’s a partisan issue in some countries and too open to challenge (rightly or wrongly)
  5. Omitted the bit about SNL, because I don’t think the PSF should take a position on which 70s comedies are funny - again it’s too open to challenge.

I’m not asking for this summary to be adopted by the WG, but perhaps its simplistic style and exclusion of the more arguable findings might be a useful template if something like this ever comes up again? (Hoping it doesn’t!)

7 Likes

I like what @emily said, so I’m only going to clarify some administrative details.

We don’t have a specific policy on the Conduct WG to ameliorate the public/private distinction of evidence provided when making a recommendation about what to do, so I wouldn’t read into a lack of detail about this from the Conduct WG.

Not speaking to this specific case, I will say that persistent, up-to-the-line violations do add up to constituting a CoC violation.

7 Likes

Many summaries are possible. Here’s one take:

  • In the context of an bylaws vote, advocated the least popular position.
  • Did so not for himself but for the future health of the community.
  • Believed he was helping address past injustices and preventing future injustices.
  • Believed he was speaking truth to power.
  • Communicated in a style that had been effective and welcomed for 30 years.
  • Did not anticipate the response would be about the provocative style rather the substance of his arguments.
  • Did not expect that moderation would happen after the discussion ended and was unlikely to recur.
  • Did not expect to have commit permissions suspended, thus precluding non-political technical work.
63 Likes

I don’t think the discussion is being productive, so let me try to make the most objective summary I can make regarding the issue.

If I understand everything correctly:

  • The person in question had interactions that were flagged by the CoC WG
  • The situation was reported by the CoC WG to the SC
  • The SC engaged with the person in question in an attempt to correct the behavior
  • The person in question did not receive the SC’s feedback positively (*1 see quote below)
  • The person in question had further interactions that were flagged by the CoC WG
  • This was again reported by the CoC WG to the SC
  • The SC issued a 3-month suspension

This all seems perfectly reasonable to me, and I think most people will agree.

The problem here seems to come from many believing the CoC WG’s impression wasn’t warranted, and then, similarly, the actions taken by the SC, as the enforcer in this situation, were also not warranted.

I understand the sentiment, I don’t recall seeing any particularly egregious message from Tim, nor do I recall seeing any similarly bad interaction involving Tim. That said, this does not in any way prove the absence of such.
Pointing out your lack of recollection of any problematic interactions does nothing to negate their existence, so I really do not think there’s anything productive to be done there.

Ultimately, there are two entities here we must place some trust to make sure that processes such as this one are handled correctly (which is highly subjective, and based on personal opinions and morals) — the CoC WG, and the SC.
Both of these entities are community-selected, the SC as a direct election between the Core Developers, and the CoC WG as an entity managed by the PSF board, which is elected by the community. If you lack trust in either of these entities, I think the most productive thing you can do is get involved more in the community — this can be something like starting or participating in community discussions around improving of the CoC documentation (with clarifications, examples, etc.), or even by putting yourself on the ballot for the SC or PSF board.

Personally, based on the people I know that are a part of the CoC WG, and my previous interactions with the CoC WG, I trust them to make the correct judgement on this situation, and the same goes for the SC.

So, I think it would be better if we tried to move from scrutinizing our collective recollections of events, and instead point that energy into something actually productive like discussing and contributing to improvements of the CoC documentation.


*1

16 Likes