Skip to content

Commit 39b580a

Browse files
committed
doc: add policy on LLM-generated contributions
Add doc/contributing/ai-contributions.md banning LLM-generated content from commits. Scoped to committed content only, excluding discussion, vendored deps, and accessibility tools. Enforcement uses consensus seeking. Rationale covers reviewer burden and DCO compatibility. References added in CONTRIBUTING.md and the collaborator guide.
1 parent 38647b3 commit 39b580a

File tree

3 files changed

+91
-0
lines changed

3 files changed

+91
-0
lines changed

CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ works.
1919
* [Code of Conduct](#code-of-conduct)
2020
* [Issues](#issues)
2121
* [Pull Requests](#pull-requests)
22+
* [Policy on LLM-generated contributions](#policy-on-llm-generated-contributions)
2223
* [Developer's Certificate of Origin 1.1](#developers-certificate-of-origin-11)
2324

2425
## [Code of Conduct](./doc/contributing/code-of-conduct.md)
@@ -47,6 +48,13 @@ dependencies, and tools contained in the `nodejs/node` repository.
4748
* [Reviewing Pull Requests](./doc/contributing/pull-requests.md#reviewing-pull-requests)
4849
* [Notes](./doc/contributing/pull-requests.md#notes)
4950

51+
## [Policy on LLM-generated contributions](./doc/contributing/ai-contributions.md)
52+
53+
Do not submit commits containing content written in whole or in part by a
54+
large language model (LLM) or AI code-generation tool.
55+
56+
See the [full policy on LLM-generated contributions](./doc/contributing/ai-contributions.md).
57+
5058
## Developer's Certificate of Origin 1.1
5159

5260
```text
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Policy on LLM-generated contributions
2+
3+
* [Policy](#policy)
4+
* [Scope](#scope)
5+
* [Enforcement](#enforcement)
6+
* [Rationale](#rationale)
7+
8+
## Policy
9+
10+
Do not submit commits containing code, documentation, or other content
11+
written in whole or in part by a large language model (LLM), AI
12+
code-generation tool, or similar technology. This includes cases where an
13+
LLM produced a draft that the contributor then edited. Contributors must be
14+
the sole human authors of the changes they submit.
15+
16+
## Scope
17+
18+
This applies to content that lands in the repository: source code,
19+
documentation, tests, tooling, and other files submitted via pull requests.
20+
21+
It does not apply to:
22+
23+
* Pull request descriptions, review comments, issue discussion, or other
24+
communication that is not part of the committed tree. Those are covered by
25+
general expectations around good-faith participation and the
26+
[Code of Conduct][].
27+
* Vendored dependencies and other vendored content (e.g. code under `deps/`
28+
and vendored code under `tools/`). That content is maintained upstream
29+
under its own governance.
30+
* AI-powered accessibility tools like screen readers or text-to-speech
31+
software, provided they do not influence the content of the contribution.
32+
33+
## Enforcement
34+
35+
This policy cannot be fully enforced. There is no reliable way to determine
36+
whether code was written by a human or generated by an LLM. Detection tools
37+
have high error rates, and generated output can be trivially edited to avoid
38+
detection. Compliance relies on contributor good faith.
39+
40+
If a collaborator suspects a pull request contains LLM-generated content,
41+
they should raise the concern in the pull request. The normal
42+
[consensus seeking][] process applies: collaborators discuss, the author can
43+
respond, and a good-faith determination is made. If consensus is that the
44+
contribution violates this policy, it must not land. If consensus cannot be
45+
reached, the matter can be escalated to the TSC.
46+
47+
When evaluating a concern:
48+
49+
* Stylistic resemblance to LLM output is not sufficient on its own. Some
50+
people write that way. Consider the contributor's history, the nature of
51+
the change, and whether they can engage with review feedback.
52+
* Do not cite AI content-detection tools as evidence. They are unreliable.
53+
* If a contributor is asked directly whether they used LLM tools and
54+
responds dishonestly, that undermines the good faith this policy depends
55+
on. This should weigh against them in any consensus determination.
56+
57+
## Rationale
58+
59+
Contributors to this project need to be able to explain their changes,
60+
respond to review, and take responsibility for what they submit.
61+
LLM-generated pull requests do not meet that bar.
62+
63+
Collaborators review every change on a volunteer basis. LLM-generated
64+
submissions shift the verification burden onto those reviewers, with no
65+
assurance the contributor has done that work themselves.
66+
67+
The copyright status of LLM output is unresolved. Training data for popular
68+
models includes material under licensing terms that may not be compatible
69+
with the Node.js license. Contributors certify their submissions under the
70+
[Developer's Certificate of Origin 1.1][DCO], which requires that the
71+
contribution was created by them and that they have the right to submit it.
72+
It is not clear how anyone can honestly certify that for LLM output.
73+
74+
This policy can be revisited if the legal situation or the tools change.
75+
76+
[Code of Conduct]: https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md
77+
[DCO]: ../../CONTRIBUTING.md#developers-certificate-of-origin-11
78+
[consensus seeking]: ../../GOVERNANCE.md#consensus-seeking-process

doc/contributing/collaborator-guide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ Pay special attention to pull requests for dependencies which have not
132132
been automatically generated and follow the guidance in
133133
[Maintaining Dependencies](https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-dependencies.md#updating-dependencies).
134134

135+
The project does not accept commits containing LLM-generated content. See the
136+
[policy on LLM-generated contributions][] for the full policy and the process
137+
for raising concerns during review.
138+
135139
In some cases, it might be necessary to summon a GitHub team to a pull request
136140
for review by @-mention.
137141
See [Who to CC in the issue tracker](#who-to-cc-in-the-issue-tracker).
@@ -1057,6 +1061,7 @@ need to be attached anymore, as only important bugfixes will be included.
10571061
[macos]: https://github.com/orgs/nodejs/teams/platform-macos
10581062
[node-core-utils-credentials]: https://github.com/nodejs/node-core-utils#setting-up-credentials
10591063
[node-core-utils-issues]: https://github.com/nodejs/node-core-utils/issues
1064+
[policy on LLM-generated contributions]: ai-contributions.md
10601065
[ppc]: https://github.com/orgs/nodejs/teams/platform-ppc
10611066
[s390]: https://github.com/orgs/nodejs/teams/platform-s390
10621067
[smartos]: https://github.com/orgs/nodejs/teams/platform-smartos

0 commit comments

Comments
 (0)