리눅스 커널 기여 시 AI 활용 가이드라인
리눅스 커널 개발에 AI 코딩 도우미를 사용할 때 따라야 할 공식 가이드라인입니다. AI가 생성한 코드라도 최종 법적 책임과 코드 검증은 반드시 인간 개발자가 져야 하며, AI 도구의 도움을 받았음을 명시하는 'Assisted-by' 태그를 필수로 기재해야 합니다.
AI 코딩 도우미
이 문서는 리눅스 커널에 기여할 때 AI 도구와 개발자가 AI 보조 기능을 사용하는 경우에 대한 가이드라인을 제공합니다. 리눅스 커널 개발을 돕는 AI 도구는 표준 커널 개발 프로세스를 따라야 합니다:
Documentation/process/development-process.rst Documentation/process/coding-style.rst Documentation/process/submitting-patches.rst
라이선스 및 법적 요구 사항
모든 기여는 커널의 라이선스 요구 사항을 준수해야 합니다:
- 모든 코드는 GPL-2.0-only와 호환되어야 함
- 적절한 SPDX 라이선스 식별자 사용
- 자세한 내용은 Documentation/process/license-rules.rst 참조
서명(Samed-off-by) 및 개발자 기원 증명서(DCO)
AI 에이전트는 절대 Signed-off-by 태그를 추가해서는 안 됩니다. 개발자 기원 증명서(DCO, Developer Certificate of Origin)는 법적으로 사람만 인증할 수 있습니다.
인간 제출자는 다음 사항을 책임집니다:
- AI가 생성한 모든 코드 검토
- 라이선스 요구 사항 준수 보장
- DCO를 인증하기 위해 자신의 Signed-off-by 태그 추가
- 해당 기여에 대한 모든 책임 수행
출처 표기
AI 도구가 커널 개발에 기여할 때, 적절한 출처 표기는 개발 프로세스에서 AI의 진화하는 역할을 추적하는 데 도움이 됩니다. 기여에는 다음 형식의 Assisted-by 태그가 포함되어야 합니다:
Assisted-by: 에이전트_이름:모델_버전 [도구1] [도구2]
여기서:
- 에이전트_이름(AGENT_NAME): AI 도구 또는 프레임워크의 이름
- 모델_버전(MODEL_VERSION): 사용된 특정 모델의 버전
- [도구1] [도구2]: (선택 사항) 사용된 특수 분석 도구 (예: coccinelle, sparse, smatch, clang-tidy)
기본 개발 도구(git, gcc, make, 편집기)는 나열하지 않아야 합니다.
예시: Assisted-by: Claude:claude-3-opus coccinelle sparse