From: Ondřej Surý Date: Wed, 22 Apr 2026 13:01:34 +0000 (+0200) Subject: Add AI coding assistants guidance to CONTRIBUTING.md X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c26db3c8cb031627313069ecfee4ea22d89ff10;p=thirdparty%2Fbind9.git Add AI coding assistants guidance to CONTRIBUTING.md 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) --- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64f65215bf8..bc77b44c419 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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