# Being Against LLMs Is Against the Spirit of Floss

> Source: <https://joarvarndt.se/free-vibes-2>
> Published: 2026-08-14 18:52:12+00:00

# Being Against LLMs is Against the Spirit of FLOSS

Earlier this year [I wrote](https://joarvarndt.se/free-vibes) *Vibe-coding Brings the Power of Emacs to
Everything* in a more positive manner surrounding this topic. This is
the negative version. I am not a radical in either direction
surrounding this debate. But the internet does not reward subtlety or
nuance, as I also [pointed out](https://joarvarndt.se/crypto) in *Three Thoughts on Crypto and nfts*.

The debate surrounding llm-generated code is more intense than
ever. There are some people who have recently tried to turn this
debate into action as an attempt to stem the tide of llm contributions
that are flooding maintainers. Most notably [Vim “Classic”](https://drewdevault.com/blog/Forking-vim/) and my own
adopted public git forge of Codeberg. This is a shame, since it flies
against the spirit of Free (Libre) and Open Source Software (floss).

Linus Torvalds has effectively been vibe-coding the Linux kernel for
decades (his models being the world’s best kernel programmers and his
agent harness email) and that has clearly turned out fine, but I still
write most my code the old-fashioned way (at least in a raw loc-way)
because I think that the hardest parts about programming are not
solved by llms. I also do not like to refer to llms as “ai”.[1](#fn.1)

You are of course *free* to not accept contributions made by llms (or
any contribution for any reason) to your own project, and you are also
not forced to host someone else’s vibe-coded projects on your
infrastructure; the beauty of floss is that they are then also free to
fork your project. 2 But rejecting code not for technical reasons (of
which there are often many for vibecoded code) but for ideological
reasons is unfortunate.

At the same time there is of course a genuine problem for maintainers
happening that I do not know how to solve. One possible solution may
be to only accept contributions that you yourself *believe* to be
written by a human, while nominally accepting llms to be used in any
capacity. This means that llms can be used when they are useful, but
that code must remain readable and succinct enough for humans to
process and develop.

llms are fundamentally a tool. Trying to ban llms is giving them too much credit; it is contributing to the framing made by companies like Anthropic and Openai that llms are a new class of software that is so powerful it must be banned, and entirely unlike all the other tools that make software development easier. Imagine banning the use of compilers and only accepting contributions written in Assembly as a way to reduce the number of contributions. It works, but is it in any way reasonable?

Such a policy — that contributing to a project because of the
circumstances of the contribution’s creation, and not due to its
quality — is directly contradictory to the spirit of free
software. Being able to read, spread, and easily customize a program
is just as useful as being able to merely run it. And the long-term
strengths of free software is that it can adapt to everyone’s
(collective) needs instead of each person building their own custom
software.[3](#fn.3)

Arguments that llms fundamentally a part of a system of political oppression fall flat against the case of open-weight models that can be run at home on (high-end) consumer hardware. Are you going to be against online search in general because most people use Google as their provider?

The Russian-born French philosopher Alexandre Kojève pointed out that
— when studying the history of Hegel’s *geist* — it is uninteresting
to study the existence of the nihilist, because the path of nihilism
is one of (intellectual) suicide. This is what is happening to these
projects ideologically opposed to llms; projects like *Vim
Classic*. They are intellectually oriented not towards improving the
program either through bug-fixes or new features, but merely towards
making sure that every line of code was written by hand (wilfully
ignoring other automated tools such as lsp, the aforementioned
compilers, macros, automated config tools, even editors
themselves!). There are features that could be in the next release of
my beloved Emacs *right now* because they have been blocked because of
the initial use of an llm.[4](#fn.4)

If you actually care about the direct impacts and externalities of llms, this is not the path forward. It shutting your eyes and plugging your ears to the reality that llms are widely used to develop software, akin to what the Qing empire did during the heyday of European colonialism. Instead the solution might be to solve the underlying causes of overconsumption, fossil fuel use, and increasing inequality. ❦

## Footnotes:

[1](#fnr.1)
“ai” is a very broad term, that today mostly refers to the
specific technology of Large language models. Other forms of
algorithms (both deterministic and not) perform acts of “intelligence”
— even very simple algorithms such as a single `if`

-statement. At the
same time it is not clear to me that llms or humans have some sort of
magical “true” intelligence that other systems do not.

[2](#fnr.2)And naturally you do not have to subsidise strangers’ bad ideas.

[3](#fnr.3)This is coming from a die-hard Emacs user, where the biggest strength comes from easily building your own tools and extending the program for yourself.

[4](#fnr.4)In this case for fairly valid concerns about licensing issues, another (albeit related) problem, by the fsf. How this problem is to be solved I will leave to the lawyers.
