|
| 1 | +# TLA+ Examples AI Usage Policy |
| 2 | + |
| 3 | +The TLA+ Examples project has strict rules for AI usage: |
| 4 | + |
| 5 | +- **All AI usage in any form must be disclosed.** You must state the tool you |
| 6 | +used (e.g. Codex, Claude Code, Cursor, Copilot) along with the extent that the |
| 7 | +work was AI-assisted. |
| 8 | + |
| 9 | +- **The human-in-the-loop must fully understand all TLA+ they contribute.** If |
| 10 | +you can't explain what your specification does and how it models the system |
| 11 | +without the aid of AI tools, do not contribute it to this project. |
| 12 | + |
| 13 | + In particular, if you are new to TLA+, you must be able to explain all TLA+ |
| 14 | + constructs in your contribution. AI tools are great helpers for learning. Use |
| 15 | + them to understand your specification. |
| 16 | + |
| 17 | +- **Issues and discussions must be written by humans.** AI tools are good at |
| 18 | +producing lengthy prose, but this prose is hard to read for humans. We prefer |
| 19 | +text that demonstrates human reasoning. It is okay to have spelling and grammar |
| 20 | +mistakes, as long as you have put some thinking into your writing. |
| 21 | + |
| 22 | + If you use AI to do research, you may quote the results of that research in a |
| 23 | + clearly marked blockquote. However, you must verify the results before quoting |
| 24 | + them, and you must trim the results down to the relevant information. |
| 25 | + |
| 26 | +- **Descriptions of Pull Requests must be written by humans.** Pull requests |
| 27 | +should specify: the intent of the change, the key design decisions, the parts of |
| 28 | +the specification or repository affected, and the key changes (briefly). The |
| 29 | +size of the PR text must be proportional to the size of the change. A small |
| 30 | +change does not need a 5-page description. |
| 31 | + |
| 32 | +- **No AI-generated media is allowed (art, images, videos, audio, etc.).** Text, |
| 33 | +TLA+ specifications, and code are the only acceptable AI-generated content, per |
| 34 | +the other rules in this policy. |
| 35 | + |
| 36 | +- **The number of active Pull Requests is limited.** It takes effort to open a |
| 37 | +high-quality Pull Request. You have to prioritize your contributions and submit |
| 38 | +the important ones first. |
| 39 | + |
| 40 | +- **Signed-off-by and Developer Certificate of Origin.** AI agents MUST NOT add |
| 41 | +Signed-off-by tags. Only humans can legally certify the Developer Certificate of |
| 42 | +Origin (DCO). The human submitter is responsible for: |
| 43 | + |
| 44 | + - Reviewing all AI-generated content |
| 45 | + |
| 46 | + - Ensuring compliance with licensing requirements |
| 47 | + |
| 48 | + - Adding their own Signed-off-by tag to certify the DCO |
| 49 | + |
| 50 | + - Taking full responsibility for the contribution |
| 51 | + |
| 52 | + Moreover, read the [LF Guidance on Generative AI][lf-generative-ai] to |
| 53 | + understand the copyright and licensing implications of using AI tools. |
| 54 | + |
| 55 | +**The above rules apply only to outside contributions to TLA+ Examples**. Maintainers |
| 56 | +are exempt from these rules and may use AI tools at their discretion. They have |
| 57 | +proven themselves trustworthy to apply good judgment. |
| 58 | + |
| 59 | +## There are Humans Here |
| 60 | + |
| 61 | +Please remember that TLA+ Examples is maintained by humans. The specifications in this |
| 62 | +repository have been written and curated by humans. This means that many specification, |
| 63 | +modeling, and repository decisions do not follow the canned recipes of the AI tools. |
| 64 | +Due to that, the AI tools may fail to understand the intent behind a specification. |
| 65 | + |
| 66 | +Every discussion, issue, and pull request is read and reviewed by humans (and |
| 67 | +sometimes machines, too). It is a boundary point at which people interact with |
| 68 | +each other and the work done. It is rude and disrespectful to approach this |
| 69 | +boundary with low-effort, unqualified work, since it puts the burden of |
| 70 | +validation on the maintainers. Most of the time, the maintainers are not paid |
| 71 | +for doing this work, and they aim at improving the project quality, not reading |
| 72 | +the inference of AI tools. |
| 73 | + |
| 74 | +## AI is Welcome Here |
| 75 | + |
| 76 | +The maintainers of TLA+ Examples embrace the use of AI. We are careful about |
| 77 | +the specifications in this repository, as they have been written and curated by |
| 78 | +humans, who put plenty of their thought into them. |
| 79 | + |
| 80 | +**Our reason for the strict AI policy is not due to an anti-AI stance**. We |
| 81 | +understand that many external contributors are trying to help the project. We |
| 82 | +also know that it is tempting to shoot an AI tool at a problem and see it |
| 83 | +"solved". Unfortunately, the AI tools do not have understanding of the impact |
| 84 | +of their output. We may see TLA+ that appears to solve the problem or correctly |
| 85 | +specify a system, but is not properly understood by the contributor, integrated |
| 86 | +into the repository, or tested. As a result, the maintainers can have to spend |
| 87 | +hours of their time validating or fixing work that was generated in minutes. |
| 88 | + |
| 89 | +## References |
| 90 | + |
| 91 | +This policy is adapted from the [Apalache AI Usage Policy][apalache-ai-policy], |
| 92 | +which derives from the following AI policies and guidelines: |
| 93 | + |
| 94 | + - Large parts of the [Ghostty AI Policy][ghostty-ai-policy] |
| 95 | + - [Linux Foundation Generative AI Policy][lf-generative-ai] |
| 96 | + - [Kernel Coding Assistants][kernel-coding-assistants] |
| 97 | + |
| 98 | +[apalache-ai-policy]: https://github.com/apalache-mc/apalache/blob/main/AI_POLICY.md |
| 99 | +[ghostty-ai-policy]: https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md |
| 100 | +[lf-generative-ai]: https://www.linuxfoundation.org/legal/generative-ai |
| 101 | +[kernel-coding-assistants]: https://kernel.org/doc/html/next/process/coding-assistants.html |
0 commit comments