* 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)

Reply via email to