coding-assistants.rst 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. .. SPDX-License-Identifier: GPL-2.0
  2. .. _coding_assistants:
  3. AI Coding Assistants
  4. ++++++++++++++++++++
  5. This document provides guidance for AI tools and developers using AI
  6. assistance when contributing to the Linux kernel.
  7. AI tools helping with Linux kernel development should follow the standard
  8. kernel development process:
  9. * Documentation/process/development-process.rst
  10. * Documentation/process/coding-style.rst
  11. * Documentation/process/submitting-patches.rst
  12. Licensing and Legal Requirements
  13. ================================
  14. All contributions must comply with the kernel's licensing requirements:
  15. * All code must be compatible with GPL-2.0-only
  16. * Use appropriate SPDX license identifiers
  17. * See Documentation/process/license-rules.rst for details
  18. Signed-off-by and Developer Certificate of Origin
  19. =================================================
  20. AI agents MUST NOT add Signed-off-by tags. Only humans can legally
  21. certify the Developer Certificate of Origin (DCO). The human submitter
  22. is responsible for:
  23. * Reviewing all AI-generated code
  24. * Ensuring compliance with licensing requirements
  25. * Adding their own Signed-off-by tag to certify the DCO
  26. * Taking full responsibility for the contribution
  27. Attribution
  28. ===========
  29. When AI tools contribute to kernel development, proper attribution
  30. helps track the evolving role of AI in the development process.
  31. Contributions should include an Assisted-by tag in the following format::
  32. Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
  33. Where:
  34. * ``AGENT_NAME`` is the name of the AI tool or framework
  35. * ``MODEL_VERSION`` is the specific model version used
  36. * ``[TOOL1] [TOOL2]`` are optional specialized analysis tools used
  37. (e.g., coccinelle, sparse, smatch, clang-tidy)
  38. Basic development tools (git, gcc, make, editors) should not be listed.
  39. Example::
  40. Assisted-by: Claude:claude-3-opus coccinelle sparse