Hi Simon - I've re-read your revised draft policy in full, and overall I think it's a very thoughtful and helpful piece of writing, and the basis for a good policy that can hopefully be good enough for everyone. However...
On 07/26/2026 8:39 PM CEST Simon Peyton Jones via ghc-devs <ghc-devs@haskell.org> wrote:
* Agnostic. Some thoughtful people believe that we should have a blanket ban on LLMs. Others, equally thoughtful, believe that they have a helpful role to play in software development. I do not believe that we have anything close to a consensus on this, so I have framed the draft policy so that it is explicitly agnostic about whether LLMs are, in themselves, good or bad. That will please no one, but the alternatives seem worse to me.
The statement "That will please no one" seems to me to be empirically incorrect. The current policy seems to please all(?) of the pro-LLM people, and certainly the elephant in the room, Moritz, who has stated support for it several times. By contrast, multiple anti- or limited-LLM people have said they won't support the draft policy with this current position. (I am, regretfully, one of those people.)
* I personally do not want to express or institutionalise a second-class status for LLM-assisted contributions. So I take Moritz's concerns on this score seriously.
In my opinion "LLM-assisted" is not the best choice of words here, because all versions of this policy have been explicit that LLMs can be used in a multitude of ways to assist development. The issue at hand is whether LLM-generated code and documentation should be treated _the same_ as human-written.
But I do want to express a very strong desire for human judgement, responsibility, effort, and responsibility in GHC contributions. (And Moritz does too.)
By my `wc -w` count, Moritz has contributed - with the aid of LLMs - close to 50% of all words in this discussion. He and his LLMs have written more emails than the next 2 most-frequent contributors put together. He has taken responsibility for every word, yet seems to have had quite an outsized influence on the direction of this policy and discussion. (He's the only person named in your email, for example, and he's named twice.) The number of personal emails I've gotten thanking me for taking on this "dirty job" (not my words) of interacting with these walls of partially-LLM-generated text has me convinced that this is not just a me-issue, but something which threatens the balance of the delicate ecosystem that is GHC development. We're no longer, in my eyes, in the realm of "what if" but instead the realm of "so this is what it's like." Absolutely, we're in a better place than we'd be if we were getting true "slop," but I would vehemently (though respectfully, of course) disagree with the notion that this current revision of the policy is the "agnostic" or "agree disagreeably" position.
How best to express that pair of desires? It seems difficult to find language that is acceptable to all, despite our agreement on the principles this language expresses. My proposal is to
* Requirefull responsibility. For now at least I have settled on "human authorship" as a term to express this idea strongly -- adding language to say that (in this context) "authorship" does not mean "typed every word". But it does mean reviewing every word and almost certainly revising many of them.
My constructive feedback is that the balance of positions lies in finding somewhere between the poles of "reviewing every word and almost certainly revising many of them" and (my phrasing) "writing nearly every word and taking responsibility for all of them." (Note that these positions are closer to each other than the ban/allow all LLMs positions!). I would be happy (well, willing :) ) to work together with people who hold different views, to try and come up with a phrasing that tries to find a midpoint here, if you think that would be helpful. Cheers and thanks, Tom