> If a contributor wishes to poke the edges of the policy to try and find the line of acceptable AI/LLM usage in the project, they are probably not the kind of contributor they want
I think this is where it becomes a question of whether it’s an ideological rejection of LLMs or a technical/practical rejection of LLMs.
A project that is rejecting contributions where LLMs are used purely because of the “we can’t handle the amount of newbie generated inbound slop” would, in theory at least, have minimal issue where the contribution is, in fact, indistinguishable from human-only contribution. “This person has put together a solid clean patch that solves a real problem” sounds like a great kind of contributor to have.
On the other hand, a project that rejects LLM-assisted patches because of ideology or social or environmental concerns might actually hate a contributor like this even more than a random drive-by slop contributor.
critical point! I'd like to at least see the nature of the rejection spelled out in the policy.
Am I offending you personally by having used AI at all? Or is my contribution just running afoul of your technical judgement?
In order to get to "Is AI coding useful?" you need to personally work through "Is AI even acceptable?" - socially, environmentally, legally, biologically, militarily, technically, philosophically - I can absolutely respect those who say "hell no" to any of it!
- You can say "hell no" to contribution with any AI, due ethical concerns. Say it with your voice, not soft ban language. State your ethical objections.
- Much different to saying "hell no" to any AI contributions because of quality concerns; you know what's best for quality, security, bugs, etc.
- Much different still to saying "it depends" based on the nature of the contribution.
- Much different still to saying "yolo claude can commit to main".
They are all valid viewpoints. But deserve significantly different AI policies. Don't make me guess.
I think this is where it becomes a question of whether it’s an ideological rejection of LLMs or a technical/practical rejection of LLMs.
A project that is rejecting contributions where LLMs are used purely because of the “we can’t handle the amount of newbie generated inbound slop” would, in theory at least, have minimal issue where the contribution is, in fact, indistinguishable from human-only contribution. “This person has put together a solid clean patch that solves a real problem” sounds like a great kind of contributor to have.
On the other hand, a project that rejects LLM-assisted patches because of ideology or social or environmental concerns might actually hate a contributor like this even more than a random drive-by slop contributor.