PyCon Nigeria was held July 10–13 this year in Lagos, Nigeria. David Mertz was one of its keynote speakers, giving a talk titled “Python as a Social Fact”. The organization posted a good-quality video recently.
Not about technicals, but about communities. David has a doctorate in Marxist political philosophy, and it shows . But he dialed down the academic tone a whole lot. Worth a listen!
Disclosure: David and I have been friends for decades, and I reviewed his slides before the talk.
A correction: while David was an author of the PSF’s original Code of Conduct, it’s since been replaced. He didn’t appear to be aware of that in this talk.
I don’t understand. I quote a piece of the transcript:
Regrettably, some specific discussions and conflicts within the PSF sphere, ongoing over the last few weeks, about removing “undesirable elected Fellows” has followed this course. As I speak, I do not know what the outcome of this schism will be.
I personally don’t have a perception of any schism.
David has encyclopedic knowledge of community schisms throughout history, across both religious and political fault lines.
There was no actual schism at the time of the talk, but David has a keen ear for history rhyming. At the time, a bylaws topic was reaching a conclusion in the PSF category here, and it bore all the signs of “next schism” in David’s view.
And he was right. It soon enough saw him giving up his PSF Fellow status, “indefinitely suspended” from the PSF’s Discourse, and kicked out of his 15+ year key role in the PSF’s Trademarks Committee. He has no connection with the PSF remaining.
Other aspects of the schism he foresaw included my 3-month ban from core development.
For more on which, David gave another keynote address at PyCon Africa, in late September. No recording of that is available yet. But it’s not angry ranting. He’s not bitter. It’s more the familiar disappointment of those who say “those who don’t remember history are doomed to repeat it” watching that play out yet again.
On Facebook, David gives his name as “David Cassandra Mertz”. Cassandra was a priestess in Greek mythology whose fate was to give true prophecies that were never believed.
David isn’t always right, but he’s always worth listening to carefully .
And doesn’t look like it ever will be. David’s address was the last of the day, and they ran out of … something … before it got to the last third of the talk. The first 2/3rds is a lot like I already linked to.
This was at PyCon Africa 2024, Sep 24-28, in Accra, Ghana.
The newer words about the “Python schism of 2024” are, alas, in the missing part of the talk (although the slides are probably a close reflection of what was said).
Best I can tell, there is no record of the Q&A following the talk.
BTW, you’ll note that David isn’t attacking the PSF, although he’s disappointed in some aspects of what it’s become. The actual Python community is very large, & increasingly global, and David favors many cooperating, but independent, non-hierarchical, sub-communities with their own support and governance structures, their own tradeoffs to make with regional laws and cultural norms.
I found the reading very interesting, in particular the piece about the history of Ghana. Anyway, I suppose the piece you’re referring to is this one:
In the last couple months, for the crime of opposing the easy removal of so-called “lifelong Fellows” from the PSF, I resigned my Fellow status, was banned from the Discourse server that PSF uses, and summarily dismissed from my 15 year tenure as chair of the Trademarks Committee.
It is not only me who has been exiled. My friend Tim Peters, creator of Timsort, the Zen of
Python, and largely the co-equal creator of Python, was similarly banned, for similar polite
disagreement. When organizations break down, lists of internal enemies quickly emerge. Even Guido van Rossum had a post on Discourse censored for mentioning these controversies.
It is not only Tim who has been exiled. My friend Steve Holden, former chair of the PSF, core contributor, and co-creator of the PyCon brand and the US conference, withdrew himself under fear of similar retribution, just slightly earlier than me and Tim. He again felt bullied to leave by the voices advocating a purge of the membership.
It is not only Steve who has been made unwelcome. My friend, core contributor Raymond
Hettinger has also withdrawn himself from active participation from the PSF with a similar
sentiment that it has become a hostile and unwelcoming place. Raymond is (roughly) the person who gave you itertools, collections, textwrap, lru_cache, and the sum() function. Brian Curtin, a previous Director of the PSF and main author of the original CoC has expressed similar sentiments.
It seems to me a very strong opinion. You must pardon me if I feel a little skeptic, but there are facts that must prove what David Merts said in Accra?
(Side note: You said that David Mertz was not “bitter”, but he used terms like “exiled” and “purge”. They seems to me they express more than a “disappointment”, don’t you?)
I would just like to encourage anyone interested in this topic to do their own research and reach their own conclusions rather than taking anyone at their word. It’s clear to me that there are at minimum two conflicting sets of “facts” in this debacle, so you’ll have to find your own[1].
and I’m not going to help with that, because I’m frankly sick of the whole ordeal ↩︎
This is not related to the whole conflict, but I just can’t help myself to not dissect this…
Fact 1: You said that David Mertz was not “bitter”
Fact 2: he (David Mertz) used terms like “exiled” and “purge”
Your conclusion: They (terms “exiled” and “purge”) seems to me they express more than a “disappointment”
Issue 1: Fact 1 and Fact 2 are non-contradictory.
While your conclusion is semantically based on a premise that they are. The sentenced is phrased in such manner, which is confusing the reader.
Issue 2: Non-recognition that “bitter” is a synonym to “dissapointment”
Such “side notes” and the fact that communication with flaws as this, is tolerated in discussions of high significance, is IMO the main reason why it is impossible to productively figure out the situation and address root problems that are behind such situations.
“Bitter” is associated with anger. He’s not angry, or at least long got over his anger by the time of his talk. Disappointment certainly remained.
He comes from an academic background with extensive knowledge of historical schisms, and words like “purge”, “exile”, “enemies list” are an inescapable part of that history. It’s a useful vocabulary with well-understood meanings. He acknowledged elsewhere in the talk that he’s pushing the analogies to major historical schisms too far. For example, as he cheerfully acknowledged, the “purges” here don’t actually involve executing anyone
You can read what most of the principals mentioned have to say for themselves by following links on my “PSF Topics” blog page. David is not misrepresenting them.
Brian Curtin has become pretty much invisible, though.
Raymond Hettinger is still active in core development, but resigned his Fellow status in 2020, and has indeed withdrawn almost entirely from PSF involvement. David is correct about that Raymond believed even in 2020 that that the PSF had become hostile and unwelcoming, at least to people 'like him". I know that because Raymond is also a long-time friend of mine. Raymond didn’t make a public show of dropping Fellow status, so you wouldn’t know why unless you asked him.
This doesn’t seem believable. Does anyone know what Guido van Rossum could have said to warrant being censored? Who is even authorized to decide to suppress a post by Python’s greatest benefactor of all time?
You can find the full story (including more than has ever been said about it on Discourse) linked to from the “Dsyfunction” section of my blog’s “PSF Topics” page.
David didn’t know all of that when he gave this talk. Even I didn’t until this weekend.
Everyone, everywhere, in dire circumstances, we wish for your safety.
EDIT (November 27, 2024):
Subsequent to the posting of the above, the original source of the anonymous quote was removed, for good reason, therefore the context of that quote may no longer be clear. You may find that context described in post 21 of this discussion, which occurs later in sequence than this post. Given that information, let us all remember when using terms that describe plight, that in more than one part of the world, some people find themselves in truly dire circumstances.
To be clear, any Discourse post can at any time be hidden by community flags, if sufficient numbers (which may be no more than 1, depending on various factors) of users choose to flag a post. There is no requirement that the flags come from any position of authority, or even necessarily from users who are allowed to post to a restricted forum, but can only be undone by moderator action. This is a necessary feature of Discourse to allow objectively harmful (think links to viruses, etc.) posts to be quickly hidden to prevent widespread harm, but can be abused. Note, though, that those who cry “wolf” can lose their ability to flag posts, or at least have the weight of their flagging drastically reduced.
So I’ve moderated on other online communities before. This comes from that perspective.
During times of turmoil, a few things are true–
First, people are more likely to be reactive to things that are otherwise benign. That includes having overly emotional replies, and also flagging more things to try and address stuff before emotional replies start. This will, in many systems, trip functions to remove things in question because moderators can’t be present 24/7, and it lets the community help keep a volatile situation from bubbling over.
Second, many times it’s smart to remove things based on the context of the Time they are made in. A fine enough comment in abstraction can be just a little too needling and inviting of increasingly escalating replies. Being aware of the state of the community overall is really important when making decisions.
And third, sometimes things need to be removed to take a breather for the mods before they can assess the situation and take a full look.
In this case it was the first mechanism that took place, but there’s a wide breadth of reasons that can motivate removing comments.
[NOTE]
This is a kind of repost. I tried to hide the identity of who I was repying to by editing the quote tag in Markdown to remove the link to the original. Which did what I expected (left no clue in the body of my reply), but I didn’t notice that there was still a link retained by Discourse, showing up in a decoration at the top right of the area outside the post body. That displayed the user’s Discourse handle.
That decoration remained even after the OP deleted their post. And it still remained after a mod stepped in to delete their post “for real”. And it still showed up after I deleted my post. It finally went away when a mod deleted my post “for real” too.
Nothing sinister about any of this. A mod & I cooperated on the common goal of hiding the OP’s identity, which is what the OP wanted too.
Anyway, while it may never come up again, that’s the trick: if you don’t want any trace of who you’re replying to, don’t use any of Discourse’s helpful “reply” features to begin with. Start a reply “by hand” from scratch.
[/NOTE]
And for that reason I’m not quoting you in a way that leaves your online identity visible. You may or may not want to delete your post sooner, before the Internet Wayback Machine captures it. You should also be aware of that copies of your msg may also have been emailed to Discourse users (for example, the system sent a copy to my email address).
David would agree. @Lucas_Malor didn’t copy the entire speech, just the part he cared about. Not long after:
He’s very aware of that he’s making a limited analogy, not at all claiming equivalence.
If that’s not enough for you, please email him yourself. I have enough of a job just trying to explain myself I don’t have David’s deep academic background in this area, and would not myself have used these words. But I understand why he did, and believe he made it very clear how comparatively trivial Python schisms are.
The discussion that followed of how flagging works is fine, but misses the actual mystery here: not why the post was hidden to begin with, but why it remained hidden. And that’s quite a tale of its own. I won’t repeat it all here. If you care, you can find the details in my blog. Look for the “Matthew Dixon Cowles” link in the “Dysfunction” section of my “PSF Topics” page.
Do note that moderators are in fact human and are able to make mistakes, like taking a weekend off or choosing not to be the one to take unilateral action.