Linux 3분 소요

리눅스 커널이 AI 코딩 어시스턴트에게 내건 조건 — 오픈소스의 문지기가 그은 선

AI가 코드를 짜는 시대, 세계에서 가장 까다로운 코드 리뷰 문화를 가진 프로젝트가 드디어 공식 입장을 냈습니다. 리눅스 커널입니다. 수십억 대의 기기를 움직이는 이 코드베이스가 AI 코딩 도구에 대해 어떤 선을 그었는지, 그리고 그것이 오픈소스 생태계 전체에 어떤 신호를 보내는지 살펴보겠습니다.

커널 문서에 AI 가이드라인이 등장한 배경

리눅스 커널은 연간 수만 건의 패치가 올라오는 거대한 프로젝트입니다. 메인테이너들은 이미 리뷰 부담에 시달리고 있었는데, 여기에 AI가 생성한 패치까지 쏟아지기 시작한 겁니다. Copilot, ChatGPT, Claude 같은 도구로 만든 코드가 메일링 리스트에 올라오는 빈도가 눈에 띄게 늘었습니다.

문제는 품질이었습니다. AI가 생성한 패치 중 상당수가 표면적으로는 그럴듯해 보이지만, 커널의 맥락을 이해하지 못한 채 작성된 것들이었습니다. 메인테이너들이 “이거 AI가 쓴 거 아니냐"고 지적하는 일이 반복되면서, 커뮤니티 차원의 공식 정책이 필요하다는 목소리가 커졌습니다.

핵심 원칙: “코드에 이름을 거는 사람이 책임진다”

리눅스 커널의 AI 가이드라인에서 가장 중요한 원칙은 명확합니다. Signed-off-by를 찍는 사람이 그 코드의 모든 책임을 진다는 것입니다.

AI 도구를 사용했든 안 했든, 패치를 제출하는 개발자는 해당 코드가 라이선스를 준수하고, 정확하며, 커널 코딩 표준에 맞는지 직접 검증해야 합니다. AI는 도구일 뿐, 기여자의 책임을 대신해 주지 않습니다.

이건 커널이 오래전부터 지켜온 DCO(Developer Certificate of Origin) 체계와 일맥상통합니다. 코드를 제출할 때 “이 코드가 오픈소스 라이선스에 부합함을 내가 보증한다"고 서명하는 구조인데, AI 생성 코드에도 이 원칙이 동일하게 적용되는 것입니다.

AI를 “공동 저자"로 쓸 수 없는 이유

일부 프로젝트에서는 AI를 Co-authored-by로 표기하는 관행이 생겨나고 있습니다. 하지만 리눅스 커널은 이를 허용하지 않습니다.

이유는 단순합니다. 커널의 기여 체계에서 저자 표기는 곧 법적 책임과 연결됩니다. AI는 법적 주체가 아니기 때문에, 문제가 생겼을 때 책임을 물을 대상이 없어집니다. 커널 커뮤니티는 “AI가 만든 코드"가 아니라 “사람이 AI를 활용해 만들고, 검증하고, 책임지는 코드"만 받아들입니다.

Linus Torvalds 본인도 AI 코딩 도구 자체에 대해서는 열린 태도를 보여왔습니다. 그가 경계하는 것은 AI 도구가 아니라, AI를 핑계로 리뷰 없이 코드를 밀어넣으려는 태도입니다.

메인테이너에게 주어진 거부권

가이드라인은 메인테이너들에게 명시적인 권한을 부여합니다. AI 생성이 의심되는 패치에 대해 추가 설명을 요구하거나, 해당 패치를 거부할 수 있는 재량권입니다.

실제로 커널 메일링 리스트에서는 이미 이런 일이 벌어지고 있었습니다. “이 패치의 로직을 설명해 달라"는 메인테이너의 질문에 제출자가 제대로 답하지 못하면, 그 패치는 사실상 사장됩니다. AI로 코드를 생성한 뒤 이해하지도 못한 채 제출한 경우가 여기에 해당합니다.

이 정책이 의미하는 바는 분명합니다. 커널에 기여하고 싶다면, AI가 짠 코드라도 한 줄 한 줄 설명할 수 있어야 합니다.

오픈소스 생태계에 던지는 신호

리눅스 커널의 이번 가이드라인은 단순히 한 프로젝트의 내부 규칙이 아닙니다. 오픈소스 세계에서 커널이 갖는 상징성을 생각하면, 이건 일종의 업계 표준 선언에 가깝습니다.

이미 여러 대형 오픈소스 프로젝트들이 비슷한 고민을 하고 있습니다. AI 생성 코드의 저작권은 누구에게 있는가, AI가 학습 데이터에서 GPL 코드를 가져왔다면 라이선스 위반인가, AI로 대량 생성한 저품질 PR이 메인테이너를 지치게 하면 어떡할 것인가.

커널의 답은 명쾌합니다. 기술의 문제가 아니라 책임의 문제로 접근한 것입니다. AI를 쓰든 말든, 코드에 이름을 거는 사람이 모든 것을 책임지면 됩니다. 도구가 아무리 발전해도, 코드를 세상에 내놓는 것은 결국 사람의 판단이라는 원칙입니다.


리눅스 커널은 30년 넘게 “좋은 코드란 무엇인가"에 대한 기준을 세워온 프로젝트입니다. 그 프로젝트가 AI 시대에 내놓은 답이 “더 엄격한 규제"가 아니라 “기존 원칙의 재확인"이었다는 점이 흥미롭습니다. AI를 도구로 쓰되, 그 결과물에 대한 책임은 온전히 사람에게 — 여러분은 AI가 짠 코드에 자신의 이름을 걸 수 있을 만큼, 그 코드를 이해하고 계신가요?

Linux AI코딩 오픈소스 Linus Torvalds 커널개발

댓글

    댓글을 불러오는 중...