Human fear in Emacs
Just a few days ago, Human Emacs was published: a declaration signed by more than 50 people from the community, led by technomancy, announcing that if GNU ends up accepting LLM-generated contributions in Emacs, they are prepared to maintain a fork free of AI-generated code. They have also opened a mailing list to discuss the topic and a chat channel on Libera Chat. Naturally, debates have appeared elsewhere too, such as Hacker News, Lobsters and Reddit. The debate is on.
I notice a lot of tension in the community. Every time I leave a comment in a thread supporting some point contrary to Human Emacs, I receive downvotes and flags for off-topic, spam, troll and unkind. That is why I thought it appropriate to develop my opinion on my blog, where there is room for nuance without the pressure of votes and labels.
That said, it is worth separating two debates that are being mixed together. The first one belongs to GNU and the FSF, the legal matter: if LLM-generated code cannot be copyrighted, it could weaken copyleft.
The licensing arguments seem legitimate to me, but easy to get around. Today you can work with a free LLM, with open weights, running on your own machine. If the purity of the tool really mattered, we should not accept patches typed on Windows with a proprietary IDE. If code is the heart of free software, we should only care about it being useful, maintainable and of good quality, regardless of its origin. And if what matters is the person behind it, we are entering territory that has already been settled: contributions developed by private companies are accepted.
The second one belongs to the Human Emacs signatories, and it is purely ethical. They make it clear themselves in their "Not Under Discussion" section:
We are not here to discuss whether LLMs are effective at what they are claimed to be able to do; their effectiveness is not at all relevant to the question of whether their use can be part of a principled software movement dedicated to user empowerment.
This stance has the virtue of being honest: they are not discussing whether LLMs work, they are discussing whether they fit their principles. And there is no possible debate against someone's principles. I will only say that I do not share the premise that LLMs are incompatible with user empowerment: for someone who cannot program, being able to add a complex feature to their editor is precisely empowerment.
I fully understand the right to fork, and I defend it: I maintain emacs-gpu myself. Forking is the essence of free software, and having an Emacs without AI code for those who want it seems healthy to me. What I find harder is the practical side: there is no reliable way to detect LLM-generated code, so the policy can only rest on trust and each contributor's voluntary disclosure. And we already know where that leads: a few weeks ago a 92-line performance patch was rejected on emacs-devel precisely because its author disclosed that it had been drafted by an open-weights model, even though they reviewed it, modified it, tested it and took legal responsibility for it themselves. If they had kept quiet, nobody would have known. A policy that punishes honesty only produces less honest contributors.
Personally, I believe LLMs will improve Emacs in areas where it was not possible before. It is already happening with very complex bugs and with abstraction layers that required an enormous amount of human work that nobody was willing to do. And although I understand that LLM-written code in the core is not the same as human-written packages that use LLMs, such as gptel or agent-shell.el, I struggle to see the coherence between rejecting the former outright and celebrating that the latter is bringing fresh air into the ecosystem. I believe that, deep down, there is more human fear than real problem: perhaps the root lies neither in the LLMs nor in the FSF, but in the uncertainty that such a big change stirs in us. And that fear runs both ways: fear that LLMs will degrade what we love, and fear of falling behind by not using them. The Emacs community has always been very open to new ideas, and I would like it to stay that way.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Help me keep writing
Every coffee gives me a push toward the next article.
Sure, it's on me!
Comments
Jakub
Hi! I've written a short response to the legal parts of this post, from my own perspective of course.
Andros Fenollosa
Thank you for the reply, for the tone and for your opinion. You were respectful and clear in your message. I'm also glad to see that we're responding to each other with thoughtful articles instead of short microblogging paragraphs; it shows a lot of maturity in the community. I also want to thank you for your perspective and corrections. Although I was more interested in exploring the human side, I understand that the legal side matters and needed the nuances you've added.
That said, I think the legal argument conflates two questions: copyrightability (can anyone own the output?) and infringement (does it reproduce someone's code?). On the first, your own preferred answer, "no-one", which matches the US Copyright Office's position, dissolves the assignment problem rather than hardening it: code with no copyright holder is public domain, and GNU has always incorporated public-domain code without papers. What remains is infringement risk, and that's not a new category: the FSF has never been able to verify that a human contributor didn't paste from a proprietary codebase either. It has always run on a named person's word plus review. A 92-line patch a human read, modified and tested sits at the low end of that spectrum, not outside it.
On the law analogy: laws work despite liars because violations are detectable without a confession (witnesses, forensics, and the xz backdoor was ultimately found in the code), and because lying to the police is itself punished. This policy has neither property: LLM authorship leaves no trace in the artifact, silence carries zero risk, and disclosure guarantees rejection. So the equilibrium isn't "less LLM code in Emacs", it's the same code, unlabeled, minus the extra scrutiny disclosure would have invited. If the goal is legal caution, that outcome is worse.
A certificate-of-origin-style declaration, with disclosed LLM assistance triggering stricter review instead of automatic rejection, would keep the caution and the honesty.
Thank you for the article and for your time.