About a year ago I wrote on this blog about how coding with LLMs would not work for me, even if there were no ethical or environmental concerns preventing me to use them. I'm not going to repeat the arguments I made that time because my views on the subject haven' t changed. What has changed, however, is that the number of contributions I receive on my open source projects has gone up, and nearly all are now made with LLMs.
The other day I had a very depressing thought regarding this. All these people who submit drive-by pull requests to my projects are pushing me to spend more and more of my time reviewing and merging code that was extruded by machines. Cory Doctorow refers to people that perform this function as reverse centaurs. He calls these "frail and vulnerable people being puppeteered by uncaring, relentless machines." Ouch!
Am I a reverse centaur now? Is my new purpose as a seasoned software engineer and open source developer to spend my days reviewing LLM code, in spite of having decided that I do not need nor want this technology myself? As you can guess from the title, I'm never going to become a reverse centaur. Let me tell you how I resist the forces that want me to be one.
No more unsolicited pull requests
Back in pre-LLM days, receiving an unexpected pull request (PR) from a fellow coder was a source of excitement and pride. It meant that some random person decided it was worthwhile to invest their time and effort to improve a project of mine and share the result, not just with me but with all of its users.
Today, an unsolicited PR is a red flag. Too many people lazily prompt an LLM code generation tool and ask it to alter the behavior of one of my open source projects to meet their specific needs, without any care or consideration for what is being changed or how it might affect other users. Sometimes these changes make sense and improve the project, but often enough they do not. The submitters rarely care though, they just slap a long LLM generated description and send the PR over, leaving me with the task of figuring out if the change makes any sense at all or is pure slop.
I have decided that I have more important things to do with my life than to spend my days reviewing code produced by LLMs. If you want to contribute to one of my projects, I expect you to be the direct contributor, and to have a genuine interest in improving my project.
The contribution guidelines I include in all my open source projects have these instructions for contributors.
If you are interested in contributing a change to this project, please first introduce the change you wish to make to the maintainer in an issue. Pull requests that are submitted without a previous discussion in an issue may be closed at the maintainer's discretion. Once the maintainer accepts your proposed change and allows you to work on it, feel free to submit a pull request.
With this process I get to know the contributor and their proposal before there is a big time investment on either side, so it is a win-win for everyone.
... continue reading