freenode
Desktop & Graphics

RMS: GNU ELPA must reject LLM-generated packages

A Magit-style Sapling client for Emacs triggers a policy fight over AI code and package maintenance.

Richard Stallman has said GNU ELPA and NonGNU ELPA should refuse packages whose code was generated by large language models, extending the GNU Project's existing ban on LLM-written changes to the Emacs package archives.

The stance followed a NonGNU ELPA submission from Swithin Chan: sl.el, a small Magit-inspired Emacs front end for Meta's Sapling version-control tool. Chan said he built it after finding Git too slow under Windows, and openly noted he had "burnt some tokens" to produce the interface. Philip Kaludercic, who handles much of ELPA packaging, accepted the package into the NonGNU archive pending version-header fixes.

Jonas Bernoulli then urged an "Assisted-by" library header naming the model used, a convention MELPA already asks of authors so users who avoid LLM-built software can filter it. Kaludercic said the practice could be documented for ELPA if there were no objections.

Stallman objected on substance. "Assisted by," he argued, is too broad and wrongly equates any LLM help with code generation; error-checking alone would not need disclosure. More importantly, he wrote, GNU already rejects LLM-generated code in its programs, and both halves of ELPA count because they are tied to GNU Emacs and lead users to load packages from either archive. A clearer tag would be needed if disclosure were ever wanted, he added, but acceptance is not on the table now.

Chan then offered to drop the package, saying Sapling itself is broken on Windows and that he would stick with Git. Kaludercic called the retreat worrying: long-term maintainer interest is a soft ELPA constraint, and LLM-produced packages are likelier to be abandoned once the novelty fades, leaving broken bindings to external tools nobody else wants to own. He floated options such as marking the package unmaintained or requiring LLM submissions to show some age before acceptance, and said the archive should not carry broken packages.

The exchange leaves ELPA policy unsettled in the details, but Stallman's line is plain: generated code does not belong in the Emacs archives as they stand.