Zig는 왜 AI 코드 기여를 거부했나 — 리눅스보다 한 걸음 더 나아간 선언
요즘 오픈소스 프로젝트마다 똑같은 고민에 빠져 있습니다. AI가 짜준 코드를 PR로 받으면 어떻게 할 것인가. 그런데 시스템 프로그래밍 언어 Zig가 모두를 놀라게 한 결정을 내렸습니다. “AI 생성 코드는 받지 않는다”는 명확한 선언이었는데요. 이건 단순한 코딩 스타일 문제가 아니라, 오픈소스 거버넌스의 철학적 분기점에 가깝습니다.
Zig가 그은 선
Zig는 C의 대안을 자처하는 시스템 프로그래밍 언어입니다. 메모리 안전성과 명시성을 최우선으로 하는, 그러니까 “숨은 동작이 없는 코드”를 추구하는 언어인데요. 이런 철학을 가진 프로젝트가 AI 코드를 거부한 건 사실 일관성 있는 선택입니다.
핵심 논리는 이렇습니다. Zig 메인테이너들은 기여자의 이해도를 검증하는 일이 코드 자체를 받는 일보다 중요하다고 봅니다. AI가 만든 코드는 작성자조차 왜 그렇게 짰는지 정확히 설명하지 못하는 경우가 많습니다. 리뷰어 입장에서는 “누구에게 질문을 던질 것인가”가 사라지는 셈인데요. 이건 코드 품질 이전에 책임 소재의 문제입니다.
리눅스 커널과 무엇이 다른가
리눅스 커널은 작년부터 AI 도구 사용을 두고 토론을 이어왔습니다. 리누스 토르발스를 비롯한 핵심 메인테이너들의 입장은 “도구로서의 AI는 허용, 사고하지 않은 기여는 거부”에 가까웠습니다. 다시 말해 AI를 쓰되, 모든 라인을 본인이 이해하고 책임진다는 전제가 깔려 있습니다.
Zig는 여기서 한 걸음 더 나갔습니다. 도구로 썼는지 아닌지를 사후에 검증하기 어렵다는 현실을 인정하고, 아예 기여 단계에서 AI 산출물을 차단하는 쪽을 택한 겁니다. 이건 운영상 더 단호하지만, 동시에 더 정직합니다. “쓰지 마세요"라고 말하는 게 “잘 써주세요"라고 말하는 것보다 집행 가능성이 높으니까요.
작은 프로젝트의 전략적 선택
여기서 짚어야 할 건 Zig의 규모입니다. 메인테이너 풀이 상대적으로 작고, 코드베이스 전반에 걸친 일관성이 언어의 정체성을 만드는 단계입니다. 이런 상황에서 AI가 쏟아내는 PR은 리뷰 부담만 가중시키는 노이즈가 되기 쉽습니다.
사실 많은 오픈소스 메인테이너들이 비슷한 피로감을 호소해왔습니다. 슬쩍 보면 그럴듯한데, 막상 머지하면 미묘한 버그가 나오는 AI PR. 작성자는 “AI가 그렇게 짜줬어요"라고 말하고, 리뷰어는 그제야 코드 전체를 처음부터 다시 읽어야 합니다. Zig의 결정은 이런 비대칭적 비용 구조에 대한 항의이기도 합니다.
오픈소스 거버넌스의 두 갈래 길
이제 오픈소스 진영은 두 가지 길로 갈라지는 모양새입니다. 한쪽은 AI를 도구로 받아들이되 인간의 이해와 책임을 요구하는 노선, 다른 한쪽은 아예 차단하는 노선입니다. 어느 쪽이 정답이라고 말하긴 이릅니다. 다만 분명한 건 “AI는 자유롭게 쓰세요"라는 무관심한 태도는 점점 설 자리를 잃고 있다는 점입니다.
흥미로운 건 AI 코드 거부가 반드시 반(反)AI 정서에서 나오는 게 아니라는 사실입니다. Zig 커뮤니티 내부에서도 개인 학습용으로 AI를 쓰는 개발자는 많습니다. 거부하는 건 “검증되지 않은 결과물의 무임승차”이지 기술 자체가 아닙니다.
마무리
Zig의 선언은 결국 한 가지 질문으로 수렴합니다. 오픈소스에서 가장 가치 있는 게 코드인가, 아니면 코드를 이해하는 사람인가. Zig는 후자라고 답했습니다. 여러분이 메인테이너라면, 어느 쪽 노선을 택하시겠습니까. 그리고 기여자라면, 본인이 짠 코드의 모든 라인을 자신 있게 설명할 수 있으신가요.
댓글
댓글을 불러오는 중...