본문 바로가기

// 외주 안전

소스코드 소유권 — 계약서에 이 한 줄 없으면 내 앱이 아닙니다

작성 Abe · 5년차 풀스택 개발자게시

외주로 만든 앱의 소스코드 소유권은 계약서에 "저작재산권 일체를 양도한다"는 한 줄이 없으면 대표님 것이 아닐 수 있어요. 개발비를 다 낸 것과 코드에 대한 권리를 넘겨받는 건 따로 정해야 하는 일이에요.

많은 대표님이 "돈을 냈으니 당연히 내 것"이라고 생각해요. 그런데 문제가 터지는 건 개발자를 바꾸거나, 투자 실사에서 "이 코드 권리 누구 거예요?"라는 질문을 받을 때예요. 아래 표는 계약서에 흔히 들어가는 문구가 실제로 무엇을 보장하는지 비교한 거예요.

계약서 문구보장되는 것빠지는 것
"소스코드를 제공한다"파일을 받을 수 있음권리 이전, 수정·재배포 권리
"결과물의 소유권은 발주자에게 있다"결과물 전반의 귀속 의사범위와 이전 시점이 모호함
"저작재산권 일체를 양도한다"코드에 대한 재산적 권리 이전2차적저작물작성권은 따로 적어야 안전
양도 + 2차적저작물작성권 + 이전 시점 + 계정 명의코드·권리·계정을 실제로 쥠오픈소스 등 제3자 코드(사용권으로 해결)

돈을 냈는데 왜 내 코드가 아닐 수 있나요?

코드는 만든 사람의 저작물이에요. 외주 계약에서 권리 귀속을 따로 정하지 않으면, 개발비는 "만들어 주는 일"에 대한 대가일 뿐 저작권까지 넘긴 건 아니라고 볼 여지가 생겨요.

여기에 하나가 더 있어요. 저작권법은 저작재산권 전부를 양도해도 특약이 없으면 2차적저작물작성권은 포함되지 않은 것으로 추정해요. 앱을 고치고 기능을 붙이는 일이 이 권리와 닿아 있어서, 양도 조항에 이 부분까지 적어 두는 게 안전해요.

계약서에 넣을 조항 문구 예시

그대로 복사해서 쓰라는 게 아니라, 계약서를 받았을 때 이 내용이 다 들어 있는지 확인하는 기준으로 쓰세요.

  1. 권리 양도: "본 계약에 따라 개발된 결과물(소스코드, 디자인 파일, 문서 포함)에 대한 저작재산권 일체는 잔금 지급과 동시에 발주자에게 양도된다. 이 양도에는 2차적저작물작성권이 포함된다."
  2. 이전 대상과 시점: "수급자는 검수 완료 후 7일 이내에 전체 소스코드, 빌드·배포 방법 문서, 환경변수 목록을 발주자 명의 저장소에 이전한다."
  3. 제3자 코드: "오픈소스 및 수급자가 기존에 보유한 공통 모듈은 양도 대상에서 제외하되, 발주자는 이를 결과물 운영·수정 목적으로 기간 제한 없이 사용할 수 있다. 수급자는 사용한 오픈소스 목록과 라이선스를 제공한다."
  4. 계정 명의: "서비스 운영에 필요한 저장소·서버·도메인·앱스토어·결제 계정은 발주자 명의로 개설하며, 수급자는 필요한 권한만 부여받는다."

이 밖에 검수, 하자보수, 지급 조건까지 계약서 전체 구성은 외주 계약서에 꼭 넣을 10가지 조항에 정리했어요.

조항보다 먼저 챙길 것: 계정 명의 체크리스트

조항이 있어도 계정이 개발자 명의면 현실에서는 손을 못 써요. 업데이트 하나 올릴 때마다 그 개발자를 거쳐야 하거든요. 처음부터 대표님 명의로 만들고 개발자를 초대하는 순서가 가장 깔끔해요.

계정대표님이 쥐어야 하는 것확인 방법
GitHub 저장소저장소 소유자(Owner) 권한저장소 설정에서 소유자 이름 확인
서버 · 데이터베이스결제 카드와 루트 계정클라우드 콘솔에 직접 로그인되는지
도메인등록인 정보도메인 업체 계정에서 등록인 확인
애플 · 구글 개발자 계정계정 소유자스토어 콘솔에 대표님 계정으로 접속
결제(PG) · 외부 API가맹 계약 주체와 API 키정산 계좌가 대표님 것인지

이미 개발자 명의로 만들어진 계정이 있다면 옮기는 순서가 중요해요. 앱 이전, 서명 키, 권한 회수 순서는 인수인계 체크리스트를 같이 보세요.

실제로는 어떻게 운영하나요?

제가 직접 만들어 운영하는 튜브링고는 API 서버를 Railway에, 음성·미디어 파일을 Cloudflare R2에 두고 있어요. 저장소, 서버, 파일 저장소, 스토어 계정이 전부 제 명의라서 서버를 옮기거나 기능을 붙일 때 누구에게 허락받을 일이 없어요.

외주 앱도 같은 상태여야 해요. 쉽잇은 GitHub, 서버, 도메인, 앱스토어 계정을 처음부터 대표님 명의로 만들고, 출시 때 코드·계정을 전부 넘겨드려요. 그래서 언제든 다른 개발자에게 넘길 수 있어요.

이미 계약했는데 조항이 없다면

당황할 필요는 없어요. 순서대로 하면 돼요.

  • 계약서에 권리 귀속 문구가 있는지 다시 읽기
  • 없으면 부속 합의서로 양도 조항 추가 요청하기
  • 저장소·서버·도메인·스토어 계정에 대표님이 접속되는지 확인하기
  • 개발자 명의 계정은 이전 일정 잡기
  • 받은 코드로 실제 빌드가 되는지 다른 개발자에게 확인받기

개발자를 바꾸는 상황이라면 다른 회사가 만든 앱 이어서 개발하기에서 인수 진단 항목을 먼저 보세요. 외주 전반에서 망하는 패턴은 앱 개발 외주, 이래서 망합니다에, 비용 구조는 앱 개발 비용 2026에 정리했어요.

법률 자문이 아니에요. 조항의 효력이나 분쟁 대응은 변호사 등 전문가에게 확인하세요.

자주 묻는 질문

Q.돈을 다 냈으면 소스코드는 자동으로 제 것인가요?

아니에요. 개발비를 낸 것과 저작권을 넘겨받는 건 별개예요. 계약서에 저작재산권 양도와 이전 시점을 적어 두지 않으면 코드에 대한 권리가 개발자에게 남는다고 볼 여지가 있어요. 계약 전에 조항으로 정하세요.

Q.계약서에 '소스코드 제공'이라고만 써 있으면 충분한가요?

부족해요. '제공'은 파일을 준다는 뜻이지 권리를 넘긴다는 뜻이 아닐 수 있어요. 저작재산권 일체 양도, 2차적저작물작성권 포함, 이전 시점, 계정 명의까지 같이 적는 게 안전해요.

Q.개발자가 쓰던 라이브러리나 오픈소스도 제 것이 되나요?

아니에요. 오픈소스와 개발자가 원래 갖고 있던 공통 모듈은 보통 양도 대상에서 빠져요. 대신 그 부분을 대표님이 계속 쓰고 고칠 수 있는 사용권을 계약서에 적어 두면 돼요.

Q.이미 계약했는데 조항이 없으면 어떻게 하나요?

지금이라도 부속 합의서로 양도 조항을 추가하자고 요청하세요. 동시에 GitHub 저장소, 서버, 도메인, 스토어 계정 접근 권한부터 대표님 명의로 옮기세요. 분쟁 가능성이 있으면 전문가와 먼저 상담하세요.

같이 읽으면 좋은 글

개발 가이드 전체 보기 →
무료 상담 신청