Today I came across these walls of text:
- pnpmConfigHook: strip pnpm install state from outputs by ak2k · Pull Request #556271 · NixOS/nixpkgs · GitHub
- auto-patchelf,autoPatchelfHook: index libraries in a deterministic order by ak2k · Pull Request #556272 · NixOS/nixpkgs · GitHub
The first PR description is 804 words according to https://wordcounter.net . The second is 660. The commit messages total 550 and 1027 words respectively. The PRs have single comments that are over 150 words long.
I don’t think it’s a wild take to assume that this contributor has not read or understood either of these PRs in their entirety. To be honest, I doubt they’ve read the code. If someone left a review, I think the review would go straight to the LLM and the response would be fed back into the GitHub UI.
While these PRs may be in compliance with the letter of our AI/Automation Policy given that there’s an Assisted-by footer, I strongly believe that they are in violation of the spirit of the policy and are inherently extractive contributions.
Obviously, the community is very divided on the current AI policy. There are folks that would prefer a total ban, folks that want a middle ground of sorts (likely inline with our current policy), and I’m sure there are some folks that would prefer a free for all. Given that the Steering Committee may hold a referendum on the matter soon, I don’t think this is the place to have this discussion.
The discussion I would like to have is banning the usage of any and all LLM-generated output in anything but code. Including, but not limited to: code comments, commit messages, PR titles, PR descriptions, PR comments, responses to reviews, comments on issues, and whatever else. We can amend the current policy, so please, let’s do it. We’re not beholden to the current for all of eternity.
Not only does this prevent situations like the above two PRs (which I imagine will probably never be reviewed or merged), but it requires that contributors actually understand the code that they are submitting for review and keeps the human in the loop.
LLMs allow for people to submit PRs that they don’t understand, which places the burden of understanding (and all of the effort) exclusively on the side of the reviewer. By definition, this is an extractive contribution. This also erodes any and all trust the reviewer has in the contributor or their capabilities.
By requiring that contributors use their own brain and words to write code comments, commits, PR metadata, etc. we can reduce the burden on our reviewers and ensure higher-quality contributions to Nixpkgs.
There are other notable open source projects with similar policies. Namely: