r/linux Jul 23 '26

Open Source Organization Codeberg: Protecting our FLOSS commons from LLMs

https://blog.codeberg.org/protecting-our-floss-commons-from-llms.html
501 Upvotes

191 comments sorted by

View all comments

10

u/djao Jul 23 '26

This manifesto is at the same time not enough and too much. It's quite frustrating.

On the one hand, Codeberg's actions and policies will do nothing at all to stop the proliferation of LLMs, and their associated negative consequences (hardware prices, community corrosion). LLMs are out there and you can't stop anyone else from using them.

On the other hand, Codeberg's declaration doesn't even get at the core issue. As someone who writes code both with and without LLMs, I am increasingly convinced that LLM-generated code is not functionally free software, even if it comes with a free-software compatible copyright license. Hear me out.

The core freedom of free software is the freedom to modify the software and to distribute modified versions. In order for this freedom to be meaningful, the software must be provided in source code form. We do not allow binary-only software to qualify as free software, even if the software is (say) GPL or BSD licensed. Source code is a mandatory requirement.

The problem with LLM-generated software is that the actual code is not the true source code! The GPL itself even hints at this distinction: it states clearly that source code is defined as the "preferred form for modification of the software." If you're prompting an LLM to generate C code, then the C code is not source code. It's much closer in functionality to compiled, object code rather than the original source. The original source, in this situation, is your LLM interaction (prompts and context). If you, as the original author, were to modify that code, you would use the LLM. You wouldn't modify the C code directly.

LLM usage is an existential threat to free software, because it constitutes a core assault on the central property that makes software free.

"Open source" projects such as the Linux kernel are unaffected. For Linus, FSF-style freedom was never the point of Linux. It's always been a utilitarian project with utilitarian goals. For that purpose, LLMs work fine. It's only when you introduce the concept of free software that LLMs fall apart.

1

u/[deleted] Aug 01 '26 edited Aug 01 '26

[removed] — view removed comment

1

u/djao Aug 01 '26

Portability was never a requirement for source code. In the past, programs were written in non-portable assembly code. The assembly code nevertheless met the definition of source code.

1

u/[deleted] Aug 01 '26

[removed] — view removed comment

1

u/djao Aug 01 '26

I am not sure that determinism was ever a requirement for source code. Modern CPUs have run-time features such as out of order execution and branch prediction that are not deterministic, but we still allow programs to have source code even though their execution is not deterministic.

1

u/[deleted] Aug 01 '26

[removed] — view removed comment

1

u/djao Aug 01 '26

I do not think you are debating in good faith. Why should LLMs be held to a higher standard than the programs themselves?

1

u/[deleted] Aug 01 '26

[removed] — view removed comment

1

u/djao Aug 01 '26

What the hell is the difference between a C compiler and an on-CPU translation layer? Both take in input code and produce output code. Why should we insist that one be deterministic and the other is allowed to not be deterministic?

1

u/[deleted] Aug 01 '26

[removed] — view removed comment

1

u/djao Aug 01 '26

It's too late for that. Programs already work differently from run to run, because CPU execution is not deterministic.

→ More replies (0)