Repository navigation
Conversation
Pull requests are closed right away when their description reads as AI-written. Translated text by non-native speakers often reads the same way, and pull requests opened before the policy existed were closed as well. - The ideas and decisions must come from the contributor. AI may help to draft the text if the contributor has read, understood, and edited it, and says so. Translation and grammar help stay exempt. - If a description is not understandable, maintainers ask for a rewrite first and may close after a month without a reply. - Contributors writing in another language may add a translation note. - Pull requests opened before a policy change are asked to adapt. - CONTRIBUTING.md and the agent snippet use the same wording. AI-Assisted-By: Claude Opus 5.5 (xhigh) Signed-off-by: MiMoHo <37556964+MiMoHo@users.noreply.github.com>
|
Hi @MiMoHo Thank a lot for the PR and the referenced ones in this one. I'll check with others at Nextcloud and get back to you. I do think the changes are going into the right direction and I am very sorry for the bad experience the current policy has led to for you. This should not be the case and hasn't been the idea behind the policy. Thank you for your elaborate and thought through responses. |
|
Seconded! Thank you for taking the time. I think this is nice! |
susnux
left a comment
There was a problem hiding this comment.
I am fine with AI use there as well, especially commit messages often are better than no commit message at all, leaving you clueless after years digging git blame why something was changes.
A big problem I see with this is that AI wording is just left without rewording.
This is really hard to read in issue or pull request descriptions.
Meaning the AI style language used by default make people quit reading things, not sure this is enforceable because also badly written human text is not nice 😅
I'm not a native English speaker, and one of my PRs (nextcloud/server#61827) was closed on 23 September with the argument "AI-written description". The footer already disclosed the tool use. After looking at what else was closed that afternoon, I want to suggest a rule change that doesn't cost maintainers more time.
Between 15:27 and 15:47 UTC, ten PRs in nextcloud/server were closed with the same comment. By the next day, seven of them had been reopened:
Most of them came back within a day, so closing mostly added a round trip and some frustration on both sides. Asking for a rewrite first would have ended in the same place. Not everyone comes back, though: nextcloud/server#62490 was its author's first PR in server and is still closed. In a survey by Steinmacher et al. (ICSE 2018), around 30% of developers whose PRs had not been accepted said this demotivated them or kept them from opening another one.
I understand why the rule exists. By my rough count, people (not bots) opened 1009 PRs in server between June and August this year, compared to 635 in the same months of 2025. Nobody wants to spend time on junk text, but text written with AI help should be accepted when the author has read, understood, and edited it before publishing.
Translated and generated text are hard to tell apart. Liang et al. (Patterns, 2023) tested seven GPT detectors, and on average they flagged 61% of essays by non-native English writers as AI-generated. Jakesch et al. (PNAS, 2023) found that people judge AI text by cues that don't hold up.
Other projects handle this in a similar way. @llvm asks maintainers to first request changes with a standard reply, and @curl recommends mentioning translation tools, so that maintainers don't wrongly dismiss translated text as AI slop.
What this PR changes:
Some objections I expect:
nextcloud/server has its own copies of these rules in .github/CONTRIBUTING.md and AGENTS.md which is why I suggest @AndyScherzinger to link to this repository.
Related open PRs, each of which can be merged on its own:
AI-Assisted-By:with the model and reasoning effort instead of the agent name.🤖 AI (if applicable)
AI-Assisted-By: Claude Opus 5.5 (xhigh)
The model helped me collect the cases and sources and drafted the diff. I reviewed and edited everything. The commit carries the same line as a trailer.