|
| 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 |
0 commit comments