- HERMES.EL AND THE GNU PROJECT: WHEN THE EASIEST PATH LEADS TO SAASS
- 1. INTRODUCTION
- 2. THE POLICY: WHAT GNU EMACS MUST NOT DO
- 3. THE SAASS REALITY OF HERMES
- 4. HERMES.EL: THE GATEWAY
- 5. THE THREAD: HOW THE DISCUSSION UNFOLDED
- B. RMS'S QUESTIONS (August 7)
- C. THE SAASS WARNING (August 7)
- D. THE BACK-AND-FORTH (August 8-14)
- E. THANOS'S "PARODY" COMMENT (September 20)
- F. RMS'S VERDICT (September 21)
- 6. THE "CONSCIENTIOUS USER" FALLACY
- 7. PARTICIPANT OBSERVATIONS
- 8. THE "DEMOCRATIZING" ARGUMENT AND ITS FLAWS
- 9. THE TRANSPARENCY CONCERN
- 10. WHAT THIS TEACHES US
- 11. RMS'S VERDICT
- 12. CONCLUSION
HERMES.EL AND THE GNU PROJECT: WHEN THE EASIEST PATH LEADS TO SAASS
By Jean Louis (bugs AT gnu.support)
September 2026
1. INTRODUCTION
In August 2026, Thanos Apollo submitted hermes.el to the emacs-devel mailing list. hermes.el is an Emacs front end for Hermes Agent, an LLM agent developed by Nous Research. The submission sparked a thread that lasted weeks, involved dozens of messages, and touched on questions that go to the heart of what GNU stands for.
This article analyzes that thread through the lens of GNU free software philosophy, using Richard Stallman’s stated policy as the standard. It is not a personal attack on any participant. It is an examination of what happens when LLM tools, SaaSS (Service as a Software Substitute), and GNU’s mission collide.
The central question is simple: does hermes.el, by being included in ELPA (Emacs' package archive), lead users toward non-free software and SaaSS? If it does, then by GNU’s own policy, it should not be there.
The answer, as Richard Stallman concluded on September 21, 2026, is yes.
2. THE POLICY: WHAT GNU EMACS MUST NOT DO
To understand why hermes.el is problematic, we must first understand the policy that governs what Emacs can and cannot suggest.
On September 8, 2026, Richard Stallman wrote:
“Our policy is that GNU Emacs does not invite the user onto a path that leads the user to run a nonfree program. The choices Emacs suggests to you must not lead to that result. If a choice would lead to that result, Emacs must not suggest that choice.”
This is not a new policy. It is GNU’s longstanding principle, applied to a new context.
The key distinction RMS draws is between user-initiated choice and Emacs-suggested path:
“If you specify a choice that GNU Emacs didn’t suggest, that’s different. Emacs should not try to control you.”
But when Emacs suggests something — through a menu, through ELPA, through documentation — it takes responsibility for where that suggestion leads.
RMS applies this directly to ELPA:
“Emacs can suggest loading each of the packages in GNU ELPA and NonGNU ELPA. So those packages should not lead the user to run any nonfree software. That must be part of the criteria for having any particular package in our package archives.”
This is the standard against which we must judge hermes.el.
The question is not: is hermes.el itself free software? (It is.) The question is: does loading hermes.el from ELPA lead users toward non-free software or SaaSS?
3. THE SAASS REALITY OF HERMES
In his essay “Who Does That Server Really Serve?”, Richard Stallman defines Service as a Software Substitute as:
“Using a service as a substitute for running your copy of a program. Concretely, it means that someone sets up a network server that does certain computing activities—for instance, modifying a photo, translating text into another language, etc.—then invites users to let that server do their own computing for them.”
The test is simple: “Could you do this particular computing activity entirely within your own computers, not communicating with anyone else’s computers? If you could, then the activity is essentially your own. Therefore, for your freedom’s sake, you deserve to control it.”
SaaSS is worse than proprietary software:
“SaaSS servers wrest control from the users even more inexorably than proprietary software. With proprietary software, users typically get an executable file but not the source code. With SaaSS, the users do not have even the executable file that does their computing.”
Hermes Agent and SaaSS
Hermes Agent is an LLM agent that can connect to various LLM providers. The software itself is free (MIT license). But the question is not about Hermes’s license — it is about whether Hermes leads users toward SaaSS.
The evidence is extensive.
A. THE INSTALLER DEFAULTS TO SAASS
When you install Hermes Agent, the first configuration option is:
→ (●) Nous Portal (Everything your agent needs, 300+ models with bundled tool use)
This is pre-selected. The user who does nothing, who accepts the default, is directed to Nous Portal — a subscription service that provides access to remote, proprietary LLMs.
B. THE PROVIDER LIST IS OVERWHELMINGLY SAASS
The full provider list includes approximately 30 cloud/SaaS providers: Nous Portal, Fireworks AI, OpenRouter, Anthropic (Claude), OpenAI (GPT), Google AI Studio (Gemini), Google Vertex AI, AWS Bedrock, Azure Foundry, Hugging Face Inference Providers, and many more.
Only 2 options support local LLMs:
- LM Studio (local desktop app with built-in model server)
- Actual Computer (combines hosted and local inference, defaults to hosted)
This is a ratio of approximately 30:2 in favor of SaaSS.
C. THE INSTALLER FUNNELS USERS TO NOUS PORTAL
The installation process:
- Runs dependency checks and clones the repository
- Shows: “Press Ctrl+C at any time to exit”
- Immediately prompts for Nous Portal login
- Opens browser to https://portal.nousresearch.com/manage-subscription
- Waits for user approval
- Only after completion shows: “✓ Installation Complete!”
The “Installation Complete” message appears AFTER the wizard, not before. A user who presses Ctrl+C has no way of knowing that the files are already installed and a local agent is available. The installer presents itself as a single continuous process.
D. USAGE STATISTICS SHOW SAASS DOMINANCE
From the thread: “Nous Research’s Hermes Agent processed 1.5 trillion tokens on OpenRouter in August 2026, nearly equaling the combined usage of 49 other tracked apps.”
This is not a hypothetical concern. This is evidence that the primary use of Hermes Agent is SaaSS, not local LLMs. The design funnels users where the industry wants them: into subscription-based remote services.
4. HERMES.EL: THE GATEWAY
hermes.el is an Emacs interface to Hermes Agent. Thanos Apollo, the package author, defends it by writing:
“hermes.el connects to a user-configured agent. Users bring their own setup.”
But this ignores the reality of how users interact with ELPA packages.
Most Emacs users do not “bring their own setup” for Hermes. They discover hermes.el through ELPA, load it, and are guided through Hermes’s configuration process — which presents them with SaaSS defaults.
RMS correctly observes:
“Often the Emacs user will choose a Hermes configuration when Emacs connects to Hermes the first time. That configuring step will suggest options that are nonfree software and/or SaaSS, because that’s what Hermes is designed to do.”
The critical point: hermes.el in ELPA means Emacs suggests it. And if loading it leads users to configure Hermes, and configuring Hermes presents them with SaaSS defaults, then Emacs has led them toward SaaSS.
RMS writes:
“If a user, who knows little about Hermes, loads hermes.el because ELPA suggested it, and starts to try it out, [they] will have no basis to recognize the nonfree options the Hermes site offers. In that path, the user has no way of knowing that some are bad, because it does nothing to inform [them].”
5. THE THREAD: HOW THE DISCUSSION UNFOLDED
The hermes.el thread spanned from August 5 to September 22, 2026, and involved multiple participants. Here is a summary of the key moments.
A. THE SUBMISSION (August 5)
Thanos Apollo submitted hermes.el with a brief description:
“I would like to submit hermes.el, an Emacs front end for Hermes Agent. It provides an EWOC-based dashboard and chat interface, streamed replies with Markdown and diff rendering, interactive approval, clarification, sudo, and secret prompts…”
B. RMS’S QUESTIONS (August 7)
RMS asked for clarification:
“Could you please post a description of Hermes Agent? Perhaps 20 to 50 lines, to say basically what it is for and why we would want this in Emacs?”
C. THE SAASS WARNING (August 7)
Within hours, Jean Louis wrote:
“Let’s not forget that Hermes is used only by small percentage of users running fully free LLMs on their computers, while mostly it is there for purpose to access Service as a Software Substitute LLMs, such as models from OpenAI, Microsoft (GitHub Copilot), Alibaba, Anthropic, Hugging Face, etc.”
This was the first direct application of RMS’s SaaSS framework to the Hermes discussion.
D. THE BACK-AND-FORTH (August 8-14)
Jean Louis provided extensive evidence:
- Screenshots of the Hermes installer
- The full provider list
- The “Installation Complete” message appearing only after the wizard
- Statistics showing SaaSS dominance
Eli Zaretskii, a GNU Emacs maintainer, responded with technical corrections about the Ctrl+C behavior and questioned the relevance of Jean Louis’s concerns.
RMS asked probing questions about what Hermes actually does and whether it depends on LLMs.
Thanos defended the package, emphasizing that Hermes can run local LLMs.
E. THANOS’S “PARODY” COMMENT (September 20)
When Arne Babenhauserheide asked whether the “fastest path: nous portal” option violates RMS’s policy, Thanos responded:
“This is starting to feel more like a parody.”
Later:
“The parody is that GNU maintainers have spent message after message walking you through the output of a script you piped into bash, only for every correction to become another act in a morality play where you cast yourself as GNU’s conscience and its maintainers as defendants.”
Tomas correctly identified this as “a subtle ad hominem” that “verges on personal attack.”
Thanos concluded: “I do not wish to continue any exchange with you.”
F. RMS’S VERDICT (September 21)
After careful consideration, RMS wrote:
“I am coming to think that hermes.el, and the Hermes site, do lead users toward use of programs the GNU Project considers unjust (because non-free), and sites that the GNU Project considers unjust (because SaaSS).”
“If that is so, GNU Emacs should not suggest the use of Hermes or hermes.el. In particular, hermes.el should not be in ELPA, or mentioned in Emacs or ELPA.”
“Users would still be able to load hermes.el from some other place by requesting that explicitly, but they should never get that suggestion from us.”
6. THE “CONSCIENTIOUS USER” FALLACY
One of the most revealing exchanges in this thread was about the “conscientious user.”
Eli Zaretskii wrote:
“A conscientious user who cares about free software will not be duped by this and its ilk. We expect our users to be adults.”
This argument is tempting but flawed. RMS directly rebuts it:
“Even conscientious users, free software activists, will not know which options in the Hermes site are unjust and should be rejected. How could they know? It isn’t self-evident and nothing informs them clearly.”
More fundamentally:
“We can’t in general expect even adults in our society to firmly reject a fancy, exciting piece of software simply because it is nonfree. Most adults have never learned about this issue. Society encourages them to say yes unhesitatingly.”
The “conscientious user” argument assumes that users can distinguish just from unjust options. But the Hermes site does not inform them clearly. It presents 30 SaaSS options and 2 local options and lets them choose. That is not a free choice — it is a funnel disguised as a menu.
GNU’s policy exists precisely because we cannot trust users to recognize SaaSS on their own. The policy is a protection, not a restriction.
7. PARTICIPANT OBSERVATIONS
Richard Stallman: The philosophical standard. His clarity, precision, and commitment to principle set the bar for the entire discussion. His verdict stands on its own philosophical merits.
Jean Louis: Raised the SaaSS concern early and persisted with evidence-based argumentation. His concern was ultimately validated by RMS’s verdict. His passionate style may have contributed to friction, but the substance of his argument is philosophically sound.
Eli Zaretskii: Overworked maintainer, fellow free software supporter, but his pragmatism led him to dismiss concerns that RMS considers fundamental. The tension between pragmatism and principle is a recurring theme in GNU’s history.
Thanos Apollo: Defensive, dismissive, shows limited understanding of GNU philosophy. His “parody” comment was a rhetorical dismissal of a legitimate philosophical question. He did not address RMS’s verdict.
His personal website reveals more. In “My Emacs Agentic Workflow” (August 2026), Thanos writes openly about what he actually uses:
- “I currently use gpt-5.6-sol for most tasks through my codex subscription.” (OpenAI’s proprietary model)
- “A lot of people in the ‘GNU/Linux’ sphere are looking for ‘free’ models. Even if there were a 6T+ ‘free’ model that outperforms frontiers, there is no ‘free hardware’ that could run it…”
- “Would your average hobbyist rather pay $20/month or buy the next gen ‘free’ DGX Spark for $5,000?”
He dismisses free models as impractical and promotes the very SaaSS funnel (Nous Portal) that Jean Louis warned about. His entire workflow is built on proprietary subscriptions: OpenAI Codex, xAI Grok, Nous Portal, Firecrawl. Hermes Agent is just the harness that connects them.
The contrast with his emacs-devel arguments is stark. On the mailing list, he claimed: “hermes.el connects to a user-configured agent. Users bring their own setup.” On his website, he reveals that his own setup is entirely proprietary SaaSS services.
Thanos is not a free software advocate questioning AI. He is an AI tool enthusiast who uses Emacs as his interface. His “democratizing” argument is not a philosophical position — it is a justification for his own convenience.
Arne Babenhauserheide: Asked the decisive question: “Does that also apply when the suggested or easiest option is non-free?” His “shackle-feats” framing captures the dual nature of LLMs perfectly.
Tomas: Called out the ad hominem correctly and briefly.
Yuri Khan: Defended the SaaSS-funneling software with a procedural consent argument that ignores the substantive question.
8. THE “DEMOCRATIZING” ARGUMENT AND ITS FLAWS
Thanos Apollo wrote:
“I see LLMs/Agents as a democratizing feat, not a shackle-feat. They help users turn the freedom to modify software into something they can actually exercise.”
This argument is seductive but fundamentally confused.
The four freedoms are not about whether users CAN modify software. They are about whether users HAVE THE LIBERTY to do so, with legal protection, without depending on proprietary services or risking copyright violations.
Arne’s response is precise:
“The freedom you see there is the ‘feat’ part of shackle-feats. That LLMs are either fully proprietary… or not Free Software in the sense that you can safely modify and use them without the protection of the legal team of huge corporations… is the ‘shackle’ part.”
Most LLMs are trained on data that includes copyrighted material without permission. Using them carries legal risk. The user who trusts an LLM-generated response without verification is not more free; they are more dependent.
Tomas’s brief response captures this: when Thanos wrote that LLMs help users “understand unfamiliar code,” Tomas replied: “…no.”
LLMs generate plausible text. They do not build genuine comprehension. Users who trust them without verification are not exercising freedom; they are surrendering it.
9. THE TRANSPARENCY CONCERN
There is an additional concern worth noting: hermes.el’s code patterns and quality suggest possible LLM authorship without disclosure. This is not an accusation — it is an observation.
If a package submitted to ELPA was generated by an LLM, users should know. Not because LLM-generated code is inherently bad, but because:
- The author’s understanding of GNU philosophy cannot be verified
- The code’s implications for user freedom cannot be assumed
- Transparency is a core value of the free software movement
This is a broader issue that will become more pressing as LLMs are used to generate more code. GNU must develop standards for how to handle LLM-generated contributions.
10. WHAT THIS TEACHES US
The hermes.el thread is a case study in what happens when LLM tools enter GNU Emacs. It teaches us several things:
SaaSS is the next frontier. The proprietary software problem was never fully solved — it evolved into SaaSS. AI tools are the latest vehicle for SaaSS, and GNU’s policy must apply to them just as it applies to traditional software.
“But it can run local” is not enough. The mere possibility of local use does not negate a design’s bias toward SaaSS. We must judge the actual user experience, not the theoretical possibilities.
The easiest path matters. RMS’s policy focuses on whether Emacs “leads the user toward” non-free software. The “easiest path” — the default option, the pre-selected choice — is exactly what RMS meant.
Pragmatism cannot override principle. Eli’s concern about managing hundreds of packages is understandable. But the policy exists precisely for cases like this. If we make exceptions for convenience, the policy becomes meaningless.
Building free alternatives is the long-term work. Arne wrote:
“The only two ways out are to reject them or to build free replacements.”
For LLMs, this means developing models trained on free data, with free licenses, that users can run locally without legal risk. This work is difficult and will take years. But it is necessary.
11. RMS’S VERDICT
On September 21, 2026, Richard Stallman wrote:
“I am coming to think that hermes.el, and the Hermes site, do lead users toward use of programs the GNU Project considers unjust (because non-free), and sites that the GNU Project considers unjust (because SaaSS).”
“If that is so, GNU Emacs should not suggest the use of Hermes or hermes.el. In particular, hermes.el should not be in ELPA, or mentioned in Emacs or ELPA.”
“Maybe this problem could be corrected with changes in hermes.el, but the start of that is acknowledging the problem.”
This verdict is not an emotional reaction. It is the application of GNU’s established policy to the evidence presented in the thread.
It is a verdict that protects users — not by restricting their freedom, but by ensuring that Emacs does not lead them onto paths that undermine their freedom.
Users who explicitly want to use Hermes can still do so. They can load hermes.el from a source other than ELPA. But they should not get that suggestion from GNU.
12. CONCLUSION
The hermes.el thread is more than a debate about one package. It is a test case for how GNU handles AI tools, SaaSS, and the tension between convenience and principle.
GNU’s philosophy is clear: we do not invite users onto paths that lead them to surrender their freedom. This is not a restriction — it is a protection. It is what distinguishes GNU from every other software project.
As Arne Babenhauserheide wrote: “LLMs are shackle-feats: they enable a new way of working, if you accept their chains.”
The chains are SaaSS, proprietary models, legal risk, and dependency on corporations that control our computing. The feat is the promise of convenience and capability.
GNU’s task is to help users see the chains, not just the feat. And to build free alternatives that offer the feat without the chains.
Until then, hermes.el should not be in ELPA.
REFERENCES:
Richard Stallman, “Who Does That Server Really Serve?” https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
Richard Stallman, emacs-devel thread, August-September 2026 https://lists.gnu.org/archive/html/emacs-devel/2026-08/
Dr. Arne Babenhauserheide, “Shackle-Feats: The Poisoned Apple” https://www.draketo.de/light/english/politics-and-free-software/shackle-feats-the-poisoned-apple
Jean Louis, gnu.support articles on LLMs and free software https://gnu.support/large-language-models-llm/