리눅스 커널 기여 시 AI 보조 도구 사용 지침
(github.com/torvalds)- Linux 커널 개발에서 AI 코딩 보조 도구 사용 절차와 책임을 규정한 공식 문서
- 모든 AI 기반 기여는 기존의 커널 개발 프로세스와 코딩 스타일 규칙을 그대로 따라야 함
- GPL-2.0-only 라이선스와 호환되어야 하며, 코드에는 SPDX 식별자를 명시해야 함
- AI는 Signed-off-by 태그를 추가할 수 없으며, 인간 개발자가 모든 AI 생성 코드를 검토하고 법적 책임을 져야 함
- AI가 기여한 경우 Assisted-by 태그로 모델명과 버전을 명확히 표시해 투명성을 확보해야 함
AI 코딩 보조 도구 지침
- AI 도구를 활용한 커널 기여 절차와 책임을 명확히 규정한 문서
- 모든 AI 기반 기여는 기존의 표준 커널 개발 프로세스를 준수해야 함
- 관련 문서:
development-process.rst,coding-style.rst,submitting-patches.rst
- 관련 문서:
라이선스 및 법적 요구사항
- 모든 기여는 GPL-2.0-only 라이선스와 호환되어야 함
- 코드에는 적절한 SPDX 라이선스 식별자를 포함해야 함
- 세부 규칙은
Documentation/process/license-rules.rst에 따름
Signed-off-by 및 개발자 기원 증명서(DCO)
- AI 에이전트는 Signed-off-by 태그를 추가할 수 없음, 이는 법적으로 인간만이 인증 가능함
- 인간 제출자는 다음 사항에 대한 책임을 가짐
- 모든 AI 생성 코드 검토
-
라이선스 요건 준수 보장
- 자신의 Signed-off-by 태그 추가로 DCO 인증
- 전체 기여에 대한 법적·기술적 책임 부담
출처 표시
- AI 도구가 커널 개발에 기여한 경우, Assisted-by 태그를 통해 명확히 표시해야 함
- 형식:
Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]-
AGENT_NAME: 사용된 AI 도구 또는 프레임워크 이름 -
MODEL_VERSION: 사용된 모델의 구체적 버전 -
[TOOL1] [TOOL2]: 선택적 분석 도구 (예: coccinelle, sparse, smatch, clang-tidy)
-
- 기본 개발 도구(git, gcc, make, 편집기 등)는 목록에 포함하지 않음
- 예시:
Assisted-by: Claude:claude-3-opus coccinelle sparse
Hacker News 의견들
-
기본 규칙은 AI를 써도 되지만, 커밋에 대한 책임은 전적으로 사람에게 있음
코드가 라이선스를 충족해야 한다는 점이 상식적으로 들림. 대부분의 개발자들이 동의할 만한 내용임- 이건 정말 정상적이고 지루할 정도로 합리적인 정책임
다만 이런 걸 굳이 명시해야 한다는 게 놀라움
요즘은 AI가 생성한 코드를 이해하지도 못한 채 오픈소스에 올리고, 나중에 문제 생기면 “AI가 그랬다”고 책임을 회피하는 경우가 많음
이런 상황에서 유지보수자가 AI 코드에 회의적인 건 당연함 - Linux 커뮤니티에는 AI 보조 커밋을 극도로 반대하는 사람들이 많음
Torvalds의 이번 정책 때문에 배신자라고 보는 이들도 있고, AI 생성 코드가 병합되면 다시는 기여하지 않겠다는 사람도 있음 - AI 출력물이 GNU GPL이 아니라면, 단순히 Linux 개발자가 추가했다고 해서 GPL 코드가 되는지 의문임
- AI는 단순한 도구(tool) 일 뿐인데, 굳이 저작자로 명시해야 하는 이유가 있는지 모르겠음
- 이건 정말 정상적이고 지루할 정도로 합리적인 정책임
-
최근 Greg KH가 Sashiko AI 리뷰어를 모든 패치에 적용한 걸 본 직후라, 이번 정책이 다소 대조적으로 느껴짐
AI 리뷰어는 실제로 도움이 되고 있는데, 여전히 “AI 코드에 대한 책임” 논의에 머물러 있음
AI가 자신감 있게 틀리는 경쟁 상태나 락 문제가 진짜 위험한 부분임
이런 정책이 장기 해법인지, 아니면 Sashiko 같은 시스템이 유지보수 측에서 필터링을 강화하기 전의 임시방편인지 궁금함 -
Torvalds가 발표한 정책은 인간이 AI 코드에 대해 검토·서명·책임을 지도록 명확히 규정했음
변호사 검토를 거쳤을 것으로 보이며, 앞으로 AI 보조 개발의 기준이 될 수 있을 것 같음- 하지만 실제 문서는 Sasha Levin이 Linux 메인테이너 토론을 바탕으로 작성한 것임
- ‘Signed-off-by’는 이미 형식적인 절차로, 많은 초보 기여자들이 의미도 모른 채 붙이는 경우가 많음
실제로 내 패치가 다른 사람의 리팩터링에 포함되면서 내 이름이 자동으로 들어간 적이 있음
사실상 아무나 “Co-developed-by”나 “Signed-off-by”를 추가할 수 있고, 법적 구속력은 거의 없음
-
LLM이 출처를 명시하지 못하는데, 어떻게 라이선스 준수를 보장할 수 있을지 의문임
- 독일에서는 LLM 출력물이 저작권 보호 대상이 아님
저작자는 AI 사용자일 수도, 모델 개발자일 수도 있어 법적 불확실성이 큼
이런 상황이라면 장기적으로 커널 라이선스 자체가 무력화될 가능성도 있음
관련 내용은 KPMG Law의 AI와 저작권 글에서 다룸
- 독일에서는 LLM 출력물이 저작권 보호 대상이 아님
-
“Assisted-by:” 태그를 AI 모델 표시에 재활용하는 게 이상함
원래는 사람의 도움을 표시하던 태그인데, 이제 두 가지 의미가 생겨 혼란스러움
보통은 “AI-assistant:” 같은 별도 태그를 쓰는 게 일반적임 -
오픈소스의 올바른 방향은 인간과 에이전트의 연결을 명확히 하고, 인간이 최종 검증 책임을 지는 것임
Linus에게 감사함 -
AI가 만든 코드라도 책임은 인간에게 있음이라는 상식적인 원칙이 반가움
-
“나쁜 장인은 도구를 탓한다”는 옛말의 반전 같음
결국 도구 선택과 사용 책임은 사람에게 있음 -
이 정책이 Linux를 저작권 침해 책임에서 보호해주지는 않음
마치 소매점이 “공급업체가 THC를 제거했을 거라 믿는다”고 말하는 것과 비슷함
스스로 면책을 선언한다고 해서 법적 책임이 사라지는 건 아님- 하지만 Linux 커널은 법적 실체가 아니라 기여자들의 집합체임
설령 침해 코드가 포함돼도 소송 대상은 Linux 사용자나 기업이 될 것임
현실적으로 이런 소송이 일어날 가능성은 낮음 - AI 코드 쓰는 회사가 많지만, 그렇다고 모두 법적 책임을 지는 건 아님
- 오픈소스 프로젝트는 상점과 달리 소비자 보증을 제공하지 않음
비유 자체가 맞지 않음 - 사실 AI 코드라고 해서 더 위험한 건 아님
사람이 마음만 먹으면 비공개 코드를 복붙해서 서명할 수도 있음
결국 문제는 거짓말하는 인간임
- 하지만 Linux 커널은 법적 실체가 아니라 기여자들의 집합체임
-
“모든 코드는 GPL-2.0-only와 호환돼야 한다”는 조항이 있는데,
AI가 다양한 라이선스의 코드로 학습된 상황에서 그걸 어떻게 보장할 수 있을지 의문임- 답은 간단함. AI를 쓴 사람이 책임을 짐
AI가 잘못하면 그 책임도 사람에게 있음. 불안하면 AI를 쓰지 말아야 함 - 사실 인간 개발자도 GPL 코드만 본 건 아님
- 저작권 해석은 법원이 할 일임. Torvalds가 예측할 문제는 아님
다만 AI가 런타임에 다른 코드베이스를 참조한다면 더 위험할 수 있음 - 어떤 사람은 “AI가 만든 코드는 퍼블릭 도메인이므로 GPL 위반이 아니다”라고 주장함
하지만 이런 접근은 오히려 라이선스의 의미를 희석시킬 수 있음
“AI가 100% 작성했지만 내가 검토했다”는 주석만으로는 법적 효력이 약함
이런 문제를 알리기 위해 “100% vibecoded” 프로젝트에 퍼블릭 도메인 재라이선스 이슈를 열자는 제안도 있음
- 답은 간단함. AI를 쓴 사람이 책임을 짐