Settings

Theme

A Mess in the Python Community

lwn.net

15 points by gdgghhhhh a year ago · 5 comments

Reader

VagabundoP a year ago

The whole issue around the removed package and the pedantic totally out of touch discussion around it started by Peters really shows how difficult it is dealing with certain types of people.

I don’t fault the PSF here, the rule changes were overwhelming accepted. It doesn’t mean you ignore or shut down the dissenting opinion but there’s a point you need to draw a line with it.

There are people and we all know a couple, who will just argue asinine points to the point that you realise it’s all just a game to them. They are a type of troll who pick and pick to avoid “getting the point”. I’ve seen it happen all the way back to the Usenet days.

It’s a shame to lose people with the technical knowledge and experience, but sometimes they are just too disruptive and refuse to acknowledge it.

  • zahlman a year ago

    > The whole issue around... Peters really shows how difficult it is dealing with certain types of people.

    It really isn't. You just have to:

    1. Actually have a reasonable course of action. (Peters censored the offensive word, after all.)

    2. Be prepared to explain it. (Nobody, to my knowledge, has yet given a clear, concrete argument as to why anything Peters said should actually be taken as offensive in principle.)

    3. Communicate directly and specifically. That is: say that specific phrasing in a specific post (or discussing a specific topic in a specific post, etc.) was problematic, and why you believe it to be so.

    It seems to me like some people don't think this is a reasonable standard to expect from policy enforcers. I'm baffled as to why that is.

    Honestly, I find that Peters goes above and beyond in social graces, for a community of programmers, on average. He has repeatedly shown that he's willing both to edit his posts in response to such feedback (for example, as happened with the OP and title of the "How can we better support neurodivergent newcomers to the community?" thread (https://discuss.python.org/t/_/58724) and to preempt issues by offering praise before criticism, soften tone etc. It seems that he can easily write things that start out like "Good idea! But I have some small concerns about X..." in a situation where it would take my entire wherewithal for the day to resist just starting off with the X part.

    > I don’t fault the PSF here, the rule changes were overwhelming accepted.

    This happened after the conclusion to the discussion. A discussion in which several key questions posed to the PSF Board were left unanswered, along with a heavy dose of deliberate glomarization (https://en.wikipedia.org/wiki/Glomar_response).

    It makes no sense to fault someone for not knowing that the change would be accepted. But also, 81% is a low score for these kinds of ballot measures. Normally, essentially nobody has any real reason to oppose any of them. The other ones saw much stronger acceptance. A result like this should warn those in charge that the trust thermocline is within field of view.

    > There are people and we all know a couple, who will just argue asinine points to the point that you realise it’s all just a game to them.

    Agreed. For example, Peters had to deal with several of them in the "Inclusive communications expectations in Python spaces" thread (https://discuss.python.org/t/_/57950), and then got written up for making too many posts in that thread (based on a subjective standard that isn't anywhere in the Code of Conduct, nor reasonably inferrable from the Code of Conduct, and which was only publicized ex post facto in https://discuss.python.org/t/_/58666) because it was necessary in order to respond to everyone who was bothering him with such. However, it seems that he either doesn't reach such a point of realization, or doesn't have a proper exit strategy for such situations. Granted, it's much harder when it isn't one-on-one.

    > It’s a shame to lose people with the technical knowledge and experience, but sometimes they are just too disruptive and refuse to acknowledge it.

    Hopefully, Thomas Wouters et. al. will learn this lesson in the next Steering Council election. (The Code of Conduct Work Group, for whatever reason, isn't elected and gets to appoint its own replacements.)

    • VagabundoP a year ago

      If far more fundamental that that. Its that he went to bat for a module called slut and then tried to justify it using sophistry and pedantry.

      There's a huge generational gap here I'm sure but I don't find it acceptable to have that discussion in 2024. There's enough people that will be upset by a module called slut for me to not raise an eyebrow about its deletion without a big hoo-ha.

      The package can be renamed and re-loaded if its worth it to the author.

      Peter's in creating the thread just shows how out of touch he is, and how he

      • zahlman a year ago

        >he went to bat for a module called slut and then tried to justify it using sophistry and pedantry.

        No, nothing of the sort actually happened. Rather, he mentioned the fact that he had voted to leave it alone ten years ago, and that this was one of the few split decisions he could recall from his tenure as a board member. And the vote was 6-4 with 1 abstention, so it's not as if he represented a radical fringe position.

        Nothing he said was to argue that the module should have been left alone or that it would be correct to do so today, and what little he said about his recollection of his 10-year-old memory could not plausibly be called sophistic or pedantic.

        And, again, he censored the word. It's one thing to get upset seeing objectionable words in plaintext when reading the Python Discourse forum (or HN, for that matter). It's quite another to get upset by the fact that someone else is talking about something in a context where you can tell that it involves objectionable words somehow. Sometimes those discussions need to take place, because otherwise you don't actually form objectionable-word policies.

        Finally: the PSF gets hosting for PyPI provided by Fastly - it would be prohibitively expensive at market rates. (By my back of the envelope calculations, it would cost a few times the entire on-the-books revenue of the PSF to pay for the downloads, if they had to pay AWS or a similar service.) Shouldn't they be the ones who get to decide what content is appropriate on their servers? (I certainly hope you aren't trying to say that people shouldn't be allowed to name their packages what they want to begin with, even if they're only distributed privately.)

zahlman a year ago

It's nice to see that people are still talking about this, and that someone has attempted to summarize the entire story. (I'm not actually familiar with LWN. As someone directly involved in the story, would it be appropriate to send email to the main LWN address to get in contact with the author? Or is there a better way?)

One thing that annoys me about the coverage is that it seems unaware of clear misrepresentations made by the CoC Work Group and the Steering Council related to this affair. In particular, they have repeatedly falsely insinuated that individuals like Peters and myself have tried to determine the identity of accusers or expected them to explain those accusations concretely. This is simply false. What I would appreciate, however, is for the CoC Work Group to explain properly how any person could in principle object to certain of the "examples that attempt to summarize an overall communication style that pushed boundaries too far", or what those supposed "boundaries" are or why they should exist, or indeed how any of that could possibly have "caused harm to multiple people in our community".

Another key issue is that they mischaracterized complaints by, or on behalf of, neurodivergent individuals, as petitioning for said community members to be treated more leniently or with some other kind of favouritism. This, too, is not true. The goal, instead, was to get them to understand that neurodivergent people - more or less by definition - cannot be expected to infer the standards of behaviour that they're refusing to lay out explicitly, and do not see how the supposedly problematic conduct could be judged as violating the Code of Conduct as written.

I think many neurotypical people would have similar questions, for that matter. But I and others felt it was important to point out the specific harm their policies do to neurodivergent people. If they could in principle be convinced of anything, then I hoped that this was the way, since avoidance of harm seems to be the language they speak. If not (which seems to be how it worked out), then I could at least say I accomplished the goal of publicly exposing their hypocrisy.

It will probably be a while before I write more blog articles about this situation - or more generally about the PSF and the broader Python community - but the above points are definitely on my todo list.

Some more specific nitpicks:

> The latter thread managed to get Knechtel an indefinite suspension from the forum, though the thread is somewhat difficult to follow due to edits, either by the moderators or Knechtel himself.

To be clear: "edits" here seems to refer to the complete removal of my own posts aside from the OP (and I think also one of Tim Peters'). The only post that was edited was the last one summarizing the CoC Work Group's judgment, and whatever change was made doesn't seem to have been substantial. The process for this removal is that the posts were first "hidden" by flags from "the community" (my own investigation into the Discourse software has determined that, with the default software settings, this could be done by a single flag from "Trust Level 4" members, which include moderators, who would thus be able to hide posts without any explicit acknowledgment of moderator action). Then, Discourse automatically deletes posts which remain hidden (moderator action or editing by the author is required to un-hide them, and of course the latter was not an option for me) for a minimum of 30 days (again, a default setting, but one that agrees with observed behaviour).

> So it probably came as no surprise to anyone who was paying attention that the SC suspended Peters as a core developer for three months on August 7.

The announcement was made publicly August 7, but the suspension appears to have been active since the 1st. While I don't have good evidence I can share for that fact, Peters was also suspended from the Discourse forum itself, and that suspension expires November 1 as well (https://discuss.python.org/u/tim.one/summary). (Peters has made quite few commits to the project in recent years, so this sort of thing could go unnoticed easily enough....)

> Peters's return from his three-month suspension is far from guaranteed, though. In previous cases, it has required a request to the SC for reinstatement, which has generally not happened with others in his shoes.

This shouldn't pass without an explicit mention of the story of Stefan Krah, another core developer who was also given a 3 month suspension, and who responded to it by resigning. This happened in October of 2020; during a two week period in the next month, there was a wave of core dev resignations (19 of them IIRC). (Granted, there may have been other motivating factors here, such as political tension related to the US election.) Notably, Peters was a supporter of Krah at the time, and considered that Krah might be neurodivergent (from the evidence available to me, this seems highly likely).

It's also worth highlighting the story of another developer who was suspended earlier in 2020, who apparently doesn't want to be named or discussed in any detail these days - I'm pretty sure I figured out who it was, but that's not the point. (Of course, please don't post any guesses publicly.) I'm bringing it up specifically as an example of how the Steering Council (which has only existed since 2018, mind) does its business (and apparently always has): https://mail.python.org/archives/list/python-committers@pyth... There's a lot of confusion expressed by people who weren't involved (it seems that some people on the mailing list initially thought the post was telling them they'd been suspended). For those who were involved, it seems that it was obvious who got suspended, but again it seems to have been forbidden (either explicitly or by reading the room) to state the name explicitly. The thread linked above also includes a particularly poignant exchange between Jack Diederich (who also left in mid 2020 - publicly and fairly loudly) and Nathaniel J. Smith which I find highly emblematic of the ideological conflict at hand.

(Unsurprisingly - assuming I correctly identified the culprit - the suspension was motivated by posts that didn't say anything that I could see as objectionable, although they could possibly be described as somewhat conspiratorial.)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection