perrygeo
Joined 12 years ago
Joined 12 years ago
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'll call my phenomenon "management driven development" or MDD - a project that runs on hierarchical control, where management decisions are made on the hour and no one takes accountability.
Sadly, AI vibe coding is far worse. Following your manager's vibes, there was at least some semblance of accountability. Now when an AI vibe codes something, I'm not even sure whose ideas we're vibing on, or if they belong to anyone.
This is a perfect storm for enshittification. No one is accountable for the quality of what was delivered, only that it was delivered. As long as the latest fire is out, all is well. Right?
This might be the key point. There's legal ambiguity surrounding these licenses. Large companies with legal resources can draw their own line in the sand to protect themselves.
But small companies don't have the resources or the bandwidth to address the ambiguity. So a blanket ban (Zero AGPL and GPL for Internal or SAAS, Linux generally gets a pass) is rational.
Likewise, I see small dev shops without the resources to address anti-AI policy ambiguity are going to defer contributions until further notice.
If you're serious about an anti-AI policy, you owe the world a definition. It's not hard. You are making a strong statement - an outright ban. Make an equally strong case for what is and is not in scope. You must get in the weeds, since it is you yourself that is banning the weeds.
To quote Gustave Flaubert: “The art of writing is the art of discovering what you believe.” Failing to write the definition is a strong signal that no one thought through the problem.
Put simply, if you're so convinced that AI contributions will ruin your project, you owe the world a full and complete definition of what "AI contribution" means.
This reminds me of the legal ambiguity behind the GPL and its definition of "derivative work". A careful analysis of the GPL shows that using GPL software doesn't trigger any other clauses. But distribution does. What is the legal definition of distribution? Who knows!?! That's why most software companies have a partial (edit) ban on GPL software. Even companies that are willing to comply with the GPL, they cannot feasibly come into compliance with such a vague definition. So it's safer not to engage.
Same will happen with anti-AI policies. Even contributors who are fully willing to do things "by hand" will start avoiding these projects. No way to know if you'll accidentally run afoul of someone's AI radar. There's nothing to protect enforcement from becoming a witch hunt.
Code as an artifact is different in that it can be given agency, ie turned into software. The output of that software can be valuable despite the code being unintelligible to the vast majority of people. Very few people have read e.g. the source code for the TLS encyrption algorithms, yet billions of people's lives depend on it.
LLMs are pattern matching machines. Your code is the base template that will determine all patterns moving forward. No amount of context engineering or prompting can save your code from itself.
Pragmatically, it suggests we need a much greater investment in code quality, and much less hand-wringing over AI tooling.