|
| 1 | +# AI Contribution Policy |
| 2 | + |
| 3 | +Chainloop is an open-source evidence store for Software Supply Chain |
| 4 | +attestations, SBOMs, VEX, SARIF, and other compliance artifacts. Correctness, |
| 5 | +security, and long-term maintainability are non-negotiable properties of the |
| 6 | +project. |
| 7 | + |
| 8 | +This policy sets clear expectations for AI-assisted contributions. It is not |
| 9 | +an anti-AI stance — maintainers and contributors alike use AI tools in their |
| 10 | +daily workflows, and we encourage you to do the same. AI can accelerate |
| 11 | +learning, improve documentation, generate test scaffolding, and help explore |
| 12 | +design alternatives. We welcome contributors who use AI as a productivity |
| 13 | +amplifier, not as a substitute for understanding. |
| 14 | + |
| 15 | +**AI tools are welcome in the Chainloop contributor workflow. The human |
| 16 | +contributor is always accountable for every line submitted.** |
| 17 | + |
| 18 | +## Contribution Guidelines |
| 19 | + |
| 20 | +The following rules apply to all contributions, regardless of how they were |
| 21 | +produced: |
| 22 | + |
| 23 | +- **Own your changes.** You must be able to explain every change you submit. |
| 24 | + "The AI generated it" is never an acceptable answer during review. |
| 25 | +- **Design before coding.** For non-trivial changes, open a GitHub Issue with |
| 26 | + clear reasoning before a PR. PRs that ignore established patterns will be |
| 27 | + closed. |
| 28 | +- **Quality over quantity.** One well-understood, well-tested PR is worth more |
| 29 | + than many AI-assisted drive-by fixes. A flood of low-effort PRs exhausts |
| 30 | + maintainer attention and delays everyone in the queue. |
| 31 | +- **Tests are required.** Bug fixes need regression tests; new features need |
| 32 | + unit and integration tests. AI-generated tests that do not actually exercise |
| 33 | + the relevant behaviour will be rejected. |
| 34 | +- **Legal compliance.** Chainloop is [Apache 2.0 licensed](LICENSE). |
| 35 | + Contributions must ensure: |
| 36 | + - No third-party copyrighted material has been reproduced without a compatible |
| 37 | + open source license and proper attribution. |
| 38 | + - When AI tools are used, their terms do not impose restrictions incompatible |
| 39 | + with Apache 2.0. |
| 40 | + |
| 41 | +## Disclosure |
| 42 | + |
| 43 | +If AI assisted in producing any part of your contribution, disclose it in the |
| 44 | +PR description. Add an `Assisted-by:` trailer to each affected commit: |
| 45 | + |
| 46 | +``` |
| 47 | +Assisted-by: GitHub Copilot |
| 48 | +Assisted-by: Claude Code |
| 49 | +Assisted-by: ChatGPT o3 |
| 50 | +``` |
| 51 | + |
| 52 | +Disclosure is not a penalty — it is trust infrastructure. It preserves |
| 53 | +transparency, helps reviewers calibrate their attention, and keeps provenance |
| 54 | +clear for the project's long-term health. |
| 55 | + |
| 56 | +## Engaging With Maintainers |
| 57 | + |
| 58 | +- **Respond personally.** Do not pipe review feedback back into an AI and |
| 59 | + apply the output blindly. Responses during review must reflect genuine |
| 60 | + understanding of the code and the project's design goals. |
| 61 | +- **No AI ping-pong.** If maintainers observe a pattern of AI-driven responses |
| 62 | + without real engagement, the PR will be closed without further explanation. |
| 63 | +- Maintainers reserve the right to close any low-effort AI contribution without |
| 64 | + a detailed technical critique. |
| 65 | + |
| 66 | +## Maintainer Use of AI |
| 67 | + |
| 68 | +Maintainers also use AI tools: for reviewing changes, exploring implementation |
| 69 | +options, and improving documentation. The same disclosure and ownership |
| 70 | +expectations apply to maintainer-authored commits. |
| 71 | + |
| 72 | +## Acknowledgements |
| 73 | + |
| 74 | +This policy is inspired by the |
| 75 | +[go-git AI Policy](https://github.com/go-git/go-git/blob/main/AI_POLICY.md), |
| 76 | +the [Kubewarden AI Policy](https://github.com/kubewarden/community/blob/main/AI_POLICY.md), |
| 77 | +the [CloudNativePG AI Policy](https://github.com/cloudnative-pg/governance/blob/main/AI_POLICY.md), |
| 78 | +and the [Kyverno AI Usage Policy](https://github.com/kyverno/kyverno/blob/main/AI_POLICY.md). |
| 79 | +It aligns with the Linux Foundation's |
| 80 | +[Generative AI guidance](https://www.linuxfoundation.org/legal/generative-ai) |
| 81 | +and the CNCF community's evolving norms on sustainable AI-assisted open source |
| 82 | +development. |
0 commit comments