Skip to content

Commit ba2f7e3

Browse files
authored
Create AI usage policy for TLA Examples
Added a comprehensive AI usage policy for the TLA Examples project, outlining rules for AI contributions, human oversight, and the responsibilities of contributors. Adopted from https://github.com/apalache-mc/apalache/blob/main/AI_POLICY.md
1 parent 52c4c65 commit ba2f7e3

1 file changed

Lines changed: 101 additions & 0 deletions

File tree

AI_POLICY.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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

Comments
 (0)