Linus Torvalds, AI 도구 규제에 대해 '완전히 바보 같다'고 지적하며 대체 규칙을 제시하다
요약
Linus Torvalds는 리눅스 커널 기여물에 AI 사용 여부를 표시하는 `Assisted-by` 태그 폐지를 지지하며, AI 코드 자체를 금지하는 규칙은 '바보 같다'고 비판했습니다. 그는 개발자가 도구보다는 코드를 깊이 이해하고 최선을 다할 것을 기대한다고 강조합니다.
핵심 포인트
- AI 사용 여부 태그(Assisted-by) 폐지를 지지하며, 과도한 규제를 경계함.
- 개발자는 도구를 넘어 코드의 근본적인 작동 원리를 이해해야 함을 강조.
- 향후 AI 사용 내역은 커밋별 태그 대신 패치 커버 레터에서 설명될 예정임.
리눅스 커널이 기여자들에게 AI 도움을 받은 커밋에 붙이도록 요청했던 Assisted-by 태그를 폐지할 예정입니다. Linus Torvalds는 이 변화를 지지했으며, 한 개발자가 LKML(Linux Kernel Mailing List)에서 반대 의견을 제시했을 때 그는 "당신의 도구를 통제하는 규칙은 완전히 바보 같다(UTTERLY STUPID)"고 말했습니다. 그의 논리에 따르면, AI가 작성한 코드를 전면적으로 금지하는 것도 같은 실수입니다. 며칠 전만 해도 QGIS는 방향을 바꿔 메인 저장소에서 AI 도움을 받은 코드를 금지했습니다.
두 개의 심각한 오픈 소스 프로젝트가 동일한 LLM(대규모 언어 모델) 패치 홍수를 살펴보고 정반대의 규칙을 작성했습니다. 저는 커널의 규칙이 더 낫다고 생각하며, 어떤 프로젝트의 CONTRIBUTING.md에도 복사해 넣고 싶습니다. 하지만 이를 복사하는 대부분의 프로젝트는 작동하게 만드는 부분을 건너뛰기 때문에, 아래쪽에 붙여넣기만 하면 되는 버전이 있습니다.
Linus Torvalds가 AI 코드에 대해 실제로 말한 내용
먼저 배경 지식을 알아야 합니다. 헤드라인 기사들이 내용을 흐렸기 때문입니다.
리눅스 7.0 버전 이후로 커널의 AI 코딩 어시스턴트 가이드는 개발자들에게 LLM 도움으로 작성된 커밋에 Assisted-by 태그를 추가하도록 요청해 왔습니다. 2026년 10월 8일 프라하에서 열린 메인테이너 서밋(Maintainers Summit)에서, 초청된 약 30명의 개발자 대다수가 이 태그 폐지에 찬성했습니다. 10월 9일 Sasha Levin (stable/LTS 공동 메인테이너, Nvidia)은 이 요구사항을 제거하는 패치를 게시했습니다. 그가 10월 13일에 수정한 버전에는 다음과 같은 숫자가 포함되어 있었습니다: 리눅스 7.3의 -rc7까지의 18,533개 비병합(non-merge) 커밋 중 태그를 가진 것은 약 10%에 불과했으며, 그는 실제 AI 사용률은 훨씬 높다고 말합니다. 사람들은 규칙을 몰랐거나 무시했을 뿐이며, 메인테이너들이 요청하는 일도 거의 없었습니다. (heise)
Laurent Pinchart는 태그 폐지에 반대했습니다. Torvalds는 10월 13일 LKML에서 다음과 같이 답했습니다:
너에게 새로운 규칙을 하나 알려주지: 커널 제출물에 컴파일러를 사용하지 마라. 왜냐하면 어셈블리(assembler)로 코드를 작성하여 기계가 실제로 무엇을 하는지 진정으로 이해하고 있다는 것을 보여줄 수 없다면, 나는 네 코드 기여는 보고 싶지 않기 때문이다.
그가 기대하는 바를 말하자면 다음과 같다:
"내가 가진 기대는 사람들이 최선을 다하고, 내가 사람들에게 자신이 무엇을 하고 있는지 이해하기를 바란다는 것이다. 하지만 그 이해도는 그들이 어떤 도구를 사용하는지와는 거의 관련이 없다."
그는 또한 "커밋 메시지를 작성할 때 편집기를 사용하지 않는 것이 좋을 것이다"라는 말까지 덧붙였는데, 이는 전형적인 Linus 스타일이다. Jonathan Corbet이 Levin의 패치를 docs-next에 병합했으며, 현재 시점에서는 메인라인(mainline)에 반영되지 않았다. 새로운 텍스트에 따르면, 개발자들은 각 커밋에 태그를 지정하는 대신 패치 커버 레터(patch cover letter)에서 AI 도구를 어떻게 사용했는지 설명한다. 따라서 유지 관리자들은 여전히 어느 정도의 투명성을 얻지만, 모든 커밋마다 레이블이 붙지는 않는다. (heise, TNW)
서명(sign-off) 규칙은 유지되며, 이것이 내가 중요하게 생각하는 부분이다. 커널 가이드에서는 이를 명시하고 있다: "AI 에이전트는 Signed-off-by 태그를 추가해서는 안 된다. 오직 인간만이 개발자 출처 증명서(Developer Certificate of Origin, DCO)를 법적으로 인증할 수 있다." 서명하는 인간은 모든 AI 생성 코드를 검토하고, 라이선스를 확인하며, "기여에 대한 전적인 책임"을 지는 역할을 맡는다.
따라서 커널은 금지 조치도, 커밋별 태그도 없이 마무리된다. 인간이 모든 패치를 서명하고 그 책임을 진다.
Torvalds가 Claude Code를 사용하여 커널 패치 작성
Torvalds는 주변에서 주장하는 것이 아니라, 이 점이 무시하기 어렵게 만듭니다. 정상회담 기간 동안 그는 short patch series를 게시했는데, 이는 '핫 폴리오(hot folios)'로 표시하여 페이지 캐시 읽기 속도를 높이고, 읽기가 폴리오 참조를 건너뛸 수 있게 합니다. 커밋 메시지에는 그의 지휘 아래 작업한 Claude Code가 코드, 테스트 프로그램, 검토 및 커밋 메시지의 초안 작성을 담당했다고 명시되어 있으며, 브랜치 이름은 문자 그대로 noref-filemap-read-with-llm (It's FOSS)입니다. 8개의 스레드가 동일한 캐시 파일을 읽을 때, 보안 완화 조치(security mitigations)를 일부 비활성화(Linuxiac)했을 때 처리량은 초당 약 1,000만 회 읽기에서 3,000만~3,300만 회로 증가했습니다.
이후 검토 과정에서 그 코드의 경쟁 조건(race condition)이 발견되었고(LWN), 저는 이것을 정책이 작동하는 것이라고 말하고 싶습니다. 해당 패치는 인간의 이름으로 제출되었고, 다른 인간들이 이를 읽고 검토 과정에서 버그를 잡아냈습니다. 아무도 어디를 봐야 할지 태그가 필요하지 않았고; 그들은 마치 리누스(Linus)가 제출한 다른 어떤 패치처럼 코드를 검토했습니다.
QGIS가 AI 코드를 금지하는 이유
QGIS의 [QEP 408,
이것에 대해 비웃기 전에, 그 이유를 봐라. 이전의 공개 및 라벨링(disclose-and-label) 규칙 하에서, 토론 중 한 검토자는 약 50개의 PR(Pull Request)가 AI 라벨을 받았고, 그중 대략 40개가 병합되지 않은 채로 폐쇄되었다(remio; 이는 스레드상의 추정치이며 감사 결과는 아니다). 이것은 누군가 먼저 읽어야 했던 40번의 거절이다. '제출자가 소유한다(The submitter owns it)'라는 말은, 제출자가 아무것도 소유할 일이 없는 드라이브바이 계정일 경우 자원봉사 유지보자에게는 아무 의미가 없다.
Torvalds 역시 프라하에서 열린 Open Source Summit Europe에서 이 점을 인정하며, AI가 코드베이스를 개선하고 있지만 '유지보자들을 문제 수준으로 스트레스 받고 있다'고 말했다. (TNW)
금지(Ban) 대 승인(Sign-off): 두 가지 정책 비교
| Linux 커널 | QGIS (QEP 408 v2.0) | |
|---|---|---|
| AI 작성 코드 허용 | 예 | 아니요, qgis/qgis에서 |
| ... |
마지막 행이 금지 정책의 결함을 보여준다. 좋은 LLM 지원 코드를 좋은 인간 코드와 구별할 수 없기 때문에, 금지는 단지 부실한 것들만 걸러낼 뿐이며, 부실한 것은 애초에 품질 문제로 거절될 수 있는 것이었다. 이 규칙을 지키는 사람들은 네가 유지하고 싶어 했던 신중한 기여자들이다.
하지만 커널에는 QGIS가 갖지 못한 것이 있다: 깊은 서브시스템 유지보자 계층 구조와 SCO 시절부터 시행되어 온 승인(sign-off) 문화다. '네가 소유한다'는 말은 거기서 통한다. 왜냐하면 소유하는 것에는 대가가 따르기 때문이다. LKML에서 검토되지 않은 쓰레기로 평판을 쌓으면 네 패치는 읽히지 않게 된다.
CONTRIBUTING.md에 대한 AI 정책 (대부분의 프로젝트가 건너뛰는 부분)
만약 커널의 규칙을 다섯 명의 유지보자가 있는 리포지토리에 복사해 붙여넣고 거기서 멈춘다면, QGIS 문제가 발생한다. 너에게 필요한 것은 책임감이며, '아니요'라고 말할 수 있는 저렴한 방법이 필요하다. 그래서 내가 CONTRIBUTING.md에 붙여 넣을 내용은 다음과 같다:
## 도구 (Tools), AI 포함
컴파일러, 린터(linters), IDE 자동 완성, LLM, 에이전트를 포함하여 좋아하는 모든 도구를 사용하세요.
...
5번 항목이 대부분의 작업을 수행합니다. 이는 검토 비용을 제출자에게 되돌리는 것인데, 이것이 QGIS가 금지 조치를 통해 정말로 원했던 바입니다. 누가 어떤 도구를 사용했는지 감지할 수 있다고 가장하는 척을 할 필요 없이 같은 결과에 도달할 수 있습니다.
1번 항목을 강제하는 것은 비용이 적게 듭니다. 이와 같은 CI(Continuous Integration) 단계는 서명되지 않은 커밋이 있는 모든 PR(Pull Request)을 실패시킵니다:
for c in $(git rev-list origin/main..HEAD --no-merges); do
git log -1 --format=%B "$c" | grep -q '^Signed-off-by: ' \
|| { echo "missing Signed-off-by: $c"; exit 1; }
...
GitHub Actions에서는 fetch-depth: 0으로 체크아웃하여 origin/main과 전체 PR 기록이 존재하도록 하거나, DCO GitHub 앱을 설치하고 스크립트를 건너뛸 수 있습니다.
'모든 줄에 대해 자신이 소유한다'는 것만으로 충분할까?
단독으로는 아닙니다. Lobsters 스레드에서는 이 문제에 대해 이틀 동안 논쟁했습니다. 한 댓글 작성자는 LLM(Large Language Model) 출력을 검증하는 것이 "직접 코드를 작성하는 것만큼이나 시간이 많이 걸린다"고 말했습니다. 또 다른 사람은 "글쎄, Claude가...라고 하니..."라며 자신이 이해하지 못하는 거대한 diff를 푸시하는 동료들을 묘사했습니다. 두 불만 모두 현실이며, Signed-off-by 라인은 이 둘 중 어느 것도 해결해주지 못합니다.
그럼에도 불구하고, 저는 도구 자체를 금지하려는 시도가 잘못된 목표를 겨냥한다고 생각합니다. 사람들은 LLM이 등장하기 훨씬 전부터 이해하지 못하는 코드를 보내왔고, 리누스의 규칙은 바로 그 지점을 겨냥하고 있습니다. 작은 프로젝트는 단지 PR을 빠르게 닫기 위한 적절한 방법을 추가하면 됩니다.
그렇다면 실제로 자신의 레포지토리에서 무엇을 강제할 것인가요? QGIS 스타일의 금지 조치일까요, 아니면 제출자가 모든 줄에 대해 소유권을 갖도록 하는 것일까요? 그리고 만약 무언가를 유지보수하고 있다면, 에이전트가 생성한 PR 첫 주를 버텨내면서 '자신이 소유한다'는 접근 방식이 살아남았나요?
출처
- Linus Torvalds가 LKML에 올린 글 (2026년 10월 13일): [https://lore.kernel.org/lkml/CAHk-=whTs09_ozN+e09GU68N1wPP56MUzDjrg9rnKxQUa0A_4Q@mail.gmail.com/]
- 커널 AI 코딩 어시스턴트 가이드: [https://docs.kernel.org/process/coding-assistants.html]
- heise에서 'Assisted-by' 태그 폐기 관련 보도: [https://www.heise.de/en/news/Linux-may-drop-AI-code-labels-Torvalds-uses-LLMs-too-11490773.html]
- TNW에서 LKML 답변 및 OSS Europe 강연 관련 보도: [https://thenextweb.com/news/torvalds-ai-assisted-by-tag-utterly-stupid-open-source-summit]
- LWN에서 Torvalds의 LLM 지원 패치 시리즈 관련 보도: [https://lwn.net/Articles/1100449/]
- QGIS QEP 408: [https://github.com/qgis/QGIS-Enhancement-Proposals/blob/master/qep-408-ai-tool-policy.md]
- Lobsters 토론: [https://lobste.rs/s/xiq59t/linus_torvalds_on_ai_assisted_kernel]
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기