1*78d979dbSSasha Levin.. SPDX-License-Identifier: GPL-2.0 2*78d979dbSSasha Levin 3*78d979dbSSasha Levin.. _coding_assistants: 4*78d979dbSSasha Levin 5*78d979dbSSasha LevinAI Coding Assistants 6*78d979dbSSasha Levin++++++++++++++++++++ 7*78d979dbSSasha Levin 8*78d979dbSSasha LevinThis document provides guidance for AI tools and developers using AI 9*78d979dbSSasha Levinassistance when contributing to the Linux kernel. 10*78d979dbSSasha Levin 11*78d979dbSSasha LevinAI tools helping with Linux kernel development should follow the standard 12*78d979dbSSasha Levinkernel development process: 13*78d979dbSSasha Levin 14*78d979dbSSasha Levin* Documentation/process/development-process.rst 15*78d979dbSSasha Levin* Documentation/process/coding-style.rst 16*78d979dbSSasha Levin* Documentation/process/submitting-patches.rst 17*78d979dbSSasha Levin 18*78d979dbSSasha LevinLicensing and Legal Requirements 19*78d979dbSSasha Levin================================ 20*78d979dbSSasha Levin 21*78d979dbSSasha LevinAll contributions must comply with the kernel's licensing requirements: 22*78d979dbSSasha Levin 23*78d979dbSSasha Levin* All code must be compatible with GPL-2.0-only 24*78d979dbSSasha Levin* Use appropriate SPDX license identifiers 25*78d979dbSSasha Levin* See Documentation/process/license-rules.rst for details 26*78d979dbSSasha Levin 27*78d979dbSSasha LevinSigned-off-by and Developer Certificate of Origin 28*78d979dbSSasha Levin================================================= 29*78d979dbSSasha Levin 30*78d979dbSSasha LevinAI agents MUST NOT add Signed-off-by tags. Only humans can legally 31*78d979dbSSasha Levincertify the Developer Certificate of Origin (DCO). The human submitter 32*78d979dbSSasha Levinis responsible for: 33*78d979dbSSasha Levin 34*78d979dbSSasha Levin* Reviewing all AI-generated code 35*78d979dbSSasha Levin* Ensuring compliance with licensing requirements 36*78d979dbSSasha Levin* Adding their own Signed-off-by tag to certify the DCO 37*78d979dbSSasha Levin* Taking full responsibility for the contribution 38*78d979dbSSasha Levin 39*78d979dbSSasha LevinAttribution 40*78d979dbSSasha Levin=========== 41*78d979dbSSasha Levin 42*78d979dbSSasha LevinWhen AI tools contribute to kernel development, proper attribution 43*78d979dbSSasha Levinhelps track the evolving role of AI in the development process. 44*78d979dbSSasha LevinContributions should include an Assisted-by tag in the following format:: 45*78d979dbSSasha Levin 46*78d979dbSSasha Levin Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2] 47*78d979dbSSasha Levin 48*78d979dbSSasha LevinWhere: 49*78d979dbSSasha Levin 50*78d979dbSSasha Levin* ``AGENT_NAME`` is the name of the AI tool or framework 51*78d979dbSSasha Levin* ``MODEL_VERSION`` is the specific model version used 52*78d979dbSSasha Levin* ``[TOOL1] [TOOL2]`` are optional specialized analysis tools used 53*78d979dbSSasha Levin (e.g., coccinelle, sparse, smatch, clang-tidy) 54*78d979dbSSasha Levin 55*78d979dbSSasha LevinBasic development tools (git, gcc, make, editors) should not be listed. 56*78d979dbSSasha Levin 57*78d979dbSSasha LevinExample:: 58*78d979dbSSasha Levin 59*78d979dbSSasha Levin Assisted-by: Claude:claude-3-opus coccinelle sparse 60