AI 시대에 등장한 새로운 질문
최근 몇 년 동안 개발 환경은 눈에 띄게 변화했다. 예전에는 코드 작성이 전적으로 개발자의 작업이었다. IDE의 자동완성 기능이나 간단한 코드 생성 도구가 존재하긴 했지만, 프로그램의 구조와 구현은 결국 사람이 직접 만들어야 했다. 그러나 생성형 AI가 등장하면서 이 전제는 빠르게 바뀌고 있다. GitHub Copilot, Claude Code, ChatGPT 같은 도구는 이제 단순한 보조 기능을 넘어 실제 코드 작성 과정의 일부가 되었다. 많은 개발자들이 함수 구현, 테스트 코드 작성, 심지어 전체 모듈 구조까지 AI에게 맡기기 시작했다.
이 변화는 생산성 측면에서는 분명히 긍정적인 면이 있다. 몇 줄의 설명만으로도 수십 줄의 코드를 얻을 수 있고, 익숙하지 않은 라이브러리나 언어를 사용할 때도 AI가 빠르게 예제를 제시해 준다. 그러나 코드 생성이 쉬워질수록 새로운 질문이 등장하기 시작했다. 특히 오픈소스 생태계에서는 그 질문이 더욱 날카롭게 드러난다. AI 모델은 수많은 공개 저장소를 기반으로 학습되는데, 그 데이터 안에는 MIT, BSD 같은 관대한 라이선스뿐 아니라 GPL과 같은 강력한 Copyleft 라이선스 코드도 포함되어 있을 가능성이 높다.
여기서 자연스럽게 하나의 질문이 등장한다.
AI가 GPL 코드를 학습했다면, AI가 생성한 코드 역시 GPL의 영향을 받는 것일까. 이 질문은 단순한 법적 호기심이 아니다. 만약 그렇다고 결론이 내려진다면, AI 코드 생성 도구로 만들어진 수많은 코드가 GPL 의무를 따르게 될 수도 있다. 반대로 아무런 영향을 받지 않는다고 판단된다면, Copyleft 라이선스가 가진 보호 구조 자체가 흔들릴 수도 있다.
이 문제는 이미 현실의 논쟁으로 이어지고 있다. GitHub Copilot이 처음 공개되었을 때 커뮤니티 일부에서는 Copilot이 GPL 코드를 기반으로 학습되었다는 점을 문제로 제기했다. AI가 학습한 코드의 라이선스가 결과물에 영향을 미치는지에 대한 질문은 단순히 이론적인 논쟁이 아니라 실제 법적 분쟁으로 이어질 가능성을 가진 문제였다. 개발자들은 이제 단순히 “이 코드는 어디서 가져왔는가”가 아니라 “이 코드를 만든 AI는 무엇을 학습했는가”라는 새로운 질문을 마주하게 되었다.
이 글에서 다루려는 문제는 바로 이 지점에서 시작된다. 오픈소스 라이선스 체계는 인간 개발자가 코드를 작성하는 환경을 전제로 설계되었다. 그러나 AI가 코드 생성 과정에 깊이 개입하는 시대가 되면서 그 전제는 흔들리기 시작했다. GPL이 보호하려 했던 것은 코드의 자유로운 공유와 수정이었다. 그런데 만약 AI가 그 코드를 학습하고 다시 생성할 수 있다면, GPL의 규칙은 어디까지 적용되어야 하는 것일까.
이 질문에 답하기 위해서는 먼저 GPL이라는 라이선스가 어떤 구조를 가지고 있는지 이해할 필요가 있다. GPL이 단순한 오픈소스 라이선스가 아니라는 사실을 이해하지 못하면, AI 코드 생성 논쟁 역시 정확히 이해하기 어렵기 때문이다. 그래서 다음 섹션에서는 GPL 라이선스의 핵심 철학과 그 구조를 먼저 살펴보려 한다.
GPL 라이선스의 핵심 원리: Copyleft
오픈소스 라이선스는 겉으로 보기에는 비슷해 보이지만, 실제로는 서로 매우 다른 철학을 기반으로 만들어졌다. MIT, BSD 같은 라이선스는 비교적 관대한 라이선스로 알려져 있다. 이러한 라이선스는 코드의 재사용을 거의 제한하지 않는다. 소프트웨어에 코드를 포함시키고 수정하거나 심지어 상용 제품에 포함시키는 것도 가능하다. 대부분의 경우 요구되는 것은 단지 원 저작자의 저작권 표시를 유지하는 정도다.
그러나 GPL은 전혀 다른 접근을 취한다. GPL은 단순히 소스코드를 공개하는 것을 허용하는 라이선스가 아니라, 코드의 자유를 계속 유지하도록 강제하는 구조를 가진다. 이 구조를 설명하는 핵심 개념이 바로 Copyleft다. Copyleft는 말 그대로 copyright의 반대 방향을 의미하는 개념으로, 코드가 한 번 자유롭게 공개되었다면 그 자유가 이후에도 계속 유지되도록 만드는 장치다.
이 개념은 GNU 프로젝트와 함께 등장했다. Richard Stallman이 자유 소프트웨어 운동을 시작했을 때, 그가 가장 중요하게 생각했던 것은 단순히 코드를 공개하는 것이 아니라 소프트웨어의 자유를 지속적으로 보장하는 것이었다. 단순히 코드를 공개하는 것만으로는 충분하지 않다. 누군가가 그 코드를 가져가서 수정한 뒤 다시 폐쇄적인 소프트웨어로 만들 수도 있기 때문이다. Copyleft는 바로 이러한 상황을 방지하기 위해 만들어졌다.
GPL의 기본 규칙은 간단하다. GPL 코드가 포함된 프로그램을 배포하려면 그 프로그램 역시 GPL로 공개해야 한다. 즉, GPL 코드 위에서 만들어진 소프트웨어는 다시 닫을 수 없다. 이 규칙은 단순한 기술적 제약이 아니라 법적 의무다. 그래서 GPL은 종종 “전염성 있는 라이선스(viral license)”라는 표현으로 설명되기도 한다.
이러한 구조 때문에 GPL은 오픈소스 생태계에서 독특한 위치를 차지한다. 한편으로는 자유 소프트웨어의 확산을 촉진하는 강력한 도구가 되지만, 다른 한편으로는 기업 환경에서는 부담이 되는 라이선스이기도 하다. GPL 코드를 사용하면 그 결과물을 공개해야 할 가능성이 있기 때문이다. 그래서 많은 기업들은 MIT나 Apache 같은 라이선스를 선호하고 GPL 코드를 사용하는 것에는 신중한 태도를 보인다.
하지만 GPL의 규칙이 언제 적용되는지는 단순하지 않다. GPL 코드와 함께 프로그램을 만들었다고 해서 항상 GPL이 적용되는 것은 아니다. 핵심은 그 코드가 파생 저작물(derivative work)인지 여부다. GPL의 의무는 바로 이 파생 저작물이라는 개념 위에서 작동한다.
따라서 AI 코드 생성 논쟁을 이해하려면 이 개념을 정확히 이해할 필요가 있다. AI가 생성한 코드가 GPL의 영향을 받는지 여부 역시 결국 하나의 질문으로 귀결되기 때문이다. 그것은 바로 다음과 같은 질문이다. AI가 생성한 코드는 과연 기존 GPL 코드의 파생 저작물인가.
GPL이 적용되는 조건: 파생 저작물
GPL 라이선스가 실제로 적용되는지 여부를 결정하는 가장 중요한 개념은 파생 저작물(derivative work)이다. 이 개념은 오픈소스 라이선스만의 특수한 규칙이 아니라 저작권법 전반에서 사용되는 법적 개념이다. 간단히 말하면 기존 저작물을 기반으로 만들어진 새로운 저작물을 의미한다. 번역된 책, 편곡된 음악, 혹은 기존 프로그램을 수정한 새로운 프로그램 등이 대표적인 예다.
소프트웨어에서도 같은 원리가 적용된다. 기존 코드의 일부를 복사하거나, 코드를 수정하거나, 기존 코드의 구조를 기반으로 새로운 프로그램을 만들면 그것은 파생 저작물로 간주될 가능성이 높다. 그리고 GPL의 규칙은 바로 이 지점에서 작동한다. GPL 코드를 기반으로 한 파생 저작물을 배포하려면 그 결과물 역시 GPL로 공개해야 한다.
하지만 여기에는 중요한 경계가 존재한다. 모든 유사한 코드가 파생 저작물이 되는 것은 아니다. 저작권법은 아이디어와 표현을 구분한다. 프로그램이 수행하는 기능이나 알고리즘 같은 것은 아이디어 영역에 속하며, 저작권 보호 대상이 아니다. 보호되는 것은 코드라는 구체적인 표현이다.
예를 들어 두 개발자가 서로 전혀 다른 환경에서 동일한 알고리즘을 구현했다고 가정해 보자. 결과적으로 매우 비슷한 코드가 만들어질 수도 있다. 그러나 두 사람이 서로의 코드를 참고하지 않았다면, 법적으로는 복제가 아니라 독립적인 창작으로 간주될 가능성이 높다. 결과가 비슷하다는 사실만으로 저작권 침해가 성립하지는 않는다.
이 원칙은 소프트웨어 산업에서 여러 번 중요한 역할을 했다. 특히 인터페이스나 API 같은 구조를 둘러싼 법적 분쟁에서는 이 구분이 핵심 쟁점이 되곤 했다. 프로그램의 기능을 구현하는 방법은 여러 가지가 있을 수 있으며, 동일한 기능을 구현했다는 이유만으로 저작권 침해가 성립하지는 않는다. 결국 법적으로 중요한 것은 정보의 흐름, 즉 실제로 원본 코드가 참조되었는지 여부다.
이 개념은 AI 코드 생성 문제에서도 그대로 등장한다. AI가 생성한 코드가 GPL의 영향을 받는지 여부 역시 결국 이 질문으로 이어진다. AI가 생성한 코드가 기존 GPL 코드의 표현을 기반으로 한 것인가, 아니면 단순히 동일한 기능을 구현한 새로운 표현인가. 이 두 상황은 법적으로 완전히 다른 결과를 가져온다.
바로 이 지점에서 AI라는 새로운 기술이 기존 법적 구조를 복잡하게 만든다. 인간 개발자라면 코드의 출처를 비교적 명확하게 추적할 수 있다. 하지만 AI 모델은 수많은 데이터를 기반으로 학습하고 확률적으로 코드를 생성한다. 그렇다면 모델이 생성한 코드의 “출처”는 어디라고 봐야 할까. AI가 학습한 코드와 생성된 코드 사이에는 어떤 법적 관계가 존재하는 것일까.
이 질문에 답하기 위해서는 먼저 AI 모델이 실제로 어떻게 코드를 학습하는지 이해할 필요가 있다. 그래서 다음 섹션에서는 LLM이 코드를 학습하고 생성하는 구조를 조금 더 기술적인 관점에서 살펴보려고 한다.
AI 모델은 어떻게 코드를 학습하는가
앞선 섹션에서 우리는 GPL 논쟁의 핵심 개념인 파생 저작물을 살펴보았다. 코드가 GPL의 영향을 받는지 여부는 결국 기존 코드의 표현이 새로운 코드 안에 얼마나 반영되어 있는지에 달려 있다. 인간 개발자가 코드를 작성하는 경우에는 이 관계를 비교적 명확하게 추적할 수 있다. 어떤 코드가 어디에서 복사되었는지, 어떤 프로젝트를 참고했는지 기록과 히스토리를 통해 어느 정도 확인할 수 있기 때문이다. 그러나 AI가 코드 생성 과정에 개입하면 상황은 훨씬 복잡해진다. AI는 단순히 특정 코드를 복사하거나 수정하는 방식으로 동작하지 않기 때문이다.
대형 언어 모델(LLM)은 일반적으로 토큰(token) 단위의 확률 모델로 동작한다. 코드든 자연어든 모든 입력은 토큰이라는 작은 단위로 분해되고, 모델은 다음 토큰이 등장할 확률을 계산하는 방식으로 문장을 생성한다. 이 과정에서 모델은 특정 코드를 데이터베이스처럼 저장하는 것이 아니라, 방대한 학습 데이터를 기반으로 패턴과 통계적 관계를 학습한다. 예를 들어 Python 함수의 일반적인 구조나 특정 라이브러리를 사용하는 관습적인 코드 스타일 같은 것들이 확률 분포 형태로 모델 내부에 반영된다.

이러한 학습 방식 때문에 AI 모델의 출력은 종종 “재구성된 코드”로 설명되기도 한다. 모델은 특정 파일을 그대로 기억하는 것이 아니라, 수많은 코드 패턴을 압축한 상태에서 새로운 코드를 생성한다. 이 과정에서 동일한 알고리즘이나 매우 유사한 구조의 코드가 등장할 수 있다. 특히 유명한 오픈소스 라이브러리나 널리 사용되는 알고리즘 구현은 학습 데이터에 여러 번 등장할 가능성이 높기 때문에, 생성된 코드 역시 그 패턴을 강하게 반영할 수 있다.
여기서 중요한 논쟁이 등장한다.
AI 모델이 학습 데이터의 패턴을 반영해 코드를 생성하는 것이 저작권적으로 어떤 의미를 가지는가 하는 문제다. 인간 개발자 역시 여러 프로젝트를 참고하며 코드를 작성한다. 경험 많은 개발자일수록 다양한 코드 스타일과 패턴을 기억하고 있기 때문에 유사한 코드를 작성할 가능성이 높다. 그렇다면 AI 모델의 학습 역시 인간 개발자의 학습과 본질적으로 다른 것인가, 아니면 단지 더 큰 규모로 이루어지는 동일한 과정인가라는 질문이 등장한다.
그러나 동시에 AI 모델의 학습 방식은 인간의 기억과는 중요한 차이를 가진다. 인간 개발자는 특정 코드를 의도적으로 참고하거나 복사하지 않는 한, 보통 구체적인 코드 표현을 그대로 재현하지 않는다. 반면 LLM은 일부 상황에서 학습 데이터의 일부를 거의 그대로 재현하는 사례가 보고된 바 있다. 연구에서는 이를 memorization 문제라고 부른다. 특히 데이터셋에 반복적으로 등장하는 코드 조각은 모델이 높은 확률로 재생성할 가능성이 있다.
이러한 특성 때문에 AI 코드 생성 문제는 단순히 “AI가 코드를 이해했는가”의 문제가 아니라 AI가 무엇을 재현하고 있는가의 문제로 이어진다. 만약 모델이 특정 GPL 코드의 표현을 사실상 그대로 생성한다면, 그것은 단순한 알고리즘 구현이 아니라 기존 코드의 표현을 재사용한 것으로 볼 수도 있다. 반대로 동일한 알고리즘을 완전히 다른 방식으로 구현했다면 그것은 독립적인 창작으로 간주될 가능성이 있다.
이처럼 AI 모델의 학습 방식은 기존 저작권 체계에서 명확하게 정의되지 않은 영역을 만들어낸다. 모델은 코드를 직접 복사하지 않지만, 동시에 완전히 새로운 창작을 한다고 보기도 어렵다. 결국 AI 코드 생성의 법적 의미를 이해하려면 실제로 어떤 논쟁이 발생했는지 살펴볼 필요가 있다. 그리고 이 논쟁을 현실 세계로 끌어낸 대표적인 사건이 바로 GitHub Copilot 논쟁이었다.
Copilot 논쟁: AI 코드 생성과 GPL 문제
AI 코드 생성과 오픈소스 라이선스 문제를 본격적인 논쟁으로 끌어올린 사건은 2021년 GitHub Copilot의 등장과 함께 시작되었다. Copilot은 OpenAI의 모델을 기반으로 GitHub 저장소에 있는 방대한 코드 데이터를 학습해 개발자에게 코드 자동완성 기능을 제공하는 도구였다. 처음 공개되었을 때 많은 개발자들은 이 도구가 가져올 생산성 향상에 큰 기대를 보였다. 몇 글자만 입력하면 전체 함수나 알고리즘 구현이 자동으로 제안되는 경험은 기존 개발 환경과는 확연히 다른 것이었다.
그러나 동시에 커뮤니티에서는 빠르게 우려의 목소리가 나오기 시작했다. Copilot이 학습한 데이터의 상당 부분이 공개 GitHub 저장소였기 때문이다. GitHub에는 MIT나 Apache 같은 관대한 라이선스 코드뿐 아니라 GPL, AGPL 같은 강력한 Copyleft 라이선스 코드도 포함되어 있다. 이 사실이 알려지면서 개발자들은 자연스럽게 다음과 같은 질문을 던지기 시작했다. Copilot이 GPL 코드를 학습했다면, Copilot이 생성한 코드 역시 GPL의 영향을 받아야 하는 것 아닐까.
논쟁은 단순한 커뮤니티 토론에 그치지 않았다. 일부 개발자와 법률 전문가들은 Copilot이 생성한 코드가 특정 오픈소스 프로젝트의 코드와 매우 유사한 경우가 있다는 사례를 제시하기 시작했다. 특히 일부 테스트에서는 Copilot이 특정 프로젝트의 코드 조각을 거의 그대로 재현하는 결과가 보고되기도 했다. 이러한 사례는 AI 코드 생성이 단순한 패턴 학습이 아니라 학습 데이터의 일부를 재생산하는 과정일 수도 있다는 우려를 강화했다.
결국 이 논쟁은 집단 소송으로 이어졌다. Copilot과 관련된 소송에서는 AI 모델이 오픈소스 코드를 학습하는 행위 자체가 저작권 침해인지, 그리고 생성된 코드가 원본 라이선스를 따라야 하는지에 대한 질문이 핵심 쟁점으로 등장했다. 원고 측은 Copilot이 GPL 코드로 학습된 만큼 그 결과물 역시 GPL 의무를 따라야 한다고 주장했다. 반면 GitHub와 Microsoft 측은 모델이 특정 코드를 복사하거나 저장하는 것이 아니라 통계적 패턴을 학습하는 것이기 때문에 저작권 침해가 아니라는 입장을 밝혔다.
이 논쟁은 단순히 하나의 제품에 대한 문제가 아니라 AI 시대의 소프트웨어 개발 방식 전체를 둘러싼 논쟁으로 확대되었다. 만약 AI 모델이 GPL 코드를 학습했다는 이유만으로 생성된 코드가 GPL로 간주된다면, AI 코드 생성 도구는 사실상 기업 환경에서 사용하기 어려워질 수도 있다. 반대로 아무런 제한이 없다면 Copyleft 라이선스의 보호 구조가 약화될 가능성도 있다.

Copilot 논쟁이 중요한 이유는 바로 이 지점에 있다. 이 사건은 AI 코드 생성이 단순한 기술적 혁신이 아니라 소프트웨어 저작권 체계 전체와 충돌하는 문제라는 사실을 보여주었다. 그리고 이 문제를 해결하려면 단순히 기술적 설명만으로는 부족하다. 결국 이 문제는 법적 해석의 영역으로 넘어갈 수밖에 없다.
그래서 다음 섹션에서는 AI 모델이 코드를 학습하는 행위 자체가 법적으로 어떤 의미를 가지는지, 그리고 학습 과정이 저작권 침해로 간주될 수 있는지에 대한 논의를 살펴보려 한다.
법적 관점: 학습은 복제인가
AI 코드 생성 논쟁이 결국 도달하는 지점은 기술이 아니라 법이다. 기술적으로는 모델이 코드를 직접 복사하지 않고 확률적으로 생성한다는 설명이 가능하지만, 법적 판단은 조금 다른 기준을 사용한다. 저작권법의 핵심 질문은 언제나 동일하다. 특정 행위가 기존 저작물의 복제(reproduction)나 파생 저작물 생성(derivative work)에 해당하는가 하는 것이다. 따라서 AI 모델이 코드를 학습하는 행위가 이 범주에 포함되는지 여부가 중요한 쟁점이 된다.
일부 법률 전문가들은 AI 학습을 일종의 데이터 분석 과정으로 해석한다. 이 관점에서는 모델이 학습 데이터를 복사하거나 재배포하는 것이 아니라, 데이터를 분석해 통계적 패턴을 추출하는 것으로 본다. 이러한 해석은 “transformative use”라는 개념과 연결되기도 한다. 원본 데이터를 새로운 방식으로 변환해 사용한다면 그것은 저작권 침해가 아니라는 주장이다. 실제로 검색 엔진이나 텍스트 분석 도구가 이 논리를 기반으로 법적 정당성을 인정받은 사례가 있다.
반면 다른 전문가들은 AI 학습이 사실상 대규모 복제 과정이라고 주장한다. 모델을 학습시키기 위해서는 수많은 코드 파일을 다운로드하고 메모리에 로드해야 한다. 이 과정에서 코드의 전체 복사본이 만들어진다. 또한 일부 연구에서는 모델이 특정 코드 조각을 거의 그대로 생성할 수 있다는 사실이 확인되었다. 이러한 사례는 AI 학습이 단순한 분석이 아니라 잠재적인 재생산 과정일 수 있다는 주장을 뒷받침한다.
이 문제를 더욱 복잡하게 만드는 요소는 AI 모델의 내부 구조다. 모델은 학습 데이터를 그대로 저장하지 않지만, 동시에 특정 코드 패턴을 매우 정확하게 재현할 수 있는 능력을 가지기도 한다. 즉 모델 내부에는 원본 코드의 명시적인 복사본이 존재하지 않지만, 결과적으로는 유사한 표현이 다시 나타날 수 있다. 이러한 상황을 기존 저작권 체계 안에서 어떻게 해석해야 하는지는 아직 명확한 기준이 없다.
결국 법적 논쟁은 다음과 같은 질문으로 수렴된다. AI 모델이 코드를 학습하는 행위 자체가 저작권 침해인가. 그리고 AI가 생성한 코드가 기존 코드의 파생 저작물이라고 볼 수 있는가. 이 질문에 대한 답은 아직 확정되지 않았다. 여러 국가에서 관련 소송이 진행 중이며, 법원 역시 AI 기술의 특성을 어떻게 해석해야 할지 고민하는 단계에 있다.
이 논쟁은 단순히 하나의 기술 문제로 끝나지 않는다. 만약 AI 학습이 저작권 침해로 판단된다면, 현재 존재하는 대부분의 LLM 모델은 법적 문제에 직면할 수 있다. 반대로 학습이 완전히 합법적인 행위로 인정된다면, 오픈소스 라이선스가 의도했던 보호 장치가 약화될 가능성도 있다. 결국 이 문제는 AI 기술이 기존 저작권 체계와 어떤 관계를 맺게 될 것인지에 대한 더 큰 질문으로 이어진다.
그리고 여기서 또 하나의 근본적인 문제가 등장한다. 설령 AI가 생성한 코드가 기존 코드의 복제가 아니라는 결론이 내려진다고 해도, 또 다른 질문이 남는다. AI가 만든 코드 자체는 과연 저작권 보호 대상이 되는가라는 문제다. 바로 다음 섹션에서 우리는 이 문제를 조금 더 깊이 살펴보게 될 것이다.
더 복잡한 문제: 생성된 코드의 저작권
앞선 섹션에서는 AI 모델이 코드를 학습하는 과정이 법적으로 어떤 의미를 가지는지 살펴보았다. 하지만 논쟁은 여기에서 끝나지 않는다. AI 코드 생성 문제에는 한 단계 더 근본적인 질문이 존재한다. 그것은 바로 AI가 만든 코드 자체가 저작권 보호 대상이 되는가라는 문제다. 이 질문은 단순히 학습 데이터의 라이선스를 넘어, 생성된 결과물의 법적 지위를 결정하는 핵심 요소이기도 하다.
최근 미국 법원은 여러 사건에서 “인간 저작권 원칙(human authorship requirement)”을 강조하고 있다. 이 원칙에 따르면 저작권은 인간의 창작 활동에 의해 만들어진 결과물에만 인정된다. 인간이 아닌 존재가 만든 결과물은 원칙적으로 저작권 보호 대상이 될 수 없다는 것이다. 실제로 AI가 생성한 그림이나 텍스트에 대해 저작권을 인정하지 않은 판례들이 등장하면서 이 원칙은 점점 더 명확해지고 있다. 만약 이 원칙이 코드에도 동일하게 적용된다면, AI가 생성한 코드 역시 저작권 보호를 받지 못할 가능성이 있다.
이 상황은 흥미로운 법적 역설을 만들어낸다. 일반적으로 오픈소스 라이선스는 저작권 위에서 작동한다. 코드의 저작권자가 다른 사람에게 사용 권한을 부여하는 방식으로 라이선스가 작동하기 때문이다. 그런데 AI가 생성한 코드에 저작권이 존재하지 않는다면, 그 코드에는 애초에 라이선스를 부여할 권리 자체가 존재하지 않을 수도 있다. 즉 MIT, Apache, GPL 같은 라이선스를 적용하는 행위 자체가 법적으로 무의미해질 가능성도 있다.
이 문제는 단순한 이론적 논쟁이 아니다. 실제로 AI 코드 생성 도구를 사용하는 개발자들은 이미 이 상황에 직면하고 있다. 개발자가 AI에게 특정 기능을 설명하고 코드를 생성했다고 가정해 보자. 이 경우 코드의 창작자는 누구일까. AI 모델인가, 프롬프트를 작성한 개발자인가, 아니면 학습 데이터에 포함된 수많은 오픈소스 프로젝트의 기여자들인가. 현재 법 체계는 이 질문에 대해 명확한 답을 제시하지 못하고 있다.
더 흥미로운 점은, AI 생성 코드의 저작권이 인정되지 않는다면 그 코드가 사실상 퍼블릭 도메인(public domain)에 가까운 상태가 될 수도 있다는 점이다. 저작권이 존재하지 않는 저작물은 누구나 자유롭게 사용할 수 있기 때문이다. 그러나 동시에 그 코드가 특정 프로젝트의 표현을 재현하고 있다면 여전히 기존 저작권의 영향을 받을 수도 있다. 즉 AI 코드 생성은 저작권이 없을 수도 있고, 동시에 다른 저작권의 영향을 받을 수도 있는 모순적인 상태를 만들어낸다.

이러한 복잡성 때문에 AI 코드 생성 문제는 단순히 “GPL이 적용되는가”라는 질문으로 해결되지 않는다. 먼저 해결해야 할 질문은 생성된 코드의 법적 지위 자체다. 그리고 이 질문에 대한 답이 어떻게 내려지느냐에 따라 Copyleft 라이선스의 미래 역시 크게 달라질 수 있다.
만약 AI 출력이 GPL이라면
이제 하나의 사고 실험을 해보자. 만약 AI가 생성한 코드가 학습 데이터의 영향을 받는다고 판단되어 GPL의 적용 대상이 된다고 가정해 보자. 즉 AI 모델이 GPL 코드를 학습했다면, 그 모델이 생성한 코드 역시 GPL 라이선스를 따라야 한다는 결론이다. 이 가정은 직관적으로는 공정해 보일 수 있다. GPL 코드의 자유를 보호하려면 그 코드에서 파생된 결과물 역시 동일한 자유를 유지해야 하기 때문이다.
하지만 이 논리를 조금만 확장해 보면 예상보다 훨씬 큰 문제에 도달하게 된다. 현대의 LLM 모델은 수십억 개 이상의 코드 파일을 기반으로 학습된다. 그 데이터 안에는 다양한 오픈소스 라이선스가 혼합되어 있으며, 그 중에는 GPL 코드도 상당한 비율로 포함되어 있을 가능성이 높다. 만약 학습 데이터의 영향을 기준으로 라이선스를 판단한다면, 사실상 대부분의 AI 코드 생성 결과물이 GPL의 영향을 받게 될 수도 있다.
이 경우 개발 환경은 매우 급격하게 변하게 된다. AI 코드 생성 도구를 사용하는 개발자는 자신이 작성한 코드가 의도하지 않게 GPL 의무를 가지게 될 위험을 감수해야 한다. 특히 상업용 소프트웨어 개발에서는 이 문제가 심각해질 수 있다. GPL 코드를 포함한 프로그램을 배포할 경우 전체 소스코드를 공개해야 할 가능성이 있기 때문이다. 기업 입장에서는 AI 코드 생성 도구 사용 자체가 법적 리스크가 될 수도 있다.
또한 이 시나리오는 오픈소스 생태계에도 예상치 못한 영향을 미칠 수 있다. AI 모델이 생성한 코드 대부분이 GPL로 간주된다면, 사실상 새로운 코드가 GPL로 “확산”되는 구조가 만들어질 수 있다. 이는 Copyleft의 원래 목적과는 다른 방향의 결과를 낳을 수도 있다. GPL은 자유 소프트웨어의 확산을 위해 만들어진 규칙이지만, AI 시대에는 그 규칙이 예상하지 못한 방식으로 적용될 가능성이 있기 때문이다.
이 시나리오는 현실적으로도 많은 논쟁을 불러왔다. 일부 개발자들은 AI 생성 코드를 GPL로 간주해야 한다고 주장하지만, 다른 한편에서는 그렇게 되면 AI 기술 자체가 실질적으로 사용 불가능해질 것이라고 반박한다. 특히 기업 환경에서는 AI 코드 생성 도구를 사용하는 것 자체가 법적 위험이 될 수 있기 때문에, 기술 확산이 크게 제한될 가능성도 있다.
결국 이 사고 실험은 하나의 중요한 사실을 보여준다. AI 코드 생성 문제는 단순히 “GPL을 지켜야 하는가”라는 윤리적 질문이 아니라, 현재의 라이선스 체계가 AI 시대에 그대로 적용될 수 있는가라는 더 큰 질문과 연결되어 있다는 점이다.

반대로 GPL이 적용되지 않는다면
이제 반대 방향의 시나리오를 생각해 보자. AI 모델이 GPL 코드를 학습했더라도, 생성된 코드에는 GPL이 적용되지 않는다고 가정해 보자. 이 경우 AI는 단순히 코드 패턴을 학습했을 뿐이며, 생성된 결과물은 새로운 창작물로 간주된다는 해석이다. 많은 AI 기업과 일부 법률 전문가들은 이 해석이 현실적인 방향이라고 주장한다.
이 해석이 받아들여진다면 AI 코드 생성 도구의 법적 위험은 크게 줄어든다. 개발자는 AI가 생성한 코드를 자유롭게 사용할 수 있고, 특정 라이선스 의무를 걱정하지 않아도 된다. 기업 환경에서도 AI 코드 생성 도구를 적극적으로 활용할 수 있게 된다. 기술 확산이라는 측면에서는 이 해석이 훨씬 실용적인 결론처럼 보인다.
하지만 이 결론 역시 또 다른 문제를 만들어낸다. Copyleft 라이선스가 의도했던 보호 구조가 약화될 수 있기 때문이다. 예를 들어 어떤 개발자가 GPL 라이선스로 공개된 프로젝트 전체를 AI에게 입력하고 “같은 기능을 다른 방식으로 다시 작성하라”고 요청한다고 가정해 보자. AI가 생성한 결과물이 새로운 코드로 간주된다면, 그 코드는 GPL 의무에서 벗어난 상태로 배포될 수도 있다.
이 상황은 Copyleft 철학의 핵심을 흔들 수 있다. GPL은 코드의 자유를 유지하기 위해 만들어진 규칙이지만, AI 재작성이라는 새로운 기술이 등장하면 그 규칙을 우회하는 것이 가능해질 수도 있다. 실제로 일부 개발자들은 AI 코드 생성이 Copyleft 라이선스의 구조적 한계를 드러내는 사건이 될 수 있다고 주장한다.
이 문제는 단순히 GPL에만 해당하지 않는다. 오픈소스 라이선스 체계 전체가 인간 개발자가 코드를 작성하는 환경을 전제로 만들어졌기 때문이다. 그러나 AI가 코드 생성의 중요한 주체가 되는 시대에는 그 전제가 더 이상 유지되지 않을 수도 있다. 결국 AI 코드 생성은 기존 라이선스 체계의 경계를 시험하는 새로운 변수로 등장하고 있다.
이 지점에서 우리는 다시 처음의 질문으로 돌아오게 된다. AI가 GPL 코드를 학습했다면, 그 결과물은 GPL이어야 하는가. 지금까지 살펴본 것처럼 이 질문에는 아직 명확한 답이 없다. 기술, 법, 그리고 오픈소스 철학이 모두 얽혀 있는 문제이기 때문이다.
그래서 다음 섹션에서는 이 논쟁을 조금 더 큰 관점에서 정리해 보려 한다. AI 코드 생성이 오픈소스 생태계에 던진 질문이 무엇인지, 그리고 앞으로 어떤 방향으로 논의가 이어질 가능성이 있는지 살펴보면서 글을 마무리할 것이다.
결론: 우리는 아직 답을 모른다
지금까지 우리는 하나의 질문을 따라 긴 여정을 지나왔다. AI가 GPL 코드를 학습했다면, 그 결과물도 GPL이어야 하는가. 이 질문은 처음에는 단순해 보인다. 오픈소스 라이선스는 이미 수십 년 동안 존재해 왔고, 그 규칙 역시 비교적 명확해 보이기 때문이다. 그러나 AI 코드 생성이라는 새로운 기술이 등장하면서 이 문제는 갑자기 훨씬 복잡한 형태로 바뀌었다. 기존의 법적 개념인 파생 저작물, 복제, 그리고 저작권의 범위는 모두 인간 개발자를 중심으로 설계된 개념들이었다. 하지만 이제 코드 생성 과정에는 인간뿐 아니라 거대한 확률 모델이 개입하고 있으며, 그 모델은 수십억 개의 코드 조각을 학습한 상태에서 새로운 코드를 만들어낸다.
이러한 변화는 오픈소스 라이선스 체계가 전제했던 구조 자체를 흔들고 있다. GPL은 코드의 자유를 유지하기 위해 만들어진 강력한 규칙이지만, 그 규칙이 적용되는 방식은 인간이 코드를 작성하고 수정하는 환경을 기반으로 설계되어 있다. 반면 AI 모델은 코드를 복사하거나 수정하는 것이 아니라 패턴을 학습하고 확률적으로 새로운 코드를 생성한다. 이 과정은 기존 저작권 개념으로 설명하기 어려운 영역을 만들어낸다. AI가 생성한 코드가 기존 코드의 파생 저작물인지, 아니면 독립적인 창작인지 판단하는 기준 역시 아직 명확하게 정립되지 않았다.
여기에 더해 또 다른 문제가 등장한다. 바로 AI 생성 코드의 저작권 자체가 존재하는지 여부다. 만약 AI가 만든 코드가 인간의 창작이 아니기 때문에 저작권 보호 대상이 아니라면, 그 코드에는 애초에 라이선스를 부여할 권리 자체가 존재하지 않을 수도 있다. 이 경우 MIT나 Apache 같은 관대한 라이선스뿐 아니라 GPL 같은 Copyleft 라이선스 역시 적용하기 어려운 상황이 될 수 있다. 즉 AI 코드 생성은 단순히 “GPL이 적용되는가”라는 질문을 넘어, 라이선스라는 개념 자체가 어떤 방식으로 작동해야 하는지에 대한 근본적인 질문을 던지고 있다.

이 문제에 대한 논쟁은 앞으로도 계속될 가능성이 높다. 이미 여러 국가에서 AI 학습 데이터와 관련된 저작권 소송이 진행되고 있으며, 법원 역시 AI 기술의 특성을 기존 법 체계 안에서 어떻게 해석해야 할지 고민하고 있다. 일부 판결은 AI 생성물의 저작권을 인정하지 않는 방향으로 나오고 있고, 다른 논의에서는 학습 데이터의 저작권을 어떻게 보호해야 하는지에 대한 새로운 기준이 제시되기도 한다. 하지만 아직까지는 AI 코드 생성과 오픈소스 라이선스의 관계를 명확하게 규정하는 판례나 법률은 존재하지 않는다.
결국 지금 우리가 보고 있는 상황은 하나의 과도기일 가능성이 높다. AI 코드 생성 기술은 이미 개발 환경의 일부가 되었지만, 그 기술이 만들어낸 법적 문제는 아직 해결되지 않았다. 오픈소스 라이선스 역시 이 변화에 맞춰 새로운 해석이나 새로운 규칙을 필요로 할 가능성이 있다. 어떤 개발자들은 AI 코드 생성이 Copyleft 라이선스를 무력화할 수 있다고 우려하고, 다른 개발자들은 오히려 코드 생성이 너무 쉬워지는 시대에는 라이선스 자체의 의미가 달라질 것이라고 주장하기도 한다. 어느 쪽이든 분명한 사실은 하나다. AI는 소프트웨어 개발 방식뿐 아니라 소프트웨어의 법적 구조까지 변화시키고 있다는 점이다.
이 글에서 다룬 질문은 결국 명확한 결론으로 끝나지 않는다. AI가 GPL 코드를 학습하면 결과물도 GPL이 되는지에 대한 답은 아직 존재하지 않는다. 기술적으로도, 법적으로도, 그리고 철학적으로도 이 문제는 여전히 열려 있는 상태다. 그러나 이 질문 자체가 중요한 이유는, 그것이 우리가 오랫동안 당연하게 받아들여 온 오픈소스 생태계의 규칙을 다시 생각하게 만들기 때문이다. AI 코드 생성은 단순한 개발 도구의 변화가 아니라, 소프트웨어가 어떻게 만들어지고 공유되는지에 대한 근본적인 질문을 다시 던지고 있다.
그리고 바로 이 지점에서 다음 이야기가 시작된다. 지금까지 우리는 GPL의 구조와 AI 코드 생성 사이의 충돌을 살펴보았다. 하지만 이 문제를 이해하기 위해서는 한 가지 개념을 더 깊이 살펴볼 필요가 있다. 그것은 바로 클린룸 구현(clean-room implementation)이다. 기존 소프트웨어의 기능을 참고하면서도 저작권 침해를 피하기 위해 사용되어 온 이 법적 전략은 AI 시대에 다시 중요한 의미를 가지게 되고 있다. 다음 글에서는 이 클린룸 구현이 실제로 어떤 방식으로 이루어지는지, 그리고 법적으로 어떤 조건에서 인정되는지에 대해 조금 더 자세히 살펴보려고 한다.