Skip to main content
공개 노트

SDL bans AI-written commits, 오픈소스에 던진 강한 메시지

Views 13약 4분생성형 AI 활용
Summary

SDL bans AI-written commits, 오픈소스에 던진 강한 메시지

최근 SDL이 "AI가 작성한 코드 커밋은 받지 않겠다"는 방향을 공식 정책과 PR 템플릿에 반영하며 개발자 커뮤니티의 눈길을 끌었습니다12. 단순한 선언처럼 보이지만, 이 이슈는 오픈소스의 신뢰, 라이선스, 그리고 코드 품질을 어디까지 인간이 책임져야 하느냐는 질문으로 이어집니다.

SDL AI 정책, 무엇이 달라졌나

SDL은 게임과 멀티미디어 개발에서 오랫동안 널리 쓰여온 크로스플랫폼 라이브러리입니다3. 이런 프로젝트가 AI 생성 코드를 거부한다는 건, "도구를 쓸 수 있느냐"보다 "최종 산출물의 저자가 누구냐"를 더 중요하게 본다는 뜻에 가깝습니다.

실제로 SDL 쪽 변경 사항을 보면 메시지가 점점 더 또렷해집니다. 처음에는 AI 기여를 받지 않는다는 강한 문구를 넣었고, 이후에는 PR 작성자가 "내가 이 코드의 저자이며, 다른 출처의 코드와 LLM이 생성한 코드가 포함되지 않았다"고 확인하는 체크 문구로 다듬었습니다24. 또 "AI may not"라는 표현을 "AI must not"로 더 강하게 바꾸며 해석의 여지를 줄였습니다5.

흥미로운 점은 SDL이 AI를 모든 영역에서 금지한다고 말한 건 아니라는 점입니다. 이슈를 찾거나 검토 보조로 활용하는 건 가능하되, 해결 코드는 사람이 직접 작성해야 한다는 식으로 선을 그었습니다4. 한마디로 "조언은 들을 수 있지만, 손은 사람이 움직여라"에 가깝습니다.

SDL이 AI 작성 코드를 금지한 이유

핵심 이유는 라이선스 불확실성입니다. SDL은 zlib 라이선스를 사용하는데, AI가 만들어낸 코드의 학습 출처를 명확히 추적하기 어렵다면 다른 프로젝트의 코드 조각이나 충돌 가능한 조건이 섞였을 가능성을 완전히 배제하기 어렵습니다43.

두 번째는 품질과 검증 문제입니다. SDL 유지관리자는 AI가 실제로는 없는 문제를 지적하거나, 틀린 설명을 그럴듯하게 내놓는 경우가 잦다고 경고했습니다4. 오픈소스 유지보수 입장에서는 "겉보기엔 빠른 생산성"보다 "나중에 누가 책임질 것인가"가 훨씬 무겁습니다.

세 번째는 기여의 신뢰성입니다. 오픈소스 프로젝트는 결국 리뷰어의 시간으로 굴러갑니다. 리뷰어가 코드를 보며 "이 사람이 이해하고 쓴 코드인가?"를 믿을 수 있어야 하는데, AI가 대량 생성한 코드가 섞이면 그 신뢰 비용이 커집니다. SDL의 정책은 바로 그 비용을 줄이려는 움직임으로 볼 수 있습니다.

오픈소스 AI 기여 논쟁, SDL 사례가 중요한 이유

이번 일은 SDL만의 특수 사례로 끝나지 않을 가능성이 큽니다. SDL은 1998년부터 이어져 온 대표적인 시스템 라이브러리이고, 게임과 앱 개발 생태계에서 존재감이 큽니다3. 이런 프로젝트가 명확한 기준을 세우면 다른 저장소도 비슷한 질문을 피하기 어려워집니다.

특히 요즘은 AI 코딩 도구가 너무 자연스럽게 개발 흐름에 들어와 있습니다. 자동완성, 리팩터링 제안, 버그 설명, 테스트 초안까지 경계가 흐려졌죠. 그래서 SDL의 정책은 기술 반대라기보다 "어디까지는 보조이고, 어디부터는 저작"인지 경계선을 다시 그은 사례로 읽힙니다.

개발자 입장에서는 조금 불편할 수 있습니다. 하지만 반대로 보면 규칙이 명확해져 덜 헷갈립니다. 이 프로젝트에는 AI 초안 코드가 안 된다는 걸 알면, 처음부터 조사와 이해에 AI를 쓰고 최종 구현은 직접 작성하는 방식으로 워크플로를 맞출 수 있으니까요.

개발자가 지금 바로 챙겨야 할 실전 포인트

앞으로 오픈소스에 기여할 계획이 있다면, 저장소의 CONTRIBUTING 문서와 PR 템플릿, 그리고 AGENTS.md 같은 정책 파일을 먼저 보는 습관이 중요합니다. 예전엔 빌드 방법만 확인했다면, 이제는 AI 사용 기준까지 확인해야 하는 시대가 됐습니다.

또 AI를 쓰더라도 "문제 이해"와 "코드 작성"을 분리하는 습관이 유용합니다. 예를 들어 버그 원인 후보를 정리하거나 문서를 요약받는 건 도움될 수 있지만, 패치는 스스로 이해한 뒤 직접 작성하는 방식이 더 안전합니다.

결국 SDL의 메시지는 간단합니다. 코드는 돌아가기만 하면 끝이 아니라, 출처와 책임까지 설명 가능해야 한다는 것. AI 시대의 오픈소스는 아마 이 한 문장을 기준으로 다시 정리될 가능성이 큽니다.

참고

1SDL bans AI-written commits

2SDL: policy: Added to the PR template, and an AGENTS.md, refusing AI contributions. (00c3c)

3Simple DirectMedia Layer - Wikipedia

4SDL: policy: Updated AI-related text based on excellent feedback.

5SDL: AGENTS.md: Change "may not" to "must not".

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기