-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Description
Activity
We don't have a policy at the moment, and I'm confident we have had contributions in the last few days that were either written with the help of AI or managed entirely by AI, without disclosure.
I worry that it will get less obvious soon, as much as I worry that something that wasn't AI is now treated with suspicion.
(My own disclosure: I occasionally ask ChatGPT questions that I can't find through normal search engines, it lies to me at least 50% of the time, and I've asked it to use its memory of our conversations to know to never generate code for me. Other than that, I never use AI for anything and every time new AI features show up in anything I immediately look for the UI to disable them.)
My personal desire for a policy would be "if AI generated any code in a pull request, the PR will be closed without further discussion," but I think that would be considered controversial.
I think a reasonable policy would be:
- AI use should be disclosed in PRs.
- Maintainers will commit to never use AI to generate code in SDL.
- A human will always evaluate pull requests here, never an AI, so all code going in has at least had human guardrails.
- This policy should be revisited every 3 months, as things are rapidly evolving right now.
Discussion welcome here!
My personal desire for a policy would be "if AI generated any code in a pull request, the PR will be closed without further discussion," but I think that would be considered controversial.
This is the policy my project has and it hasn't caused too much controversy, but it does need a firm hand (without treating literally everything with suspicion, as you say), and SDL has a much broader range of contributors so I expect it would play out a little differently here.
Sometimes people read a policy like that and think ahead to possible futures where AI usage means a different thing due to changes in tools, but in that hypothetical situation I'm sure the policy could change to match that future if/when needed.
I'm not sure what is a justification for allowing AI-generated code, rather than outright rejecting it? If contributors know that the project doesn't accept LLM-generated code (it would be explicitly stated in contributing documentation), that should reduce the amount of such code (a lot of contributions like this can come from people who see AI as "just a tool", and don't think a disclosure is needed, but after reading the documentation it should be clearer for them that the project doesn't want such code).
(and if someone doesn't read the documentation for contributing, well, whatever policy is going to be there is not going to stop them from submitting LLM-generated code)
The policy of rejecting code is very much workable, and there are large projects that have such policies, such as QEMU, Servo, LXC, Inkscape, musl, and LÖVE (which does use SDL), with a large list of such projects available at https://noai.starlightnet.work/list.html.
Whatever we end up with, let's document it in AGENTS.md, to nudge AI bots to do the right thing.
My personal desire for a policy would be "if AI generated any code in a pull request, the PR will be closed without further discussion," but I think that would be considered controversial.
I think this, along with forbidding AI-based reviews (Copilot PR Review, Claude PR Review e.t.c), would be the best way to go, regardless of how "controversial" it may seem. This technology is imo way too harmful to be used, at least with current models and legislature.
This is a fairly well made list of reasons as to why I personally want this technology off of this project.
There are many reasons LLM generated code shouldn't be accepted, but the license washing issue alone should be reason enough to automatically reject LLM generated code, and that's not going to change regardless of how good LLMs eventually get
thatcosmonaut commented on Apr 10on Apr 10, 2026
My personal desire for a policy would be "if AI generated any code in a pull request, the PR will be closed without further discussion," but I think that would be considered controversial.
Honestly sounds downright reasonable to me.
I don't even like LLMs but I feel the attached link is insanely biased and honestly performative. Dismissing using entire projects or programming languages because a developer somewhere mentioned they used an LLM for something before?
I was linking to the reasons why LLMs are not good. The section above that was not being referenced and thus you didn't have the need to bring this up due to it being irrelevant to the discussion at hand.
I've tossed up a possible solution in #15353, which is the "no AI at all, period" option, since this turn out to be not as controversial as I expected.
I kept it simple, I didn't want to get into a whole essay on the topic, but any tweaks are welcome, and of course, nothing is settled until Sam voices an opinion on this topic.
I feel the attached link is insanely biased and honestly performative
yeah i mean that's fair it is, it's biased against code quality going down the drain, supporting slave labor, billionaires and billionaire companies, and Idiocracy being not a comedy movie but the reality.
Let's not all get fixated on whether the external link is performative or not, please.
I've tossed up a possible solution in #15353, which is the "no AI at all, period" option, since this turn out to be not as controversial as I expected.
Looks great! Hoping it goes through without being weakened/reduced!
Given that the source of code generated by AI is unknown, we can't accept it under the Zlib license. I think we should be clear about that, but I also recognize that AI agent assisted coding is becoming common, if not the norm. I'll add specific suggestions to #15353.
8 remaining items
Someone mentioned that it didn't work until they added a CLAUDE.md that tells it to look at AGENTS.md, others told me AGENTS.md stopped Claude (and Copilot) dead. I wonder if it's a version thing and it'll all catch up eventually, or if it matters if it was a new project, etc.
Looks great! Hoping it goes through without being weakened/reduced!
Hopefully you're happy with the final outcome on this one. Thanks for formally requesting this; we've been tapdancing around the issue for awhile now.
I am, thank you for doing this, I appreciate it! :3
Weak take
What you mean is “banning obvious llm commits”
It is trivial to ask your LLM to “humanise your code” with typos and terse commit messages.
Someone mentioned that it didn't work until they added a CLAUDE.md that tells it to look at AGENTS.md, others told me AGENTS.md stopped Claude (and Copilot) dead.
Claude does not read AGENTS.md (unless something changed very recently that I'm unaware of). If symlinks are acceptable in the project, a CLAUDE.md symlink that points at AGENTS.md will also work.
@rebasecase Don't be rude.
Weak take
What you mean is “banning obvious llm commits”
It is trivial to ask your LLM to “humanise your code” with typos and terse commit messages.
No, I always meant a ban of LLMs due to its many issues, primarily ethical and copyright issues.
@rebasecase To give a more traditional example that people are used to: stealing code manually from GPL projects without attribution is banned too, yet also can't be fully enforced. Yet banning that is widely accepted.
A clear stance, even if not 100% enforceable, will possibly...
- put more of the moral responsibility of a violation on the contributor,
- reduce the incentive to ignore the clear stance and therefore likely reduce the amoutn of people who submit unwanted contributions,
- generally raise visibility for calling out problematic behavior which can be important for societal discourse as a whole.
As another example, even though murder is banned, it cannot be fully prevented either.
Honestly great read. it's great to see the FOSS community never changes with their endless licensing squabbles.
Posturing and white knighting aside, how will this even be enforced? I get it can't be 100% enforceable, but how is this even 1% enforceable?
You going to start rejecting things at random? Will PRs require a video of the contribution to prove no AI was used?
Genuinely curious.
It should be as enforceable as the ban on manually copying code without attribution is. Are you suggesting that should be unbanned? If not, then I don't quite get the different standards. I would be curious to hear more.
Okay, I can tell the discourse quality is clearly going to plummet here, as strangers start wandering in to pick fights, so I'm locking this issue, too.
I've noticed the use of Copilot within a few reviews (13277 and 12730) which concerns me given the vast amount of issues associated with this technology (ethical, environmental, copyright, health, etc) so I was hoping a policy could be put in place to forbid this technology.
I have a project using SDL and I don't want to move away due to this project being tainted☹️