Discourse LLM Policy

Hello community,

There’s been some very understandable uncertainty, in our new and exciting/distressing age of LLM-infused internet culture, about what our norms for use of LLM-based tools should be — what constitutes spam, what should get flagged, etc. Thank you to everyone who has been working through this set of questions here in good faith and goodwill; for the most part, I’ve been quite proud of how our community has been operating under this uncertainty. The SC is working on establishing some organization-wide ground rules, which we expect will be roughly compatible with both these rules and the new Nixpkgs automation policy; in the meantime, here is what your friendly neighborhood Discourse moderators ask of you.

The Rules

  • Do not use LLMs to compose the content of posts, with the following two exceptions:
    • LLM-based translations are permitted, provided that the translation tool used is disclosed. We ask that the original, untranslated text is also included.
    • LLM-generated text may be quoted, as part of a substantially human-written post, with attribution given to the tool. Use quote block syntax for this on Discourse.
  • Posts that link to LLM-generated projects are permitted. We ask that you disclose when a project is substantially LLM-generated in your post. (It is not sufficient to disclose this only in your project documentation or website.) As in the above rule, the content of your announcement post may not be LLM-generated, and you may not use quote blocks to get around this prohibition.
  • As usual, we find it useful when we aren’t the only ones reminding people of the norms here. Just like it is on topic to remind someone not to treat others rudely, it is on topic to remind someone not to generate posts with LLMs. Please do not abuse the flagging system by flagging such posts, if there is nothing else amiss with them. (Please do flag violations of the first two rules!)

Commentary

Our Discourse is for humans to communicate with each other. Machine-generated content in this channel dilutes its purpose. Consider that anyone who is interested in getting the ‘opinion’ of a chatbot on any given conversation has the means to do so by transacting with the chatbot themself. Help, feedback, and attention from humans is a more precious commodity, and the place to get it is here.

This policy was partly inspired by the Nixpkgs automation/AI policy. That policy allows for more use of LLM output, provided those uses are disclosed, than this one does. The difference is that there is an argument for permitting, or at least experimenting with, using LLM-based tools to produce technical output — the end goal of that activity is not the technical output itself, but the features or fixes that the technical output enables.

It may be tempting to see helping someone on Discourse as similar — the end goal is that a user is helped with a problem, for example. However, we believe that the purpose of this space (in part) is to get human-backed help with a problem. Again, the user who is interested in getting machine-backed help has the option of doing so via their LLM service of choice.

Similarly, one may believe that the end goal of their post is to persuade someone of a point, and they may feel that they would be more persuasive if they allow an LLM to write their argument or marketing copy for them. However, again, our intention is not to make this space into a place where you can get persuaded by a chatbot. Bouncing your thoughts off of a chatbot is easily accomplished on any chatbot site. Here, you can have your opinions refined by other humans.

For these reasons, we believe that substituting LLMs for human authors of posts will degrade the value of this space, even if that use were to be disclosed along the lines of the Nixpkgs policy.

As with the Nixpkgs policy, this policy may evolve as the technology and its use in our community and the wider industry does. Private feedback on this policy to @moderators is welcome; public discussion should go in the Meta > Moderation category.

Examples

Allowed

Allowed example 1

I upgraded to 26.05 and now my favorite service doesn’t work. Here’s my NixOS configuration file:

...

And here’s the error I’m getting from the service:

...

I asked Claude about that error and it suggested that content-addressed derivations might help.

I understand your confusion! It isn’t an error; it’s a failure to execute correctly. The best advice I can give you is to make your package a content-addressed derivation. Would you like me to write you a flake?

But I didn’t understand what it was talking about. Can anyone help?

Allowed example 2

Allowed example 3

Announcing Boilr, the new project that lets you fry an egg on your GPU!

https://example.com/boilr/boilr

With this project, you can pour hundreds of watts into something really useful, like frying eggs. If you have any eggs that need frying, please check this out!

This project was written with assistance from Claude.

Disallowed

Disallowed example 1

I asked Claude about your configuration file, and it said:

This is a NixOS system configuration. Here’s my review:

[20 paragraphs of Claude output]

Disallowed example 2

Announcing Boilr, the new project that lets you fry an egg on your GPU!

https://example.com/boilr/boilr

[20 paragraphs of Claude output]

Disallowed example 3

Announcing Boilr, the new project that lets you fry an egg on your GPU!

https://example.com/boilr/boilr

[20 paragraphs of Claude output, but block-quoted! Checkmate, mods!]

Written with assistance from Claude.

28 Likes

Thank you for being sane and people-centric in your approach here. This looks very good.

6 Likes

Could you explain why this constitutes a violation of the policy? For instance, Allowed example 3 in the post you linked doesn’t disclose LLM usage until the end of the example. Is there some more specific rule that was accidentally left out of the policy as written?

1 Like

Fair question, but let’s keep discussion of the policy to this category.

These rules aren’t laws. We’re much more interested in the spirit than the letter — if I thought we could get away with ‘be respectful of each other’ and no other rules, that’s what we’d have engraved above the door. The rules are there as anchoring points that we can all reference, because everyone’s individual notion of ‘respectful’ is going to be different.

This policy in particular is concerned with being respectful of each other’s time. The ideal project announcement is written like traditional newspaper reporting: the most important details are in the first few lines, so that a reader who is skimming can determine if a closer read is worth their time.

Allowed example 3, importantly, is short. A quick skim tells the reader what is up. The referenced post takes more time to read, and a more attentive read, before someone who is uninterested in vibe-coded projects can realize that those minutes would have been better spent on something else.

Feel free to ask any follow-ups in PMs.

4 Likes

Please unlink my post from this thread.

Not sure how to delete my discourse account, so all notifications are disabled.

Good luck