My experience of using AI is it can save you a LOT of work, but you need to supervise it REALLY closely and give it sufficient code context for it to work properly. It only knows what it knows and if it doesn’t know it will make shit up. But if you do use it within its limits it will identify bugs, generate tests, generate a lot of boiler plate and help you be more productive.
Being open source is not a reason to avoid it. However AI does produce slop and unattended it can produce execrable patches which are practically incoherent to anyone used to human coding patterns. So there should be rules about coding style, patch / merge / pull requests that diffs are self evident, concise and obvious. Most AIs will read a guidance file so this stuff can be defined. And if a person uses AI to generate a patch they should review this patch first before daring anyone else to look at it.
Yes, personally I don’t have a huge problem if someone uses an LLM, that’s been trained only on opensource code, on a project, but that someone has to put their name to the code, documentation, tests or anything elsr produced, and take full responsibility for it. As in, they suffer the same consequences if it causes an issue as if they’d hand coded it, with particular attention paid to whether the result is maintainable, and whether it breaches any licences.
Of course, most LLMs have, by now, injested a lot of proprietary code that people have mindlessly sent in queries, rendering all of their output tainted.
My experience of using AI is it can save you a LOT of work, but you need to supervise it REALLY closely and give it sufficient code context for it to work properly. It only knows what it knows and if it doesn’t know it will make shit up. But if you do use it within its limits it will identify bugs, generate tests, generate a lot of boiler plate and help you be more productive.
Being open source is not a reason to avoid it. However AI does produce slop and unattended it can produce execrable patches which are practically incoherent to anyone used to human coding patterns. So there should be rules about coding style, patch / merge / pull requests that diffs are self evident, concise and obvious. Most AIs will read a guidance file so this stuff can be defined. And if a person uses AI to generate a patch they should review this patch first before daring anyone else to look at it.
Yes, personally I don’t have a huge problem if someone uses an LLM, that’s been trained only on opensource code, on a project, but that someone has to put their name to the code, documentation, tests or anything elsr produced, and take full responsibility for it. As in, they suffer the same consequences if it causes an issue as if they’d hand coded it, with particular attention paid to whether the result is maintainable, and whether it breaches any licences.
Of course, most LLMs have, by now, injested a lot of proprietary code that people have mindlessly sent in queries, rendering all of their output tainted.