I've criticized — a *lot* — Python and the Python ecosystem writ large for its insufficient opposition to and even outright adoption of AI.

But I want to make one thing absolutely clear as I do so: I don't recommend ditching Python, nor do I endorse or co-sign any calls to do so. I make the critique *because* I don't think we should ditch Python, but because Python is an amazing tool with a community that has repeatedly shown a willingness to do better tomorrow than yesterday.

For example, I don't call out C# in the same way, because I don't expect any better from a project that's 40% Microsoft-owned. Criticizing C# doesn't have any potential for positive improvement.

Python has improved in the past, has the right attitude and values needed to improve now, and has an opportunity to do better right now.

It won't be easy, given the immense funding tied up with AI strings, and given how much the floor has fallen out on funding more generally. But I believe in Python.

So, again, if you're in a position of relative power or influence in the Python world, and you're not already doing so, please help Python oppose AI in every possible way.

AI is fashtech, AI eats open source, AI is a climate disaster, and AI is an automated web-scale scab. None of those are compatible with Python continuing to exist as a flourishing programming language and surrounding community that act in the interest of public commons.

@xgranade I'm far less influential than I once was, but yeah, I'm not bending to AI. Fuck that shit.
@xgranade What does Python opposing AI look like to you?

@JigenD A few things, though not an exhaustive list:

- Reject AI-extruded PRs, full stop. Yes, people will lie, some will sneak in. But that's not a reason to not even try.
- Don't actively solicit pro-AI talks at Python events, e.g. this year's PyCon AI track.
- Bring essential tooling or components thereof in-house to prevent AI companies from buying said tooling out.
- Elect PSF board members, etc. who are opposed to AI proliferation.

@JigenD Some of those are for core devs, some are for community members, and everything in between. My critique is of the Python ecosystem as a whole — it should be better than the baseline set by other language communities, and we know from PSF rejecting the $1.5M grant over anti-DEI strings that the Python community *can* be better than baseline.

That is an all-hands-on-deck imperative that every part of the ecosystem and community can help out with.

@JigenD E.g. for individual high-profile projects that don't fall under the PSF's purview, strong anti-AI policies help normalize the idea that it is good and desirable to fight back. Auxiliary Python events that aren't hosted by the PSF should refuse talks that glorify AI, helping to normalize that boosterism is not OK.

Agreed that if a PR is straight from an AI that's a good line to not cross. At least if it's obfuscated then it's more likely to be human authored at the very least.

Stopping from being bought out is super important too. These make sense.

@xgranade i do what I can. I i chose not to vote for any candidate whose candidacy statement focused on llms as the future of Python. I've still not used a llm code assistant by choice. And ppb and dykes are all human-made.
@pathunstrom That's awesome, and thank you for being awesome! ♥
@xgranade @pathunstrom you can add Teahouse to that, although I will confess I have not done an extensive audit of its many, many dependencies.
@astraluma @pathunstrom That's so incredibly difficult. Python itself is no longer AI-free (to be fair, the AI code is still an extremely small minority), so anything in Python at all cannot have an AI-free dependency chain without locking interpreter versions.

@xgranade @pathunstrom yup, but I know some of our vendors are pretty AI-happy.

I have trust in the judgement of some of our FOSS, but not all of it.

And I'm sure chardet is somewhere in the transitive dependencies -_-.

@astraluma @pathunstrom I'm working on getting an alternative going, but yeah, doesn't help with transitive dependencies unless you can fork and patch every single dependent of chardet.

https://codeberg.org/rereading/pyreading/src/branch/main/charminder

pyreading

Python packages used by Arcalibre

Codeberg.org
@xgranade @pathunstrom awww i definitely would have called it detchord.
@astraluma @pathunstrom Oh, that's a very good name, too. Still, @crazy4pi314 loves Charmander, so I had to go with the pun.