The AI hype-cyclone is bad, but so is the anti-AI witch hunt. Commits co-authored by Claude do not mean that a project has "abandoned engineering as a serious endeavor"

Would we say that accepting contributions from new developers means we've "abandoned engineering as a serious endeavor"? No.

Claude can write wrong code. New contributors can write wrong code. What matters is what you do with that code after it's been written.

@nedbat Strictly speaking, that's true; and, I think the fact of Claude being attributed as the developer of some code speaks poorly of the effort of the developers involved.

Take the attrs library's AI policy, for instance:

Every contribution has to be backed by a human who unequivocally owns the copyright for all changes. No LLM bots in Co-authored-by:s.

That seems wise! If you're not so confident in the code that you'd type it with your own fingers, you're not confident enough to commit it.

I wish CPython would adopt that, too.

@clayote "No LLM bots in Co-authored-by:s." Does this mean if Claude wrote some of the code you don't want it noted in the commit?
@nedbat I want the author to take the fall, if it turns out to be uncopyrightable
@clayote There's a person who is the author of the commit. I don't understand the requirement to not mention an LLM in a "Co-author" line.
@nedbat It could be used to argue in court that the code isn't copyrightable, and therefore its license is unenforceable
@clayote Seems like then the rule is, "You must not disclose that you did something to put the license at risk"? I feel like I'm still not understanding. I would understand if the intent of the rule was, "You must not use an LLM to create contributions."

@nedbat @clayote that's impossible to enforce and I honestly don't want to. to each their own. the only things I can and will enforce are a) is the contribution good? and b) does it _look_ – technically and legally – as if the contribution is coming 100% from a human? I'm sure there's gonna be a ton a litigation around this stuff so I reckon it's better to be careful. I will sit out the culture war part of this.

https://en.wikipedia.org/wiki/Artificial_intelligence_and_copyright

Artificial intelligence and copyright - Wikipedia

@hynek @nedbat @clayote That makes sense to me. To be honest, I don't understand why people include co-authored by an LLM. What are they implying by doing so? I assume the LLM adds it, and the author simply doesn't remove it. Which makes it feel like unwanted advertising on the part of the LLM company, to me...
@pfmoore @nedbat @clayote That’s exactly what it is and other problems aside I don’t see why my projects should be free billboards for them
@hynek @pfmoore @nedbat @clayote I think stripping out the co-authorship is a good starting point for having a policy.
@brettcannon @hynek @pfmoore @nedbat @clayote If folks allow bots access to their PR branches, the co-author metadata gets added by the squash merge based on the commit history. It *doesn't* get added when folks use LLMs locally without making commits attributed to the bot. "Coauthor" git metadata often doesn't mean much (e.g. GitHub will set it if trivial PR suggestions are accepted), but is sometimes significant (e.g. CPython backport PRs are mostly bot-attributed, with human co-authors)
@ancoghlan @brettcannon @pfmoore @nedbat @clayote which kinda makes it a great brown M&M, doesn't it
@ancoghlan @brettcannon @hynek @pfmoore @nedbat @clayote Claude Code does add that trailer when creating commits locally. (I dunno if that's what you meant)
@ancoghlan @hynek @pfmoore @nedbat @clayote You're right it gets added, but you can always edit the commit message in the squash merge to at least strip out the `Co-Authored-By` line.
@brettcannon @ancoghlan @hynek @nedbat @clayote Only if your project does squash merges...
@hynek @pfmoore @nedbat @clayote It is the new "Sent from my iPhone"
@hynek @pfmoore @nedbat @clayote saw this post this morning and decided to write a pre-commit ad-blocker
https://github.com/tmr232/precommit-ad-blocker