From the article:
The policy summarizes itself this way:
It’s fine to use LLMs to answer questions, analyze, distill, refine, check, suggest, review. But not to create.
Uses in the first category are allowed, sometimes requiring disclosure. Uses in the second category are heavily restricted.
Seems pretty level-headed to me.
Interesting policy… I suspect it falls apart in the details though. Like, there are plenty of creative elements in responding to questions (and any of the other categories). That mean there will be lots of weird edge cases that are hard to adjudicate. And those GenAI components of “non-creative” categories will have ripple effects into the broader project and community (as they are everywhere, so maybe not that important for a.policy to grapple with, IDK).
That mean there will be lots of weird edge cases that are hard to adjudicate.
Humans a pretty decent at that. Source: Of all things, moderation, where even if you have nice rules written up, it feels like half the reports are edge cases and you just have to make a call.
I suspect they’ll be able to handle making those calls. Get some wrong, get most right, that’s probably good enough.
Yeah in theory I could have a model suggest code through a PR and then review said PR and just be the one to hit squash and merge and it technically only suggested and reviewed and I “created” the PR
But if you actually described this methodology in your PR, then it’d no doubt be closed immediately, based on the spirit of the rules rather than the exact letter of the rules.
Rules like these ultimately presuppose that the contributor is acting in good faith. Because otherwise the contributor could just lie about using an LLM. They don’t need to engage in rules-lawyering or jump through hoops to circumvent the rules
Rules like these ultimately presuppose that the contributor is acting in good faith.
All of civilization is based on that.
Yes, and even the less honest contributor would need to manually review and modify most generated blocks to pass a sniff test. The same has always been true of “found” source code.
That is, even contributors who read the policy as “don’t get caught” still have to meet the same de facto standards, which to a maintainer is a satisfactory result.
Example: I block illegal websites on my network, not because I care whether my roommates or their friends access illegal websites, but to require they practice proper hygiene (i.e., they need a VPN and encrypted DNS to circumvent) so we don’t amass love letters from our ISP.
Projects that don’t prohibit LLM-generated code expose themselves to greater liabilities than mere low-quality contributions.
Agreed… although this still leaves the horrible environmental effects and losing any kind of ownership ofethe code
But solely in terms of using “ai” as a tool, it is a sensible approach
nah, it’s a dumb policy which will be impossible to maintain in the years to come.
Maybe in the years to come but the shit code flood gates are open now when the tech isn’t good enough for the job.
What counts as creating? How can one refine without creating?
With “refine”, I would guess they’re talking about refining a task, so breaking it down into smaller, more concrete/actionable tasks.
Because that’s usually meant in dev lingo, and because the other possible meaning of improving already-written code/docs is kind of already covered by “review”.





