Matthew Weymar <[email protected]> writes: > Of course, I can -- and of course, I did! > > Do you have a preference as to whether people do or do not use an LLM to > write a patch?... If so, I am curious as to why.
First reason is simple - I have been instructed by Emacs maintainers to not accept LLM-written patches. This is because GNU does not yet have an official policy on this. And GNU does not have a policy because the licensing implications of LLM code are not yet clear. So, I currently cannot accept anything that is generated by LLMs. (We are discussing on some ways forward right now on GNU lists, but there is no decision on the topic yet) The second reason is more important. I can clearly see that the patch is ignoring the basic Elisp standards. For example, the \n in the docstrings made me think that you did not review the patch much and just posted it as is after it was generated (I am not sure if that's the case, but that's the impression). If my suspicion is correct, you are missing out on one of the benefits of contributing to libre software - learning. Normally, even if you never saw the Elisp standards documentation, you can follow the example of the rest of Org code and get reasonable code quality, implicitly learning the code style along the way. Third reason is my time. In most cases, it is more efficient for Org mode project to have patches written by interested people - I can quickly review the patches, making sure that the quality is good, and double-checking with the second pair of eyes. That takes less time compared to me writing the same patches myself. There are also patches from less experienced contributors. These patches often take more time on my side compared to if I write them myself. But by reviewing them, I get more people familiar with contribution process and Org codebase. So, we end up growing the number of contributors in the long run and again benefit the whole Org mode project. However, if the patch is simply generated by LLM (especially by inexperienced contributors or inexperienced LLM users), the time I spend reviewing is much harder to justify. Do note that using LLM may be OK (let's forget about copyright issues for a moment). LLMs are pretty good generating boilerplate code to kickstart writing a patch. But using LLM output without changes is generally not the best idea. Unless you really know what you are doing and provide detailed instructions and context, LLMs often suffer from subtle mistakes in the code -- LLM-generated code MUST be reviewed carefully before usage. Sometimes, it is simply faster to write code from scratch compared to reviewing LLM output. I have to say that your patch is an example of bad LLM code. -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>
