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 The rule is that you have to own your code, legally speaking

I would hope that would result in people owning their code in a moral sense as well, but this isn't a code of ethics

@nedbat It doesn't seem that different from having a policy against "classical" plagiarism. Yeah, a contributor might contrive to get plagiarized code into your codebase anyway; it's probably not even that hard. But it's good to require your contributors not to do that! Enforcement is just hard, that's all.

@nedbat But the classical anti-plagiarism policy wouldn't forbid someone from reading code from somewhere else, nor even writing similar code

If Claude generates an "okayish" patch, and you rewrite it all by hand so it's actually good, no sweat

@nedbat (i am actually gravely disappointed in my profession that we did not roundly reject these tools for reasons unrelated to law or code quality. but that's neither here nor there)
@clayote @nedbat The CLA requires you have the appropriate rights to code you contribute, so if using AI made that untrue then the contributor is the one who's on the hook for signing the CLA.