Response to Human Fear in Emacs
This is a short response to the blog post titled Human fear in Emacs by Andros Fenollosa, as I believe there is a small correction to be made around the legal matter surrounding LLM contributions to Emacs under the current policy.
Note that I am not a contributor to Emacs, nor GNU; this is purely my understanding of their position and it may be wrong.
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.
This is a faulty comparison, in my opinion, and a misunderstanding of the licensing issue. The FSF and GNU require assignment of copyright from contributor to foundation in order to effectively enforce the GPL.
The fundamental problem with LLM output is that it is currently a legal grey area in terms of who the owner of the generated output is. I am not a lawyer, but you could certainly argue that the output is owned by one of either:
- The LLM developer.
- The LLM user.
- The developers whose code was used to train the LLM.
- No-one.
Because the FSF requires assignment of copyright, the only situation where the copyright could feasibly be transferred is in option 2. Unless, of course, you manage to convince Anthropic or every GitHub developer to sign off copyright every time someone submits a patch to GNU.
In all likelihood, the answer to who the owner of the output is, is "No-one" (this opinion is based off these two lawsuits, and is strictly my opinion of a very complex legal topic: 1, 2). However, until someone takes Microsoft to court for scraping GitHub repositories to train Copilot, we cannot definitively say which of these it is. That uncertainty is why the FSF cannot allow LLM contributions.
This problem does not go away with a free LLM and open weights, because those weights were still trained on a set of data not owned by the LLM developer (99% of the time, at least). Therefore, this is not such an easy thing to work around, unless you want to make an LLM trained purely on your own code from scratch (I don't mean fine-tune an existing model, I mean to make a complete model entirely from scratch). And the size of that dataset certainly will not be big enough to produce a useful result.
The other thing I wanted to mention is the performance patch compiled by Przemysław Alexander Kamiński which was rejected from emacs-devel. I've seen this discussed a lot recently in various places, here are my two cents (again, quoting from Andros' blog).
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.
As I said above, though you can "claim" legal responsibility for the output of the LLM, you cannot "take" it as the ownership is still disputable. This may seem like a semantic difference, but it is critical in understanding why this patch was rejected.
I think a substantial amount of the discussion around this patch was mired with people misunderstanding the legal status of LLM output. Once you realise that the reasoning here is one of legal caution for the single organisation actually enforcing the GPL and software freedom, it becomes a bit more reasonable of a decision in my eyes.
If they had kept quiet, nobody would have known. A policy that punishes honesty only produces less honest contributors.
I don't believe that this policy punishes honesty more than any other policy that you could implement in moderation of a codebase.
The fact of the matter is that all of FOSS relies almost entirely on an open trust model to operate, and everyone expects everyone else to act like decent human beings. And some people don't, which is how you get supply chain attacks with random contributors compromising xz, and this will happen whether or not you have a rule that says "don't include trojans in your PRs pls."
So, what, we should do away with contributor guidelines entirely now because people can lie? No, you enforce the rules against the people who are honest because it holds everyone accountable to the same standard. This is the same way every law works in almost every single country: you could, right now, go and lie to the police about anything you want! The difference is that in one of these, your patch gets rejected, and in the other, you get arrested.
I want to thank Andros for putting his thoughts on a stage; it's not an easy thing to do. I hope that you don't take my direct responses as rude or otherwise improper.