PR disaster surrounding recent bylaws changes and core developer suspension

Without going into the details of whether the suspension was an appropriate response or not, I would like to point out that the recent events surrounding bylaws changes and the suspension of a core developer really look bad from an outsider perspective:

  1. A bylaw change is proposed that grants more power to the board.
  2. A sizable minority calls out the potential abuse of this new power and demands a discussion of the proportionality of the benefits and risks.
  3. A real discussion never takes place.
  4. The bylaws change is accepted with a majority (though far from unanimously).
  5. The most vocal dissenting voice is silenced by the SC with reference to a list of CoC violations that looks construed given only publicly available information.

Independent of the actual events, this public perception looks highly suspicious and has the potential to undermine trust in the democratic foundation of the Python Software Foundation, in particular, and the Python community, in general.

What are we going to do about this?

19 Likes

Responding to your numbered points, not in the order you made them, but in an order I think makes sense to me:

(3) As someone who took part in the very long thread about the bylaws I’d say the only lack of “real discussion”, as I saw it, was on the part of a couple of people who consistently pushed the “ideological purge” threat model and consistently refused to meaningfully engage with any of the counterarguments offered to them.

(5) The moderators of this forum, as far as I’m aware, waited until after the election was complete before suspending the forum posting or other privileges of the “dissenting voices”, and I don’t believe it’s possible at all to claim that somehow those voices were not heard. They were so heard that other voices and arguments were at risk of being lost among the flood of their posts!

(2) As to the claim about a “sizable minority”, I don’t know that I’d agree, or I don’t know that I’d agree there’s a problem. The most contentious bylaw change (change #3 regarding removal of Fellows) passed with over 80% of votes cast being in favor of it.

(4) I repeatedly brought up in the original bylaws discussion thread the very real (and to my mind, for more realistic than the rogue “ideological purge” board scenario) threat that the “sizable minority”'s desired requirement for supermajority or unanimity from the Board might create a scenario where a small, unrepresentative minority of the Board, or even perhaps a single person, could prevent necessary action from being taken. I am just as concerned about the possibility that a greater than 80-20 margin in favor of the bylaw change would be viewed as illegitimate because a handful of people made a huge volume of posts about it. At a certain point the “dissenting voices” simply need to accept that they were out-argued and out-voted, and learn to move on from that.

And to be blunt: I do not care about the “public perception”. I’ve been tangentially exposed to a few threads on other sites and they seem to be almost entirely dominated by people who are not at all open to debate or discussion and who are wanting to make the Python community and its Code of Conduct and its moderators into the latest proxy fight in a larger culture war. They do not want to be debated in good faith and are not open to having their minds changed, and it is a waste of time to argue with them or attempt to placate them, because they cannot be placated by anything short of total crushing victory in the culture war they believe they’re fighting, which they are not going to get while I draw breath.

I also don’t think moderators or the CoC WG need to somehow prove their case to a court of public opinion. The only person who is actually entitled to a detailed recitation of charges and evidence and such is the person directly affected by their decision. The rest of us have no inherent right to more details than have been provided, and honestly the track record of public litigation of conduct cases (as I believe I also mentioned in the original bylaws thread) is that it’s absolutely awful for everyone. What’s more, my own long experience of being a user, moderator, and admin of a lot of sites over a lot of years is that a detailed public airing never satisfies anyway. Instead it invites every person who dislikes the outcome to demand that it be litigated again to their satisfaction, over and over and over and over, which is a waste of everyone’s time and effort.

I feel quite confident that the people who are making the most noise about this on other sites will find something new to be outraged about quite soon, after which they will mostly not even remember any of the details of why they are currently outraged about this.

36 Likes

The sad truth is, this works no matter what the noise is about. It doesn’t matter whether the noise is justified or not, it eventually dies down. There is no difference between a Wikipedia blackout in response to US congressional debates, a Reddit blackout in response to unfair treatment of subreddit moderators, a PSF issue, or a totalitarian government - the protestors will eventually fall silent. It does NOT in any way indicate that those in power were correct, nor does it indicate that those making noise were correct.

Dismissing the issue by assuming that it will die down is exactly the reason that people are feeling hard-done-by in this current situation. What is perceived to be a genuine issue is being brushed aside.

11 Likes

Between the multiple threads here and on the PSF-Vote list the membership racked up hundreds of posts on the bylaw changes. Those who opposed #3 had more than adequate time and room in which to make their points.

And those of us who supported the change made our points. We engaged. We presented arguments and counterarguments. We explained. I will be happy to link you to examples if you missed them.

And then a vote was held, and the change passed with over 80% of voters in favor.

What, exactly, is left to do? At a certain point a decision process produces a decision. Even if some people don’t like the decision it produces, the point of having a process is to be able to make the decision and move on, rather than endlessly having to litigate and re-litigate and re-re-re-litigate it.

And why is it only one side’s feeling of being “hard-done-by” that’s apparently need of being treated with care? I think probably some folks on the pro-bylaw-change side could validly feel “hard-done-by” when considering what they were put through in the run up to the vote and what people are now trying to put them through again by repeatedly making new posts here and elsewhere about it. Do those folks get any consideration? Do they ever get to finally move on from this, or even get a moment’s peace from it?

18 Likes

(It’s worth noting that the voters are not drawn from the entire public, but from a select subgroup. So what this shows is that this subgroup is in favour of the change.)

But I was talking about the core dev suspension, not the change itself (which I am fully aware I have no power to discuss, as I am not a voter). I am not relitigating that decision because I never had any position to litigate it in the first place. The matters are somewhat connected, which is why this thread is about both, but I wasn’t talking about the 80% vote part.

I think, though, that the long drawn out arguments and repeated moderatorial actions have had a powerful effect, and I’m just going to end up giving up and going to other things… and probably being a lot less active in Python matters. This isn’t an “I’m leaving now, goodbye” post, just an acknowledgement that it’s starting to hurt just to be active here, so I’m going to do it less.

3 Likes

Everyone who is potentially currently affected by change #3 – i.e., everyone who is currently a Fellow of the PSF – was eligible to vote on the question of whether to enact change #3. Everyone who is offered the status of PSF Fellow in the future goes into it knowing the conditions and process under which they might lose that status later. The mechanics of secret ballots make it impossible to know how any subset of the PSF’s voters voted, but I have no difficulty admitting that I voted in favor of it (and of the other two bylaw changes).

What do you think the alternative is? As I understand it from the details that have been posted publicly, the person in question received multiple “official” (from moderators and/or higher-up decision-making bodies) warnings about problems with their behavior prior to more drastic action being taken. I don’t know how else that’s supposed to play out if the warnings are ignored.

And the “moderatorial actions” don’t really seem all that unusual to me. I’ve been on forums of various sorts for decades now. They all could and would put someone in a timeout for getting too heated or breaking rules too much, even if that someone is a long-time regular well-liked by others in the community. Many had the ability to temporarily filter posts that had received lots of flags from users. Many had the ability for moderators to redact the offending part of a post while leaving the rest up and quotable. So I don’t understand why there’s such a strongly negative reaction to seeing those mechanisms in use.

8 Likes

I think there are multiple intersecting issues here and different groups are focusing on different ones, which is part of why they have all become contentious and people are feeling “hard done by” or that their views aren’t being heard.

One issue is the PSF bylaws change itself, which as you say passed overwhelmingly. That was a fair vote and I agree there’s not much more to be said about that side of things.

A second issue is concern around the CoC, how it is interpreted, and how it is enforced. This seems to be particularly salient in the “culture war” discussions you allude to.

A third issue is that of transparency, secrecy, and so on, in moderation/governance. Part of this overlaps squarely with the CoC, but part of it doesn’t, for instance recent concerns about moderators allegedly editing posts without clearly indicating they had done so. Likewise, from my perspective, the issue of seeming to stifle dissent (whether that was the intent or not) goes beyond concerns about the content of the CoC. Basically, appearing to try to muzzle discussion about how discussions happen is not a good look for any organization, and it’s important for any organization to do what can be done to avoid that appearance.[1]

Part of why some of us may feel like we’re talking past each other is that we are seeing things different lenses among those three (and perhaps other lenses as well). Also, although the vote itself took place, the second and third issues were not something that was part of what was voted on, but arose out of discussion leading up to the vote, so I don’t think it’s fair to say that the vote itself should automatically put an end to those concerns.

I share your concern here. I’ve encountered some such discussion as well, and it’s depressing to see it swept up into the vortex of a certain faction who see the mere existence of CoCs as some kind of “woke conspiracy”. I certainly wouldn’t want to be thought of as aligned with that faction, so that has given me cause to reflect on my own position on these matters.

Nonetheless, I would hope we can find some common ground and space for connection. There’s a difference between the “public opinion” that includes every random crackpot perspective and the “public opinion” that is just concerned with a slightly narrower (but still hopefully pretty big!) slice of reasonable and well-intentioned people. I think we should be wary of being drawn into the trap of viewing this forum as some proxy battle in a culture war. People (either in this discussion or in “the general public”) can have reasonable concerns about the three issues I mentioned above without being reactionary wackos, and I’d hope that we can handle that without having to draw battle lines and fixate on “winning”.[2]


  1. A similar kind of consideration is at play when considering conflicts of interest. If someone has to make a decision and they have some conflict of interest, it doesn’t really matter whether they can or even do make the decision in a neutral way. It is important for recusals to happen in certain contexts simply to preclude any possible speculation about the person’s motives, to err on the side of caution, and to be publicly seen as doing those things. ↩︎

  2. Incidentally, even the discussions I saw in other places were not “totally dominated” by the culture warriors you describe; they certainly had a presence but there were a range of positions. Not saying you’re wrong, just that I had a different experience that makes me maybe a bit more optimistic, or at least hopeful. ↩︎

7 Likes

I am new here, but not to python and am mainly interested in discussions about the language rather than what seems a bit like politics.

What I have seen elsewhere though may warp my perspective as it was not quite as reasonable as the recent discussion here has been. Of course moderated private forums can apply reasonable rules or even cut off some topics or even users, but there is a price to be considered as some people would just leave and not come back, albeit I suspect some who made decisions might welcome that. If the people supposedly making decisions about python decide to wander into areas that are not so universally agreed on, they may motivate people like me who use many languages, to stop using it.

So, I will simply provide feedback not on the changes in the bylaws but to the person or persons who wrote the explanation of why a rather well-known user was suspended for three months and maybe even permanently. When I first read it, even if what it said was true, my impression was that there was an agenda behind it that magnified, or just invented, a set of rules that many, including me, really do not buy into. These should not be hanging offenses. But what I read elsewhere suggests most of the charges ranged from distortions to outright lies and the writers need lessons on how to win friends and influence people rather than acting like bullies.

If you want to suspend someone because they have been warned that the topic is closed and so on, as the messages by James make it sound like, then fine. SAY SO and leave out the nonsense that was actually posted. But there can be no discourse if the suggestion is made nobody can be offended and other such ideas, especially when the actual messages prove sometimes the opposite happened and they were actually supporting the ones they were accused of …

The feedback may be that I personally am offended by many of the rules supposedly we should not break. Some are perfectly reasonable and some are what many consider political and not universal rights.

Can we stick to python and ideas and let the rest of the world take care of itself?

4 Likes

Just to clarify - I am in favour of having a CoC and think we have a relatively reasonable one at that. What I am worried about is the way the CoC is seemingly used to silence/punish dissent.

I would argue that “Dissent is the highest form of patriotism!”, and in the recent case of suspension, I am certain that the dissenter is a patriot unlike any other Python has seen (or is likely to ever see).

I am all for keeping a good discussion culture and tone. And if there is some issue with that, I am all for calling out unproductive behaviour. That said, I agree with Avi that any decisions/actions taken should be justified simply by that instead of a lawyer-like construction of a CoC case. The case brought forward is really hard to take serious, at least with all the publicly available information I have (and the one from having been involved on the PSF-vote mailing list).

Regarding the bylaw changes, the outcome of a democratic process by a majority vote is generally something to be accepted (unless it is a case of a majority discriminating a minority). It is normal and healthy that there is some disagreement among the voters. (On a technical note to James, I would say that with good 80% in favour, that means there are nearly 20% that disagree. This matches any reasonable definition of a sizable minority that I have encountered, where a minority significantly closer to 50% would be a large minority rather than a sizable one. Anything significantly under 10% would be small minority.)

9 Likes

You see how this is a problem, though, right? Like, here I am, disagreeing with you. That makes me a “dissenter” relative to you. Does that mean some or all of the forum rules or the CoC stop applying to me? Which ones, and for how long?

Trying to treat “dissent” as a special case just does not work as a principle, because everyone who wants to break rules and get away with it will just find a way to frame what they’re doing as “dissent” and claim the protections offered to dissenters.

Similarly, discussions (multiple, on multiple sites) have focused on certain people’s long history of good work on or on behalf of Python or its community. That also does not work as a principle for granting exceptions – “what I’ve seen of this person has always been good/nice” does not mean they haven’t also done bad things, or that if they do bad things they should be excused from consequences. Lots of people in the Python and Django communities have probably only ever seen me being nice, but I know I haven’t always been, and I also shouldn’t be exempt from rules or from the CoC just because of good things I may have done in the past.

The publicly-available information includes the assertion that the individual in question was warned before the actions taken against them were escalated. I said earlier in the thread that I don’t know how else the situation can play out when warnings are going unheeded.

Anyway, I’m going to once again share/expand on something from my own past experience as a moderator on various sites and forums (not this one, and not any other official PSF community space): most of the stuff a moderator deals with is minor and boring. I’d estimate at least 95%, probably higher. It’s small problems that have quick solutions, and even when someone needs to be “punished” it almost always consists of minor actions. Maybe a warning and a reminder about what the rules say. Maybe a post or two removed. Maybe if they were getting aggressive, a short timeout (maybe a day, maybe a couple days) from posting to make them take a break and cool off.

And for the vast majority of cases that’s the end of it. Escalating beyond those minor actions is rare, but there are some recognizable patterns to the cases that do escalate. One of the most reliable indicators of escalation is someone whose reaction to an initial minor encounter with moderation is to become radicalized against the concept of moderation itself, someone who suddenly decides that it’s inherently unjust that someone else could remove their posts or stop them from being able to post whatever they want. Once someone starts on that path there is, in my experience, no external intervention to get them off it, and it only ever ends in much more serious action – typically long-term or permanent ban – taken once the person has exhausted all the warnings and second (third/fourth/etc.) chances offered to them.

And I don’t think anyone can deny that both in this forum and on the PSF-Vote list there were multiple people who quickly took up the cause not of “dissent” but of being against moderation. The idea that a post could be automatically hidden for moderator review if enough users flagged it, for example, or that a moderator could redact out rule-breaking bits while leaving the rest, was treated as inherently offensive to the people affected by it. One person even said it should become illegal, so that action could be taken in court against moderators who do it!

I think anyone with any experience as a forum mod, at any scale, reading that stuff probably knew then how it was going to end.

And I guess that’s where you and I really differ. I look at this and see a pattern that’s extremely familiar to me and that I know pretty much inevitably ends up with someone being banned/suspended for a long time. I don’t see “dissent” being “silenced” or “punished”. There’s a reason why a lot of sites and forums have rules that arguing about moderation actions is off-topic – it tends to take over and escalate until someone finally does eat a ban for it, at which point their supporters can say “See? The mods really were out to get him the whole time! This proves he was right!” (also, sadly, a very familiar pattern).

I also think that if, hypothetically, someone were determined to try to show that moderation and CoC enforcement are inherently heavy-handed and extreme (rather than, as noted above, usually pretty light and minor), continually breaking rules and ignoring warnings until enforcement finally escalates is a way that person could, hypothetically, try to “prove” their claim. If someone’s willing to take the hit, it’s basically always possible to generate a self-fulfilling “they’re out to get me” claim about moderators by forcing them to deal with you.

Finally, I want to point out that a recurring theme of this thread is a desire for more information to be public so that people can effectively litigate the conduct case for themselves or to their own personal satisfaction. I’ve pointed out that the Python community has a notorious example of how that can go very very very badly wrong, and nobody who’s arguing for more publicity/transparency has meaningfully engaged with that point, as far as I’ve seen.

23 Likes

Are there any other ways to grow trust?
What is trust without personal conviction?

What about a the person being punished has the right to ask for evidence to be made public?

From my experience very high level of transparency is possible in healthy community. E.g. I worked for many different companies and the one which felt most healthy had a very high level of transparency. I could look up everyone’s salaries on the net. And it wasn’t a very small one - 200 people. The most unhealthy was 50 people with extreme level of secrecy.

3 Likes

I’ve worked at companies with salary transparency. I’ve never worked at a company with full disciplinary transparency. Have you? The proper equivalent here seems to be all performance reviews would need to be public, all conversations with managers about goals would need to be public, the company would need to basically hold a public trial and “convict” someone before they could be fired, etc., and I don’t know any company which does that.

6 Likes

Me neither, but I was just thinking maybe volunteer driven community could/should have a higher level of transparency than average money driven company. Especially when community requires a peace of mind.

The proper equivalent would be precisely what I have suggested.

2 Likes

Personally, on the contrary, no I don’t want or need the gritty details of code of conduct violations to be made public. CoC issues don’t just happen on mailing lists. They happen in real life, and if I were, for example, being harassed, I’d much rather a small group with authority be involved then everyone in an entire community of thousands of people.

The whole point of having a steering council and a CoC working group at all is that we are delegating responsibility to these people. Otherwise we’d just use direct democracy and vote on everything! But we know from history that isn’t realistic - not for policy and certainly not for justice.

Responsibility has to be paired with trust in order to be anything other than frustrating and ineffective. In this situation the responsibility of handling sensitive situations is paired with the trust that they will do their best. And if there are those that can do better, that is why there are elections.

12 Likes

The SC posted an extensive (yet unsubstantiated) list of misdeeds for the whole world to see. The CoC WG’s language was not tempered and their findings are serious – so serious as to verge on character assassination if they are unfounded.

So, are the findings accurate? Are they representative of the user’s behaviour?

Personally, I (and many others it seems) feel that the severity with which the case was dealt with is not proportionate based on the publicly-available information (and the decision is clearly based on information that is public).

Posting the WG’s findings verbatim was also callous. If the user had been insensitive towards the suffering of others in their posts on the forum, the SC was doubly insensitive not to consider the real personal consequences for the accused.

In my mind, if the SC was intent on suspending the user, it would’ve been better to provide some generic verbiage of the sort that the user exhibited a disruptive pattern of behaviour on the forum or failed to follow the moderators’ advice – even if the “dissenters” among us might’ve found the secrecy around CoC enforcement more chilling.

Other questions arise as well. Why was the user suspended from all Python spaces? Why were they not admonished prior to the suspension?

I’m confused by all the talk about trust which some here seem to have equated to blind trust. The people you elect are accountable. Sure, you can choose not to vote for them next time. But this isn’t national politics – it’s a moderately-knit community. It’s more important that people see eye to eye than that they are simply replaced at the next election cycle.

8 Likes

Not really, discuss.python.org is moderated, so I expect several of the offending posts to have been removed/edited.

They were, see Three month suspension for a Core Developer - #18 by emily.

2 Likes

Thank you for the correction, Filipe.

Emily also mentions the following which paints a far more considerate picture, than the clinical list from the SC announcement would have one believe:

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.

——

Not really, discuss.python.org is moderated, so I expect several of the offending posts to have been removed/edited.

That is true, but edit history is visible, and if any were removed or hidden, I believe I read them beforehand.

2 Likes

Yes, possibly, but like I said in the other thread, we do not have the full information/context about the situation, so it’s impossible to know for sure if we have the full context or not.
Everything comes down to our trust in at least one of the CoC WG or the SC, and like I said previously, I trust both, so I am confident the issue has been handled correctly. I may be wrong, but that’s something only time will tell.

I do understand if others have doubts, but I don’t think it’s very productive to keep scrutinizing the situation knowing we will likely never have the full picture, as any outcome will purely be conjecture.

4 Likes

This is the crux of the issue. Speaking as a member of the public without access to internal PSF spaces, and without the intention to second-guess the WG’s decision in the current high-profile case, I think it is a mistake to make public a detailed list of accusations without also making public the material those accusations are based on.

If the material cannot be made public, it would be better to simply announce the suspension without any further comment or information, or even to make no public statement at all.

The wider public has little reason to trust either of these groups more than the evidence they can observe in publicly accessible spaces. When the WG makes a claim with no supporting evidence, and the available evidence does not support the claim, that erodes trust.

You might say that the opinion and trust of the wider public does not matter, which begs the question: Why make the suspension public at all? Keep it, or at least the unsupported list of accusations, internal to the PSF.

13 Likes

Filipe and others,

An observation is that sometimes the cover-up is worse than the crime. This is even more true when there may not have been much of a crime on either of several sides.

Repeatedly telling people to get over it and move on is simply another form of bullying. Clearly, enough people do not have the trust being demanded and asking for it makes some trust you less.

I am not really involved and just an observer who sees people digging a deeper grave for themselves with their actions. But there is a purpose for people being held accountable so that they think twice and yet again when situations like this inevitably arise again. Companies in the real world often rely on specialists who work on things like damage control and especially when those in the company seem tone deaf. No matter what I hear, I have to say it looks like this situation was not handled well. In particular, I think it likely that trying to impose some post-post-modern sensibilities on people who grew up in another time can be quite unfair.

I am not saying the parties involved here are guilty or innocent of anything. I note I have heard nothing either directly or indirectly from the person who is accused and being in some sense punished and as noted, what evidence existed may no longer be easily available.

The point remains that there is enough evidence of a kind of vindictiveness in at least some of the people involved and I mean on both sides. Shooting down an entire board for the overzealousness of a few makes little sense but those who keep sticking up for them have made themselves visible and may now find some on the forum no longer taking them seriously on other topics too.

When there is another election, I have to wonder how anyone can know what person or persons to either applaud or vote against on this topic or any other topic. In my experience, elections can be a bit of a joke or popularity contest but it does seem in some kinds of elections, the people just want to throw all the bums out. Having staggered election cycles as has been adopted here, is often a ploy to keep that from happening and it can be quite effective in delaying until things may actually be over.

I actually am sympathetic with the board in the sense that any governing body needs to be able to maintain order while constrained to follow rules. They may have been justified in doing this properly but whoever wrote that list of silly reasons should now be suspended for very similar reasons of bad conduct and in a public way precisely to try to avoid persecution for anyone else here who does not buy into their agenda. Python is the topic here, not the aims for a just society or whatever. There are other forums for that.

5 Likes