The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Also, he is the author of the famous TimSort algorithm: https://en.wikipedia.org/wiki/Timsort* https://news.ycombinator.com/item?id=41212788 ["The Shameful Defenestration of Tim" by Chris McDonough]
* https://news.ycombinator.com/item?id=41515766 ["A Mess in the Python Community", lwn.net]
* https://news.ycombinator.com/item?id=41385546 ["A post by Guido van Rossum removed for violating Python community guidelines"]
* https://news.ycombinator.com/item?id=41314393 ["Calling for a Vote of No Confidence in the Python Steering Council"]
* https://news.ycombinator.com/item?id=41234180 ["Core Python developer suspended for three months"]
* https://news.ycombinator.com/item?id=41187470 ["Three month suspension for Python core developer"]
Can anyone point me to a detailed response from the other side? (Beyond their initial announcement, I mean.)
Experience tells me to hear both sides of a story before buying a pitchfork.
I have seen commentary by a few of them on social media - mostly, per my impression, vague expressions of annoyance at the stress supposedly caused by Code of Conduct enforcement (note that in the post announcing my ban, Mr. Langa disclosed an unusually high recent volume of forum flags: approximately one per moderator per day) and at people having opinions differing from their own.
Edit: since I was looking things up to assemble the above links - I notice that Ethan Furman has made a further complaint about Mr. Peters' treatment in absentia: https://discuss.python.org/t/soliciting-feedback-from-a-susp...
https://chrismcdonough.substack.com/p/the-shameful-defenestr...
And this one struck me:
> > "Dismissing unacceptable behavior of others as a “neurodivergent” trait"
> In the context of the bylayws change discussions, Tim detailed his relationship with a prickly core developer who was maniacal about a particular bit of stdlib code, whom he considered neurodivergent, and lamented that that person had been removed, because their code was top-notch. He then started a thread questioning if Python was accepting of such people. The accusation is accurate, except in the characterization of "unacceptable" perhaps. The characterizations certainly were not unacceptable to me.
Apart from my personal feelings about this, which are obviously 100% aligned with Toms, I find this particular case a bit bizarre. Where I work for, we have neurodiversity training, celebrate the neurodiversity day, and in general respect the topic a lot, making it clear that neurodiverse people actually belong here. So the actions of these folks seem at odd with something I consider the modern norm, that's really weird.
Might I ask where this is? It's encouraging to hear, but it sounds to me like a relative rarity. Certainly the Python Code of Conduct (https://policies.python.org/python.org/code-of-conduct/), and the main Python website diversity statement (https://www.python.org/community/diversity/), are not the only places where I've seen a long list of "protected classes" which omits neurotype; and in over a decade of trying to have reasoned arguments (...) online with the champions of such policies, I have been very strongly left with the impression that, at best they are unaware of neurodiversity issues and at worst see "neurodivergence" as a way for nerds to make a fraudulent claim for sympathy.
To me, that tone carries across strongly in the point you highlight, as well as in the responses in Mr. Peters' thread (https://discuss.python.org/t/how-can-we-better-support-neuro...). (Note in particular Mr. Langa's use of the "missing stair" analogy - one which has been seen in several prior discussions in the Python community, coming from similarly politically aligned members. I don't know why, but the fact that this terminology was originally used to describe sexual predators in the BDSM community doesn't seem to bother any of them.)
A large UK-based company, tech department. And it wasn't just lip service - we had meetings with people sharing their personal experiences, including CTO and others. So I assumed it is (becoming) a norm.
He had playful and witty style backed by deep technical acumen. His little nudges provided the team with quiet leadership and direction over a quarter century.
One core developer (the mathematician) recently quit over this and said, "he was the best of us".
Sorry, who exactly are you referring to?
A moderator's job description involves outlining fault in other people's words and occasionally punishing them for it. That sort of thing is tedious to most people, but thrilling to some very emotionally unhealthy ones. Few people who want the job can be trusted with the power.
I fear the python steering council has been lost to people who don't have the maturity to talk through problems in a healthy way.
The same can't be said for the Code of Conduct Work Group, or most other Work Groups, or for Discourse forum moderators.
I actually can't find any documentation anywhere of the election process for the PSF Board of Directors, or anything about how Officers are selected. Not on psf.python.org, not on the PSF blog, not on Mr. Willamson's blog (as a former board member whose blog was recently shared on HN); not as a PEP (that only covers the Steering Council). All I know is that a few new members are elected annually, but not how long their terms are.
(But I can easily find a diversity statement.)
FWIW diversity is important regardless of their website quality. Perfection is the enemy of improvement, IMHO.
The Shameful Defenestration of Tim
https://chrismcdonough.substack.com/p/the-shameful-defenestr...
Edit - I should clarify that my main concern was the way that all of his alleged offences were collectively summarised into one long list of offences, making them all seem worse collectively. But as Chris McDonough explained in his post, each "offence" was either trivial in nature, or completely taken out of context and made to sound much worse than what it was.
The decentralized nature of software means that the people, Guido Van, or Tim Peters, hold the power, not some legal entity and its bureocratic bylaws.
BTW, is it weird to anyone else that Microsoft was allowed to hire the person who runs Python as a "Python Community Advocate" only a month after they took office...? Seems like something that the web working groups would cry foul over; maybe Python isn't to that point yet, b/c there hasn't been a Python browser war? Anyway;
Membership is by far, to me, the most important work group among the bunch. From this past year, I've seen a disconnect between the community having valid concerns and getting them across to the "powers that be" to have them enacted. From the way I hear people talk about the PSF board, it feels like people see the board as a group of people far away from the membership that may not understand what everyone else wants in their community-driven organization. For what it's worth, these are common growing pains of any organization going from medium to large, or small to medium (depending on your vantage the PSF could be either; but regardless is that we are growing along with the language).
I can say confidently that is not the case that we are far away from the desires of the membership. We are boots on the ground organizers who love the community and challenge our own beliefs constantly in our meetings. Clearly, we're not sharing the effort we take to learn about our membership and how much we debate in our meetings to reach our goal of voting consensus in our board resolutions; a goal we reach more often than not.
Without a solid conversation with our membership, we are reliant upon the urgency and rhetoric to get across a point, which leaves a lot to be desired to say the least. And the membership is left inferring our opinions from a one-line resolution (although our communications team on staff are helping with this). In points where the membership on opposite sides would otherwise agree, we lose the plot with hyperbole, metaphors and analogies. The last thing I will do is tone police, period. The goal is to make it easier to communicate between the board, staff and membership so we don't feel the need to use strong rhetoric. I have faith that if other methods to communicate are felt to be abundantly available and effective, they will be employed before we get to the harsh and derisive communications.
https://dawnwages.info/bajoran-engineer/2024/08/09/2024-pyth...:shrug: That clearly reads as good faith and well reasoned to me, so I have faith it'll all get sorted -- I'm sure their office hours on the 8th this month will be quite lively! Though I'm not sure they'll ever get Mr. Peters back fully. Some of these moderating decisions have been ridiculous, namely banning someone for life for "questioning moderating decisions" and banning this fella for 3 months (?) when "there was no singular incident or sentence that comprised an offense" (??), but the post above gives me hope for a course correct there, and hope for the org in general.
TIL they hand out $600K+ annually for Python development, that's incredible! Maybe Microsoft should kick in a mil or two...
ETA: this is the fabled code of conduct, which I think is objectively reasonable. That is, of course, until you get to the last forbidden behavior:
Other conduct that is inappropriate for a professional audience including people of many different backgrounds
https://policies.python.org/python.org/code-of-conduct/ I appreciate the attempt to cover their bases, but in an org that is seemingly so proud of their democratic processes, that's a classic opening for judicial overreach.Granted, Ms. Wages is the chair. But I would have said that Deb Nicholson[0] - as secretary[1], executive director[1], board member[1], (presumably paid[2]) staff member[3], member of three out of four currently active board committees[1], and Code of Conduct Work Group member[4] - is more influential in these matters.
> That clearly reads as good faith and well reasoned to me,
It doesn't seem to me that it's particularly relevant to Mr. Peters' case - except perhaps the "The last thing I will do is tone police, period." part, which... I would say is definitely not in agreement with the publicly available evidence.
>TIL they hand out $600K+ annually for Python development, that's incredible!
"They" who? Do you mean the budget for grants? A large fraction of that appears to be travel grants so that underprivileged/international guests can attend PyCon.
[0]: https://x.com/baconandcoconut
[1]: https://www.python.org/psf/board/
[2]: https://simonwillison.net/2024/Sep/18/board-of-the-python-so...
[3]: https://www.python.org/psf/records/staff/
[4]: https://www.python.org/psf/workgroups/#code-of-conduct-work-...
I absolutely agree that it's not necessarily directly relevant, but I feel like the undercurrent is clear: people are mad that Python leadership has caught The Woke Mind Virus(tm), and is out of touch. This all seems to have bubbled forth from that, and as is predictable for political discussions on the internet, it's gotten heated. She also shouts out "Strive for healthy debate and consensus" as her top priority as chair in the achievements PDF linked by Simon, which seems like a strong sign that she's trying to improve all this.
Re:grants, yeah I wonder what the final breakdown is, I can't really find it. They do have "Developers in Residence" now, which is presumably old news to you/y'all but awfully cool to me. The sooner we end this era of "the entire world runs on the good will of bored nerds volunteering their time", the better.