"계약서요? 그냥 표준 계약서 쓰면 되는 거 아닌가요?"
많은 분들이 계약서를 가볍게 생각해요. 하지만 문제가 생겼을 때 나를 보호하는 건 오직 계약서뿐이에요.
오늘은 개발 외주 계약서에 반드시 들어가야 할 조항들을 알려드릴게요.
왜 계약서가 중요한가요?
실제 분쟁 사례
사례 1: 소스코드 분쟁
"앱 다 만들었는데 소스코드 안 줘요" 계약서에 소유권 조항이 없었음. 법적으로 개발사 소유.
사례 2: 유지보수 분쟁
"출시 후 버그 있는데 안 고쳐줘요" 무상 유지보수 기간이 명시되지 않았음.
사례 3: 일정 분쟁
"3개월 예정이 6개월 걸렸는데 추가 비용 요구해요" 지연 책임과 비용 조항이 없었음.
계약서 = 보험
계약서는 **"문제가 생겼을 때를 대비하는 보험"**이에요. 관계가 좋을 때는 필요 없지만, 틀어지면 계약서만이 증거예요.
필수 조항 1: 프로젝트 범위
왜 중요한가요?
"이 기능도 해주는 거 아니었어요?"라는 분쟁의 시작.
명시해야 할 것
개발 범위
1. 플랫폼
- iOS 앱: O
- Android 앱: O
- 웹: X (별도)
- 관리자 페이지: O
2. 기능 목록
- 회원가입/로그인 (이메일, 카카오)
- 상품 목록/상세/검색
- 장바구니/결제 (카드, 계좌이체)
- 마이페이지/주문내역
- 푸시 알림
3. 제외 항목
- 쿠폰/포인트 시스템
- 리뷰 기능
- 채팅 기능
핵심 포인트
- 포함 항목 명확히
- 제외 항목 명확히
- 변경 시 별도 협의 조항
필수 조항 2: 비용 및 결제
명시해야 할 것
계약 금액 및 결제
1. 총 계약 금액: 30,000,000원 (부가세 별도)
2. 결제 일정
- 계약금: 30% (9,000,000원) — 계약 시
- 중도금: 40% (12,000,000원) — 디자인 완료 시
- 잔금: 30% (9,000,000원) — 최종 검수 완료 시
3. 결제 방법: 세금계산서 발행 후 7일 이내 입금
4. 추가 비용 발생 조건
- 범위 외 기능 추가 요청 시
- 클라이언트 귀책사유로 인한 일정 지연 시
핵심 포인트
- 마일스톤별 결제가 안전
- 추가 비용 조건 미리 명시
- 부가세 포함/별도 명확히
필수 조항 3: 일정 및 지연
명시해야 할 것
개발 일정
1. 총 개발 기간: 계약일로부터 90일
2. 단계별 일정
- 기획/설계: 2주 (D+14)
- 디자인: 3주 (D+35)
- 개발: 5주 (D+70)
- QA/수정: 2주 (D+84)
- 배포: 1주 (D+90)
3. 지연 시 책임
- 개발사 귀책: 주당 계약금의 1% 감액
- 클라이언트 귀책: 지연일 만큼 납기 연장
4. 귀책사유 판단
- 개발사: 기술적 문제, 인력 이슈
- 클라이언트: 자료 미제공, 피드백 지연, 요구사항 변경
핵심 포인트
- 마일스톤별 일정 명시
- 지연 시 책임 양쪽 다
- 귀책사유 기준 명확히
필수 조항 4: 소스코드 소유권
가장 중요한 조항
지적재산권
1. 소유권 귀속
본 프로젝트로 개발된 소스코드, 디자인 산출물의 저작권 및 소유권은 최종 대금 지급 완료 시 갑(클라이언트)에게 전면 귀속된다.
2. 인도물
- 소스코드 전체
- 디자인 원본 파일 (Figma/PSD)
- 기술 문서
- 데이터베이스 구조 문서
3. 개발사의 의무
- 동일 소스코드를 제3자에게 제공하거나 재사용할 수 없다.
- 포트폴리오 사용 시 갑의 사전 동의 필요.
주의사항
- "귀속" 표현 명확히
- 인도물 목록 구체적으로
- 재사용 금지 조항 필수
필수 조항 5: 하자 보수
명시해야 할 것
하자 보수
1. 무상 하자 보수 기간
최종 검수 완료일로부터 6개월
2. 하자 범위
- 버그 수정
- 기능 오류 수정
- 개발사 실수로 인한 문제
3. 하자 제외
- 클라이언트 요청에 의한 기능 변경
- 신규 기능 추가
- 외부 환경 변화 (OS 업데이트 등)
4. 대응 시간
- 긴급 (서비스 장애): 24시간 이내
- 일반 버그: 영업일 기준 3일 이내
핵심 포인트
- 기간 최소 3개월, 가능하면 6개월
- 범위 명확히 (버그 vs 기능변경)
- 대응 시간 명시
필수 조항 6: 비밀유지 (NDA)
명시해야 할 것
비밀유지
1. 비밀정보 범위
- 프로젝트 관련 기획/기술 정보
- 비즈니스 모델 및 전략
- 클라이언트 고객 정보
2. 의무
- 제3자에게 공개 금지
- 프로젝트 목적 외 사용 금지
- 퇴사 직원에게도 비밀유지 의무 부과
3. 기간: 계약 종료 후 3년간 유지
4. 예외
- 이미 공개된 정보
- 법원/수사기관 요청
필수 조항 7: 검수 및 인수
명시해야 할 것
검수 및 인수
1. 검수 절차
- 개발사가 검수 요청
- 클라이언트 7일 이내 검수 진행
- 보완 요청 또는 인수 확인
2. 검수 기준
- 계약서 명시된 기능 구현 여부
- 주요 버그 없음
- 정상 작동 확인
3. 검수 지연 시
클라이언트가 7일 내 응답 없으면 검수 완료로 간주
4. 검수 완료 효과
- 잔금 지급 의무 발생
- 하자보수 기간 시작
필수 조항 8: 중도 해지
명시해야 할 것
계약 해지
1. 해지 사유
- 상대방의 중대한 의무 위반
- 상대방의 부도/파산
- 상호 합의
2. 해지 절차
- 14일 전 서면 통보
- 기지급 비용 및 작업물 정산
3. 정산 기준
- 완료된 단계까지 비용 인정
- 미완료 작업물 인도 여부
- 예시: 기획 완료 30% / 디자인 완료 50% / 개발 50% 완료 시 70%
4. 작업물 처리
- 해지 시점까지 산출물 인도 또는 반환
필수 조항 9: 손해배상
명시해야 할 것
손해배상
1. 배상 범위
- 귀책사유로 인한 직접 손해
- 계약금액을 한도로 함
2. 배상 사유
- 일정 지연으로 인한 사업 손실
- 보안 사고로 인한 피해
- 제3자 권리 침해
3. 면책 사유
- 천재지변
- 불가항력적 사유
- 상대방 귀책
필수 조항 10: 분쟁 해결
명시해야 할 것
분쟁 해결
1. 협의 우선
분쟁 발생 시 상호 협의로 해결
2. 관할 법원
- 협의 불성립 시 서울중앙지방법원을 전속 관할로 한다
- 또는 피고의 주소지 관할 법원
3. 준거법: 대한민국 법률
계약서 체크리스트
| 조항 | 필수 | 체크 |
|---|---|---|
| 프로젝트 범위 | O | [ ] |
| 비용 및 결제 | O | [ ] |
| 일정 및 지연 | O | [ ] |
| 소스코드 소유권 | 필수 | [ ] |
| 하자 보수 | O | [ ] |
| 비밀유지 | O | [ ] |
| 검수 및 인수 | O | [ ] |
| 중도 해지 | O | [ ] |
| 손해배상 | △ | [ ] |
| 분쟁 해결 | O | [ ] |
마치며
계약서는 신뢰의 부재가 아니라 명확한 약속이에요. 좋은 관계를 유지하면서도 서로를 보호할 수 있는 장치죠.
핵심 포인트:
- 소유권 필수 — 가장 중요한 조항
- 범위 명확히 — 포함/제외 모두
- 마일스톤 결제 — 리스크 분산
- 하자보수 6개월 — 최소 기준
- 서면 기록 — 모든 변경사항
계약서 검토가 필요하시면 무료 상담을 통해 전문가의 도움을 받아보세요.
함께 읽으면 좋은 글
- 유지보수 계약 가이드 - 출시 후 계약
- 개발사 선정 체크리스트 - 계약 전 업체 검증
- 개발자가 좋아하는 기획서 작성법 - 계약 범위 정의
계약서 조항별 실제 문구 예시
소스코드 소유권
좋은 예시:
제X조 (지적재산권)
① 본 계약으로 개발된 소프트웨어의 저작권 및
소유권은 최종 대금 지급 완료 시
갑(클라이언트)에게 전면 귀속된다.
② 을(개발사)은 동일 또는 유사한 소스코드를
제3자에게 제공하거나 재사용할 수 없다.
③ 을은 갑의 사전 서면 동의 없이 본 프로젝트를
포트폴리오로 사용할 수 없다.
중도 해지
좋은 예시:
제X조 (계약 해지)
① 해지 사유
1. 상대방의 중대한 의무 위반 시
2. 상대방의 부도, 파산, 회생 신청 시
3. 상호 서면 합의 시
② 해지 절차
1. 해지 희망일 14일 전 서면 통보
2. 완료된 작업물에 대한 정산
③ 정산 기준
- 기획 완료: 총 금액의 20%
- 디자인 완료: 총 금액의 40%
- 개발 50% 완료: 총 금액의 60%
- 개발 완료: 총 금액의 80%
- QA 완료 후: 총 금액의 100%
④ 작업물 처리
- 정산 완료 시 해당 시점까지의 산출물 인도
- 정산 미완료 시 작업물 인도 의무 없음
분쟁 사례별 계약 조항
사례 1: "이 기능 포함 아니었어요?"
예방 조항:
제X조 (개발 범위)
① 별첨 기능목록에 명시된 기능만 개발 범위에 포함
② 기능목록에 없는 사항은 추가 개발로 간주하며,
별도 견적 및 서면 합의 후 진행
③ "간단한 수정", "작은 추가" 등 모호한 표현의
요청은 을의 판단에 따라 추가 개발로 분류 가능
사례 2: "소스코드 안 줘요"
예방 조항:
제X조 (산출물 인도)
① 을은 최종 대금 지급 완료 후 7일 이내에
다음 산출물을 갑에게 인도한다:
1. 소스코드 전체 (Git 저장소 접근 권한 포함)
2. 디자인 원본 파일 (Figma/PSD/AI)
3. 데이터베이스 구조 문서
4. API 명세서
5. 배포/운영 매뉴얼
② 을이 산출물 인도를 지연할 경우,
지연일 당 잔금의 0.1%를 위약금으로 지급한다.
사례 3: "일정이 계속 밀려요"
예방 조항:
제X조 (일정 준수)
① 을은 별첨 일정표에 따라 개발을 진행한다.
② 을의 귀책사유로 일정 지연 시:
- 1주 지연: 경고
- 2주 지연: 계약금의 5% 감액
- 4주 이상 지연: 계약 해지 가능
③ 갑의 귀책사유로 일정 지연 시:
- 지연일 만큼 납기 자동 연장
- 귀책사유: 자료 미제공, 피드백 지연(5영업일 초과),
범위 변경 요청
④ 일정 변경 시 양측 서면 합의 필수
계약 전 체크리스트
상대방 확인
□ 사업자등록증 확인
□ 대표자 신원 확인
□ 실제 사무실 존재 확인
□ 이전 프로젝트 레퍼런스 체크
□ 온라인 평판 조사 (커뮤니티, 리뷰)
계약서 확인
□ 개발 범위 상세히 명시되어 있는가?
□ 결제 조건 마일스톤별로 나뉘어 있는가?
□ 일정과 지연 패널티가 있는가?
□ 소스코드 소유권이 명시되어 있는가?
□ 하자보수 기간이 3개월 이상인가?
□ 중도 해지 시 정산 기준이 있는가?
□ 비밀유지 조항이 있는가?
□ 분쟁 해결 방법이 명시되어 있는가?
서명 전 최종 확인
□ 계약서 2부 준비 (각자 1부 보관)
□ 별첨 문서 모두 첨부 (기능목록, 일정표, 견적서)
□ 도장 또는 서명란 확인
□ 날짜 기재
□ 대표자 또는 위임장 있는 담당자 서명
표준 계약서 vs 커스텀 계약서
표준 계약서가 좋은 경우
- 500만원 이하 소규모 프로젝트
- 신뢰할 수 있는 업체
- 단순한 기능
커스텀 계약서가 필요한 경우
- 1,000만원 이상 프로젝트
- 처음 거래하는 업체
- 복잡한 기능/요구사항
- 소유권이 중요한 경우
법률 검토 추천
- 3,000만원 이상: 변호사 검토 권장
- 5,000만원 이상: 변호사 검토 필수
Photo by Unsplash