블로그로 돌아가기
외주 가이드2026년 7월 22일89

AI 개발 외주 계약에서 소스 코드 소유권을 명확히 귀속하는 방법

AI 개발 외주 계약에서 소스 코드·모델 가중치·프롬프트의 소유권을 발주사에 완전히 귀속시키는 방법을 정리했습니다. 양도와 독점 사용권의 법적 차이, 산출물 유형별 귀속 명기 방식, 납품 시 리포지터리·인프라 인수인계 체크리스트와 독소 조항 필터링 기준까지 지금 확인하세요.

외주 개발이 끝난 뒤 "이 코드는 우리 것"이라고 말하지 못하는 상황이 생각보다 자주 발생한다. 계약서에 소유권 조항이 아예 없거나, 있더라도 "을이 작성한 산출물에 대한 저작권은 을에게 귀속된다"는 기본 조항 하나만 달랑 남아 있는 경우다. 나는 여러 AI 개발 프로젝트를 진행하면서 이 문제를 반복적으로 목격했고, 한 번 잘못 체결된 계약은 개발이 끝난 후에는 바로잡기가 매우 어렵다는 걸 확인했다. 외주 계약 단계에서 소스 코드 소유권과 지식재산권 귀속 주체를 명확히 합의하는 것이 법적 분쟁을 막는 가장 확실한 방법이다.

---

AI 개발 외주 시장에서 소스 코드 소유권 분쟁이 빈번하게 발생하는 기술적 원인

분쟁이 잦은 이유는 AI 개발 산출물의 구조 자체에 있다. 전통적인 웹 개발은 소스 코드와 데이터베이스 스키마가 산출물의 전부였지만, 현재 AI 외주 프로젝트는 구성 요소가 훨씬 복잡하다.

  • 파인튜닝된 모델 가중치 — 기반 모델(foundation model)에 고객사 데이터를 학습시킨 결과물로, 소스 코드와는 별개의 법적 지위를 가진다.
  • 프롬프트 템플릿과 시스템 프롬프트 — 코드가 아니지만 핵심 비즈니스 로직이 담겨 있다. 저작권 보호 대상인지 여부가 아직 판례가 부족하다.
  • 벡터 데이터베이스와 임베딩 — RAG 구조에서 회사 지식이 임베딩 형태로 저장되는데, 이것이 코드인지 데이터인지 계약서에서 특정하지 않으면 분쟁 대상이 된다.
  • MLOps 파이프라인 스크립트 — 학습·추론·배포 자동화 코드로, 단순 운영 스크립트처럼 보이지만 재현성 측면에서 핵심 자산이다.
  • 오픈소스 라이선스 혼입 — MIT, Apache 2.0, GPL 등이 혼용된 외부 라이브러리를 포함할 경우, GPL 코드가 섞이면 전체 소스 공개 의무가 발생할 수 있다.

일반 소프트웨어 외주 계약에서 쓰던 "모든 산출물의 저작권은 갑에게 귀속한다"는 한 문장은 이 다섯 가지 구성 요소를 하나도 특정하지 못한다. AI 개발 외주 검증 절차를 건너뛰었을 때 발생하는 문제를 다룬 글에서도 지적했듯, 계약 전 검증을 생략하면 이후 비용이 기하급수적으로 커진다.

---

계약 조건 검토 시 반드시 기재해야 하는 저작권 및 사용권 귀속 항목은?

계약서를 검토할 때 조항이 존재하는지보다 어느 수준까지 특정했는지가 중요하다. 아래 표는 AI 개발 외주 계약에서 반드시 확인해야 할 귀속 항목을 정리한 것이다.

산출물 유형귀속 주체 명기 방식누락 시 위험
애플리케이션 소스 코드갑(발주사) 단독 소유로 명시개발사가 유사 제품에 재사용 가능
파인튜닝 모델 가중치별도 부속서에 파일명·버전 특정모델 파일 반환 거부 근거 소멸
프롬프트 템플릿영업비밀 + 저작권 이중 보호 명시경쟁사 납품 시 유출 가능
학습 데이터·임베딩원본 데이터 소유권과 분리 기재개인정보 데이터 귀속 다툼 발생
오픈소스 컴포넌트 목록SBOM(소프트웨어 구성 명세서) 첨부GPL 조건 충족 의무 미이행
개발 문서·API 명세소스 코드와 동일 조건 적용문서 없이 유지보수 불가

사용권 조항도 별도로 다뤄야 한다. 특히 개발사가 "납품 후 갑에게 독점적 사용권을 부여한다"는 표현을 쓰는 경우가 있는데, 이는 소유권 양도가 아니다. 독점적 사용권(exclusive license)과 소유권 양도(assignment of ownership)는 법적 효력이 완전히 다르다. 전자는 개발사가 여전히 저작권자로 남고, 후자는 저작권 자체가 발주사로 넘어온다. AI 개발 외주 계약에서는 양도(assignment) 표현을 명시하는 것이 원칙이다.

추가로 계약서에 넣어야 할 조항 두 가지가 있다.

  • 역탐지 불가 조항 — 개발사가 납품 코드를 분석해 유사 제품에 재활용하지 않겠다는 명시적 금지
  • 서브컨트랙터 귀속 동의 — 개발사가 외부 프리랜서나 협력사를 쓸 경우 해당 인력의 저작권도 갑에게 귀속되도록 보장하는 조항

---

산출물 검수와 함께 완료해야 하는 소스 코드 및 개발 인프라 양도 절차

계약서에 조항을 제대로 썼다고 해서 일이 끝나는 게 아니다. 납품 시점에 실제로 받아야 할 것들을 체계적으로 인수인계받지 않으면, 법적으로는 내 소유지만 물리적으로는 접근할 수 없는 상황이 생긴다.

체크리스트 형태로 정리하면 다음과 같다.

코드 리포지터리 양도

  • GitHub/GitLab 리포지터리의 ownership 이전 (fork가 아닌 실제 소유자 이전)
  • 브랜치 전체 및 커밋 히스토리 포함 여부 확인
  • 개발사 계정에서 갑의 조직(organization)으로 이전 완료 확인

배포 인프라 접근 권한

  • AWS/GCP/Azure 계정의 리소스 접근 권한이 아닌 소유권 자체를 이전
  • API 키, 시크릿, 환경변수 전체 목록 전달
  • 도메인·SSL 인증서 등록 이전

AI 모델 산출물

  • 파인튜닝 모델 가중치 파일(`.bin`, `.safetensors` 등) 전달
  • 학습에 쓴 하이퍼파라미터, 학습 스크립트, 평가 지표 포함
  • 벡터 데이터베이스 스냅샷 및 임베딩 파일 전달

문서

  • API 명세서(OpenAPI 스펙 등)
  • 아키텍처 다이어그램
  • 배포·운영 매뉴얼

이 목록은 검수 단계에서 체크리스트로 계약서에 부속서로 첨부해두는 것이 좋다. 납품 완료 기준을 "이 목록의 전 항목 이전 완료"로 명시하면, 잔금 지급 조건과 연동할 수 있다.

---

유지보수 자율성을 해치는 독소 조항을 어떻게 걸러낼까?

개발이 끝난 후에도 특정 외주사에만 유지보수를 맡길 수밖에 없는 구조가 계약서 안에 숨어 있는 경우가 있다. 이런 조항들은 표면적으로는 합리적으로 보이지만 실질적으로 벤더 종속(vendor lock-in)을 만든다.

주의해야 할 독소 조항 유형은 세 가지다.

첫째, "을의 독자적 기술·방법론이 포함된 부분에 대해 갑은 제3자에게 유지보수를 위탁할 수 없다"는 조항이다. 개발사의 내부 프레임워크나 도구가 납품 산출물에 포함되면서 그 부분의 수정·확장 권한을 개발사가 독점하는 구조다. 계약서에 이 표현이 있다면 삭제를 요청하거나, 해당 독자 기술 컴포넌트를 산출물에서 제외하고 공개 라이선스 대체재로 교체하도록 명시해야 한다.

둘째, 비밀유지협약(NDA)의 역방향 조항이다. 발주사가 외주사의 기술을 외부에 공개하지 못하도록 막는 NDA가 아니라, 발주사가 자신의 코드를 다른 개발사에게 보여주지 못하도록 막는 NDA다. 납품 후 갑은 자신 소유의 코드를 누구에게도 보여줄 수 있어야 한다.

셋째, "프로젝트 종료 후 6개월간 동종 업계 타사 의뢰 금지" 같은 과도한 경업금지 조항이다. 이 조항은 발주사의 경쟁사를 위한 개발을 막는 목적이지만, 문구가 불분명하면 발주사가 다른 외주사를 쓰는 것 자체를 제한하는 방향으로 해석될 수 있다.

소유권 선언 방식은 간결할수록 강하다. "본 계약에 따라 개발된 모든 소프트웨어, 모델, 문서, 및 관련 지식재산권은 계약 종료 시점에 갑에게 귀속되며, 을은 이에 대한 어떠한 권리도 보유하지 않는다"는 문장 하나가 수십 줄의 조건부 조항보다 실효성 있다.

treesoop.com에서 AI 개발 프로젝트를 진행할 때 내가 직접 계약 조건 검토 단계를 거치는 이유가 여기 있다. 계약서 구조 자체가 개발 방향에 영향을 준다. AI-Native 개발 방식이 무엇인지 이해하면 왜 납품 구조와 산출물 범위를 처음부터 정의해야 하는지 더 명확해진다.

---

자주 묻는 질문

소스 코드 저작권 양도는 구두 합의로도 효력이 있을까?

없다. 저작권법상 저작권 양도는 서면 계약이 원칙이고, 구두 합의는 입증이 사실상 불가능하다. 계약서에 '양도(assignment)' 표현을 반드시 명시해야 한다. 이메일이나 메신저 기록은 보조적 증거는 될 수 있어도 저작권 양도 계약 자체를 대체하지 못한다.

오픈소스 기반 AI 개발의 경우 소유권 주장 범위는 어디까지일까?

오픈소스 라이선스 조건을 준수하는 범위 내에서, 개발사가 추가 작성한 코드와 커스터마이징 부분에 대한 소유권을 갑이 가질 수 있다. GPL 라이선스가 혼입된 경우에는 공개 의무 조건을 먼저 법무팀과 확인해야 한다. SBOM(소프트웨어 구성 명세서)을 납품 요건으로 지정해두는 것이 가장 현실적인 방법이다.

개발 도중 계약을 중도 해지하면 미완성 코드의 소유권은 누구에게 귀속되나?

계약서에 중도 해지 시 귀속 조항이 없으면 원칙적으로 저작권은 개발사에 남는다. 착수금 지급 비율에 따라 협상이 가능하지만 법적 강제력은 없다. 계약서 초안에 "중도 해지 시 기납품 산출물 일체의 소유권은 해지 시점 기준으로 갑에게 귀속한다"는 조항을 미리 넣어두는 것이 안전하다.

파인튜닝 모델을 외부 API로만 제공받은 경우 소유권을 주장할 수 있나?

외부 API로 제공되는 모델은 통상 개발사 또는 모델 제공 업체의 소유로 남는다. 발주사는 사용권(license)만 갖는 구조다. 이 차이가 비즈니스 리스크로 직결되므로, 계약 단계에서 모델을 자사 인프라에 직접 배포하는 온프레미스 옵션을 협상하거나, 최소한 모델 가중치 파일의 백업 수령권을 명시해야 한다.

외주 개발사가 프리랜서 인력을 사용했을 때 저작권 귀속 구조는?

프리랜서가 작성한 코드의 저작권은 계약 구조에 따라 프리랜서 본인에게 남을 수 있다. 이 경우 발주사와 외주 개발사 간의 계약만으로는 완전한 소유권 이전이 불가능하다. 외주 계약서에 "을이 활용하는 모든 하도급 인력의 저작권 양도를 을이 책임지고 확보한다"는 조항을 반드시 포함해야 한다.

---

계약서의 소유권 조항은 프로젝트가 끝난 뒤에야 그 실질이 드러난다. 착수 전에 산출물 범위를 특정하고, 양도 표현을 명시하고, 납품 기준을 체크리스트로 고정해두면 분쟁의 여지 자체를 없앨 수 있다. 계약 전 단계의 업체 검증은 AI 개발 외주 업체 선정 검증 가이드에서, 계약서 전체 점검 항목은 계약 전 확인할 5가지에서 이어진다. 판교에서 AI 개발 프로젝트 계약 조건을 검토하거나 소유권 귀속 구조에 대해 직접 논의하고 싶다면 treesoop.com/services/ax-consulting에서 문의하면 된다.

---

*글쓴이: 남대현 | TreeSoop CEO, POSTECH 컴퓨터공학 AI/MR/HCI 석사*

AI 관련 프로젝트가 필요하시면 카카오톡으로 문의하세요.