]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add AI coding assistants guidance to CONTRIBUTING.md
authorOndřej Surý <ondrej@sury.org>
Wed, 22 Apr 2026 13:01:34 +0000 (15:01 +0200)
committerOndřej Surý (GitLab job 7253085) <ondrej@isc.org>
Mon, 27 Apr 2026 08:12:28 +0000 (08:12 +0000)
Adapted from the Linux kernel's Documentation/process/coding-assistants.rst
to the BIND 9 context. Adds three subsections under the existing
"Guidelines for Tool-Generated Content" section:

- Licensing and legal requirements (MPL-2.0, SPDX identifiers).
- Signed-off-by and Developer Certificate of Origin: AI agents must
  not add Signed-off-by trailers; only the human submitter may
  certify the DCO.
- Attribution: the Assisted-by: AGENT_NAME:MODEL_VERSION trailer
  for recording AI involvement, with an explicit prohibition on
  AI-added Co-Authored-By trailers (Co-Authored-By designates a
  human co-author who shares responsibility).

(cherry picked from commit 2339bcd49381f4ab58c3f7cc9f43e4edc57bbf67)

CONTRIBUTING.md

index 64f65215bf8ac10c625fff25ff42844aa850cf09..bc77b44c419eb494603dcc7d29254bc737256461 100644 (file)
@@ -326,6 +326,66 @@ choose how they handle the contribution.  For example, they might:
    to ensure the submitter fully understands the DNS logic or internal
    BIND 9 architecture implemented by the tool.
 
+#### AI coding assistants
+
+The following subsections apply specifically to AI coding assistants
+(LLMs, agentic development tools, chatbots, and similar generative AI
+systems) used when contributing to BIND 9.  AI tools helping with
+BIND 9 development should follow the standard contribution process
+described in this document, the [BIND 9 coding style](doc/dev/style.md),
+and the [developer information](doc/dev/dev.md) page.
+
+##### Licensing and legal requirements
+
+All AI-assisted contributions must comply with BIND 9's licensing
+requirements:
+
+ - All code must be compatible with `MPL-2.0`.
+ - Each source file must carry the appropriate `SPDX-License-Identifier`
+   (see the [`doc/dev/copyrights`](doc/dev/copyrights) file for the
+   `reuse` invocation used to add headers).
+ - The human submitter is responsible for verifying that AI-generated
+   content does not reproduce code from incompatible sources.
+
+##### Signed-off-by and Developer Certificate of Origin
+
+AI agents MUST NOT add `Signed-off-by` tags.  Only humans can legally
+certify the Developer Certificate of Origin reproduced above.  The
+human submitter is responsible for:
+
+ - Reviewing all AI-generated code.
+ - Ensuring compliance with licensing requirements.
+ - Taking full responsibility for the contribution.
+
+##### Attribution
+
+When AI tools contribute to BIND 9 development, proper attribution
+helps track the evolving role of AI in the development process.
+Contributions should include an `Assisted-by` tag in the commit
+message trailer, using the format:
+
+>       Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
+
+Where:
+
+ - `AGENT_NAME` is the name of the AI tool or framework.
+ - `MODEL_VERSION` is the specific model version used.
+ - `[TOOL1] [TOOL2]` are optional specialized analysis tools used
+   (e.g., coccinelle, clang-tidy, AFL, Coverity).
+
+Basic development tools (git, compilers, meson, ninja, editors,
+clang-format, black, ruff) should not be listed.
+
+Example:
+
+>       Assisted-by: Claude:claude-opus-4-7 coccinelle clang-tidy
+
+AI agents MUST NOT add `Co-Authored-By` trailers.  `Co-Authored-By`
+designates a human co-author who shares responsibility for the
+contribution; an AI tool is not a co-author and cannot accept that
+responsibility.  Use the `Assisted-by` trailer described above
+instead.
+
 #### Thanks
 
 Thank you for your interest in contributing to the ongoing development