Agreed. I have a sense that, eventually, development communities will figure out etiquette and policies to govern LLM usage. But how do you enforce that kind of policy? Right now, it's essentially a judgement call by the maintainers. It's hard to catch sneaky LLM usage.
On the other hand, I think there are objectively good ways to use LLMs for software:
- High-level design and planning
- Technical Research (although this tends towards the most popular tech)
- POCs & rapid prototyping
- "Textbook" solutions
- TDD Red/Green development (where the LLM generates failing tests based on the high-level spec, and the programmer writes the implementation)