* R Chambers <[email protected]> [2026-06-26 08:21]: > Given your policy of prohibiting LLM developed code, I have made variations > on the patches submitted by Przemysław Alexander Kamiński in an effort to > highlight the logical issues with your policy as presented in > https://xlii.space/eng/honesty-gets-emacs-patch-rejected/ > > If you intend to block logic produced by modern tooling indefinitely, this > project can easily become a victim of automated code tainting, which would > prohibit development in certain areas if the policy is to embargo LLM > generated code. It took me 5 minutes of effort to generate these plausible > variations on the fixes proposed by Pzemysław Alexander Kamiński, all of > which if I am to understand correctly can no longer be applied to your > codebase due to the logic's providence.
Here below is my personal opinion on your article: > Honesty gets Emacs patch rejected Well, let me tell you, honesty is not the problem here. The problem is that we are trying to protect software freedom and we need to make sure that every contribution is legally sound. It is not about punishing honesty, it is about making sure that we know what we are accepting. You said it yourself - you could have hidden it, but you did not. That is good. That is what we expect from contributors. But just because you are honest does not mean we should lower our standards or ignore the policy. The truth is, we have to be careful. There are many questions about LLM contributions that are not yet settled. We have a policy that reflects our concerns. It is not personal, it is about the bigger picture of keeping GNU software free and legally safe. So do not take it as a rejection of your effort. Take it as a sign that we take our responsibilities seriously. We appreciate your honesty, and we expect you to understand that we must be cautious. > I’ve been working on Emacs performance on macOS for a couple of months Yes, that is exactly right. We appreciate your work. Nobody is saying you cannot use the tools to find problems. The issue is only about accepting the final patch as your own work when the code was generated by an LLM. That is the line. If you come to us and say "Look, I used this model to analyse the code and it found these problems, here is the reasoning and here is what needs to be done" – that is completely fine. We welcome that. You can point us to the issues, explain the logic, and let a human developer write the final patch. That keeps the contribution clean and avoids all the legal uncertainty. So do not throw your work away. You have 40 patches on your hard drive. Share the insights. Write up the analysis. Tell us what you found and why it matters. That is valuable and we would listen. The code itself is just the final step, and that step can be done by someone else if you do not want to rewrite it without the LLM. You did good work finding these issues. Do not let the policy stop you from sharing that knowledge. > Day after I learned that it won’t be accepted as there is a GNU > policy against accepting LLM-assisted work. I respect it but I don’t > agree with it. You are right, I am going to tell you straight. Your protest page is too much. You make it sound like the GNU project is some closed club that punishes you for being honest. That is not the case at all. The policy is temporary. It is there because we are waiting for legal clarity. The lawyers are looking into it. It is not a permanent ban on LLM work. It is a pause until we know what we are dealing with. You act like this is the final word, but it is not. You even said yourself you do not know the full context because it is discussed on internal lists. So why are you making such a big deal out of something that is still being worked out? If you really want to contribute, you have a simple path. Point out the issues. Write up your analysis. Show us what is wrong and why your patch fixes it. Let a human rewrite the code if that is what it takes. That is not a rejection of your work. That is just us being careful. Be constructive. That is the real way to make a difference. If it is Elisp, you do not need to wait for the GNU project to accept anything. You can package it yourself, put it on MELPA, or even just share it on your own website. People will use it if it works. That is the beauty of free software – you are not locked into one single distribution channel. The GNU project has a higher standard for what goes into the core. That is not a bad thing. It is about protecting the project long term. You might disagree with the policy, but it is there for a reason and it is temporary. The lawyers are working on it. In the meantime, nothing stops you from sharing your improvements with the world. If your patches make Emacs faster on macOS, that is a win for everyone. You do not need the GNU copyright assignment or a patch acceptance to make a difference. You can just publish it and let people benefit. So my advice to you is this – do not walk away. Keep working on it. Share your packages. Let the GNU project figure out the legal side at their own pace. When they are ready, you can come back and submit again if you want. Or you can stay independent and still help the community. That is what free software is about – many paths, many contributions, all valued. > To give more context: in the mailing list when I was sending the patch, I > noted that: > > * The issue was found and patch drafted by GLM 5.2 (a Chinese model with > open weights). These companies throw around the word "open" like it means something. Open weights, open source, open whatever. But it is not the same as free software. We learned that lesson years ago with "open core" and all that nonsense. When we talk about freedom in GNU, we mean the four freedoms. The freedom to run, study, modify, and redistribute. That is the standard. Open weights do not give you that. You cannot modify the weights in any meaningful way. You cannot study them properly because you do not have the training data. You cannot redistribute them without restrictions. It is not free, no matter how much they say it is. So when you say the model is "open", you are using their language, not ours. That is why we are careful. We do not know what went into that model. We do not know if the training data included GPL code or other copyrighted material. We do not know if the output is contaminated with code that has legal problems. That is the whole issue. You see it as a technical thing. GNU project sees it as a legal and ethical thing. So do not be upset that GNU project is cautious. Be glad that GNU is taking the long view. That is what protects Emacs and GNU for the next thirty years, not just today. > * I analyzed the issue report for correctness and impact > * I reviewed the patch and made modifications to it > * I tested the patch manually > * I declared authorship of the submission for legal purposes (i.e. I’m > prepared to argue that my contribution was bigger than LLMs) > * I declared taking full, personal, responsibility for the > * submission I totally understand and appreciate your method. That is exactly what a good contributor does. Any reasonable person would look at that and say "this is fine, accept it." But the problem is not about reasonableness. The problem is about pending legal issues that are not resolved yet. The GNU project cannot just say "well, this one looks okay" and accept it while the bigger questions are still open. That would create inconsistency and set a bad precedent. Think of it like this – if we accept your patch because you did the work, what about the next person who does less work? Where do we draw the line? How much human modification is enough? Fifty percent? Eighty percent? Nobody knows yet. That is what the lawyers are trying to figure out. So the delay is not about you. It is about the principle. It is about making a consistent policy that works for everyone, not just for this one patch. That takes time and careful consideration. You showed good faith by declaring everything. That is respected. But respect does not mean we can skip the process. The process is there to protect everyone in the long run. So be patient, keep doing good work, and let the lawyers do their job. When it is settled, your approach will probably be exactly what we want to see. > First of all, I could’ve hidden the fact of LLM usage, and yet > decided to declare it explicitly. By being truthful I already lost > my footing. This alone makes the policy stupid. If admittance is > punished it’s better to push submissions without admitting. It > punishes integrity, not usage per se. Because who will find out? I > don’t trust LLMs at all thus I believe LLM-assisted work require > actually MORE scrutiny and eyes - not less. You are not being punished for honesty, you are being asked to wait while we figure out the legal side – and if you choose to hide it next time, that is on your integrity, not on GNU policy. > I don’t claim to known full context around the policy because - > adding insult to the injury - this policy is discussed on the > internal GNU lists. That is fair criticism, but let me explain. The internal lists are not a secret club. They are just where the heavy lifting happens before things are ready for public discussion. We do not want to put out half-baked policies and cause confusion. That would be worse than keeping it internal until we have something solid. > What I learned from past conversation around LLMs, however, is that the > doubts about LLM contributions are around them being “open enough” and > “legal to use”. The problem is that "open enough" is not the same as "free enough." These models are trained on massive datasets that nobody can fully audit. We do not know if they swallowed GPL code, proprietary code, or anything else. When the model spits out a patch, we have no way to trace where those lines came from. > When we’re talking about open-weight models, I find the argument about > being open absurd. It means that Qwen 3.6 on my local setup is fine, > but if I use it from OpenRouter - then it’s not. GLM 5.2 IS Open > Weights model and if I had 256 GB of RAM (which I don’t) and 24GB of > VRAM (which I have), I could run it on my local machine escaping the > whole “SaaS is closed” argument. By the same measure, maybe Internet > access should not be available during crafting of submissions? > Internet is full of non-free content, and thus patch might have been > tainted? Who knows, maybe the inspiration was taken from *gasp* > non-free book or article. Local or remote, open weights or closed – the core problem is the same. You cannot trace where the training data came from. You cannot verify that the output is original. The location of the model does not change that one bit. Your point about the internet is sharp, and I will give you that. Yes, the internet is full of non-free content. A human developer could read a proprietary article and get inspiration. That is true. But there is a difference. A human reads, understands, and creates something new. An LLM memorizes and recombines. It is not the same process, and the legal risk is not the same either. The problem is not about the model being local or remote. The problem is about reproducibility and traceability. With a human, we can ask "where did you get this idea?" and they can explain. With an LLM, nobody can explain anything. That is the real issue. So your argument about it being absurd to distinguish local from remote – I agree. It is absurd. That is why the policy is not about that distinction. It is about the nature of the tool itself, not where you run it. > With all the sympathy I have for GNU organization, it neither is the > biggest, smartest or the most legal-wise caring organization in the > world. The Internet runs on free software because of the vision and the hard work that GNU started. That is a fact. GNU is not biggest, but ethically strongest so far. GNU is most ethical when it comes to freedom. Other organizations can take shortcuts and push things out fast. We do not do that. We take the long road because freedom is worth the wait. So when you say we are not the biggest or the smartest, you are right. But we are the ones who keep the flame alive. That is what matters. That is why we have these policies and these discussions. It is not about ego. It is about the mission. > The (Copyright) Office will not register works produced by nature, > animals, or plants. Likewise, the Office cannot register a work > purportedly created by divine or supernatural beings, although the > Office may register a work where the application or the deposit > copy(ies) state that the work was inspired by a divine spirit. It will register as long as human has created or influenced whatever tools. If it is plain tool output, without any significant human creation, then it cannot register it. Thus, it is very simple as far as US copyright office, draft your work, ask LLM to generate, and it can be registered. But if you do not have significant input, then not. You cannot say "Give me verbatim GNU GPL" and try registering something already copyrighted, right? So there are many aspects on it. You cannot just say "Story about a dragon" and then claim copyright on whatever the LLM spits out. That is not your work. The LLM did the creative part. You just gave a prompt. That is like ordering a painting from an artist and then claiming you painted it yourself. It does not work that way. But if you write the outline, develop the characters, describe the setting, and then ask the LLM to help with the dialogue or fill in descriptions, that is different. You have done the creative work. The LLM is just a tool, like a typewriter or a spellchecker. The copyright belongs to you. > Yet GNU believes that THEIR lawyers and THEIR opinion has the most > weight. I won’t deprive them from the right of deciding for they > own, but this lack of self-awareness is almost caricatural. You trust your lawyers because you pay them. That is your choice. But we cannot trust your lawyers. We do not know them. We do not know their expertise. We do not know if they understand free software and the GPL. That is just common sense. So it is not about being arrogant or thinking we are smarter. It is about responsibility. We are responsible for the GNU project. We have to protect it. That means we rely on our own legal counsel, not on someone else's. That is not lack of self-awareness. That is just good management. > GNU has a freedom to decide about itself - I have my freedom to > criticize it. In my eyes behind the doors discussion, without as > much as transparency toward users is just as open as Meta internal > decisions about Facebook direction. I wouldn’t call it open, neither > I would call open organization that decides to operate in such way. Sure, feel free to criticize as much as you wish. That is your right and I respect it. But let me tell you something. Comparing GNU to Meta is not fair and you know it. Meta hides everything from everyone. We hide nothing that matters. The only thing we keep internal is legal discussions and policy drafts that are not ready yet. That is not the same as hiding corporate profits or user data. > I’m not going to work on Emacs anymore. I dislike when people tell > me I’m holding the stick wrong - especially when I work on something > out of my own volition. On my hard drive I have around 40 > performance improving patches, some overlapping, some yet unproven > about actual impact. I published only handful that I recently > confirmed to work and have a meaningful impact. You have the freedom to walk away, that is your choice. But those 40 patches on your hard drive do nobody any good sitting there. Share the analysis, share the findings, let the community benefit from your work. That is what free software is about. -- Jean Louis --- via emacs-tangents mailing list (https://lists.gnu.org/mailman/listinfo/emacs-tangents)
