FREELANCE PLAYBOOK

웹 개발 프리랜서
계약 가이드

분쟁은 대개 기술이 아니라 범위에서 터진다. 이 문서는 웹사이트 구축과 유지보수를 수주할 때 무엇을 어디까지 계약서에 적어 두어야 서로 얼굴 붉히지 않는지를 정리했다. 조항 문안은 손봐서 그대로 옮겨 써도 된다.

웹사이트 구축 유지보수 개인 사업자 · 프리랜서 국내 계약 관행 기준

01계약을 셋으로 나눈다

이 셋을 계약서에서 갈라 놓지 않으면 나머지가 전부 꼬인다. "만들어 줬으니 관리도 해 주는 것 아니냐"는 말은 여기서 막힌다.

하자보수 무상

검수 때 합의한 기능이 제대로 동작하지 않는 경우를 말한다. 만든 사람 책임이므로 돈을 받지 않는다.

기간은 검수 완료일부터 3개월에서 6개월로 잡는다. 공공 발주는 1년을 요구하는 곳이 많다.

유지보수 월정액

정상 동작하는 사이트를 계속 살아 있게 유지하는 일이다. 서버 관리, 인증서 갱신, 보안 패치, 백업, 장애 대응, 그리고 소규모 콘텐츠 수정이 들어간다.

별도 계약서를 쓰거나, 구축 계약서 안에 독립된 장으로 넣는다.

추가 개발 건별 견적

계약 범위에 없던 화면이나 기능을 새로 만드는 일이다. 매번 공수를 산정해서 견적을 내고, 발주처가 서면으로 승인한 뒤에 착수한다.

승인 절차를 빼먹으면 나중에 대금을 받기 어려워진다.

하자와 변경을 헷갈리지 않는다

"버튼을 눌러도 저장이 안 된다"는 하자다. "버튼 색을 바꾸고 싶다"는 변경이다. 발주처가 변경 요청을 하자로 포장해서 무상 처리를 요구하는 일이 잦으므로, 검수 확인서에 합의된 기능 목록을 붙여 두어야 나중에 근거로 쓸 수 있다.

02개발 계약서의 뼈대

구축 계약서에 최소한 다음 항목은 들어가야 한다. 하나라도 비면 그 자리에서 분쟁이 생긴다.

항목적어야 할 내용
과업 범위 페이지 목록과 화면 수를 숫자로 적는다."회사 소개 사이트 일체" 같은 표현은 범위가 무한히 늘어난다. 별첨으로 화면 목록표를 붙인다.
산출물 소스코드, 디자인 원본, 관리자 계정, 배포 문서 중 무엇을 넘길지 정한다.디자인 원본 파일을 넘기는지 아닌지가 특히 다툼거리다.
수정 횟수 디자인 시안은 몇 회까지, 퍼블리싱 수정은 몇 회까지 무상인지 못 박는다.시안 3회, 이후 회차당 별도 비용이 흔한 기준이다.
대금 지급 착수금, 중도금, 잔금의 비율과 지급 시점을 적는다.소규모는 착수 50퍼센트에 완료 50퍼센트, 규모가 크면 30·40·30으로 나눈다.
검수 절차 인수 후 며칠 안에 검수를 마치고, 그 기간에 이의가 없으면 검수를 완료한 것으로 본다는 조항을 넣는다.이 조항이 없으면 잔금이 무기한 밀린다.
일정과 지체상금 납기일을 적되, 발주처 귀책으로 자료 제공이 늦어지면 그만큼 납기가 밀린다는 단서를 반드시 붙인다.지체상금을 물릴 경우 1일당 요율과 총 상한을 같이 정한다.
저작권 귀속 잔금을 다 받은 시점에 넘긴다고 쓴다.기존에 보유하던 공통 모듈과 라이브러리는 귀속 대상에서 빼야 다음 일에 재사용할 수 있다.
비용 부담 주체 서버 요금, 도메인, 유료 폰트, 유료 플러그인, 문자 발송비를 누가 내는지 적는다.대납하다가 트래픽이 늘어 손해 보는 경우가 흔하다.
부가세와 원천징수 표기 금액이 부가세 별도인지 포함인지 명시한다.사업자 없이 일하면 사업소득 3.3퍼센트를 떼고 받는다는 점을 미리 계산에 넣는다.

03유지보수 범위 경계표

말로 경계를 그으면 반드시 깨진다. 판단 기준은 작업의 이름이 아니라 기존 구조를 건드리는가공수가 얼마나 드는가 두 가지다.

작업판단 기준처리
텍스트와 이미지 교체 화면 구조를 바꾸지 않는다 유지보수 포함
게시물 등록과 삭제 관리자 화면으로 처리되는 범위다 유지보수 포함발주처가 직접 하도록 넘기는 편이 낫다
배너와 팝업 교체 이미 만들어 둔 틀에 내용만 갈아 끼운다 유지보수 포함
기존 화면 배치 조정 데이터 구조는 그대로 두고 위치만 옮긴다 유지보수 포함단, 시간 쿼터 안에서만
페이지 추가 기존 템플릿을 그대로 쓰는지 본다 템플릿 재사용이면 쿼터 차감새로 디자인해야 하면 별도 견적
기능 추가와 변경 데이터 구조나 화면 흐름이 바뀐다 별도 견적
외부 서비스 연동 결제, 문자, 지도, 소셜 로그인 같은 것들이다 별도 견적
검색 노출 작업 지속적으로 손이 가는 별개의 업무다 별도 계약
디자인 전면 개편 사실상 다시 만드는 일이다 신규 계약
발주처 실수로 인한 복구 발주처가 직접 지우거나 잘못 올린 경우다 별도 청구백업본이 있으면 복구는 해 주되 비용은 받는다

04시간 쿼터 방식

앞의 표를 계약서에 그대로 옮겨도 예외는 계속 생긴다. 그래서 실무에서 제일 잘 굴러가는 방식은 포함되는 작업을 나열하는 대신 포함되는 시간을 정해 두는 것이다. 두 시간이면 쿼터 안에서 처리하고, 스무 시간이면 견적을 낸다. 판단 기준이 감정이 아니라 숫자가 되니 발주처도 반박할 것이 없다.

계약서 문안 · 유지보수 범위
제O조 (유지보수 범위)
① 월 정기 유지보수에는 콘텐츠 수정 및 경미한 변경 작업 월 4시간이 포함된다.
② 제1항의 시간을 초과하는 요청은 시간당 OO원으로 별도 청구하며, 초과가
   예상되는 경우 "을"은 착수 전 "갑"에게 예상 공수를 통지하고 서면 승인을
   받은 후 착수한다.
③ 미사용 시간은 다음 달로 이월되지 않는다.
④ 신규 화면 개발, 기능 추가 및 변경, 외부 서비스 연동, 디자인 개편은
   제1항의 범위에 포함되지 않으며 별도 계약으로 처리한다.

왜 필요한가. "페이지 하나 추가하는 것이 왜 돈이 드느냐"는 질문에 대답할 필요가 없어진다. 이월 금지 조항을 빼면 발주처가 몇 달치를 모아 두었다가 한꺼번에 큰 작업을 요구한다.

쿼터를 몇 시간으로 잡을까

  • 회사 소개 위주의 정적인 사이트라면 월 2시간에서 4시간이면 충분하다.
  • 게시판과 회원 기능이 있으면 월 4시간에서 8시간으로 잡는다.
  • 결제가 붙은 쇼핑몰이나 예약 시스템이라면 월 8시간 이상을 기본으로 두어야 손해를 보지 않는다.

05금액을 정하는 기준

유지보수료

국내 관행에서 연간 유지보수료는 개발비의 10퍼센트에서 15퍼센트가 기준선이다. 개발비가 2천만 원이면 연 200만 원에서 300만 원, 월로 나누면 17만 원에서 25만 원쯤 된다. 여기에 서버 비용이 포함되는지 아닌지를 반드시 따로 적어야 한다.

초과 작업 단가

프리랜서 기준으로 시간당 5만 원에서 10만 원 사이에서 정하면 무리가 없다. 경력과 난이도에 따라 조정하되, 한번 정한 단가를 계약 기간 중에 올리기는 어려우므로 처음에 낮게 부르지 않는 편이 낫다.

대금 지급 구조

착수금 없이 시작하지 않는다. 이것 하나만 지켜도 떼이는 일이 크게 준다. 규모가 작으면 착수 50퍼센트에 완료 50퍼센트로 나누고, 3개월을 넘는 일이면 착수 30퍼센트, 중도 40퍼센트, 잔금 30퍼센트로 쪼갠다.

잔금은 검수가 아니라 기간으로 묶는다

"검수 완료 후 지급"이라고만 쓰면 발주처가 검수를 미루는 방식으로 잔금을 무한정 끌 수 있다. 납품일로부터 며칠 안에 검수 의견을 주지 않으면 검수가 완료된 것으로 본다는 조항을 같이 넣어야 한다.

06그대로 쓰는 조항 문안

아래 문안은 실제 계약서에 옮겨 쓸 수 있게 다듬어 두었다. 빈칸과 숫자만 상황에 맞게 채우면 된다.

검수 간주
제O조 (검수)
① "을"이 산출물을 납품한 날부터 7일 이내에 "갑"은 검수를 완료하고 그 결과를
   서면으로 통지한다.
② "갑"이 제1항의 기간 내에 서면으로 이의를 제기하지 않는 경우, 해당 산출물은
   검수를 완료한 것으로 본다.
③ 검수 결과 보완이 필요한 사항은 계약 당시 합의한 과업 범위에 한하며,
   범위를 벗어난 요청은 변경 관리 절차에 따른다.

왜 필요한가. 프리랜서가 잔금을 못 받는 가장 흔한 경로가 검수 지연이다. 제2항이 있으면 대금 청구의 근거가 명확해진다.

과업 변경 절차
제O조 (과업 변경)
① 별첨 과업 범위에 포함되지 않은 작업을 "갑"이 요청하는 경우, "을"은 예상
   공수와 추가 비용, 변경되는 일정을 산정하여 "갑"에게 통지한다.
② "갑"이 제1항의 내용에 서면으로 동의한 후에 "을"은 해당 작업에 착수한다.
③ 제2항의 동의 없이 수행된 작업에 대하여 "을"은 이행 의무를 지지 않는다.

왜 필요한가. 범위가 슬금슬금 넓어지는 상황을 막는 핵심 조항이다. 매정하게 굴어서 막는 것이 아니라 절차로 막는다.

자료 제공 지연과 일정
제O조 (협조 의무)
① "갑"은 "을"이 요청한 원고, 이미지, 계정 정보 등 과업 수행에 필요한 자료를
   요청일부터 O영업일 이내에 제공한다.
② "갑"의 자료 제공 지연, 의사결정 지연 등 "갑"의 사유로 일정이 지연된 경우,
   납기는 지연된 기간만큼 자동으로 연장되며 "을"은 지체 책임을 지지 않는다.

왜 필요한가. 원고가 두 달 늦게 오고도 납기를 못 맞췄다고 책임을 묻는 일이 실제로 벌어진다.

대응 시간 약속
제O조 (대응 시간)
① 서비스 전면 장애는 "을"이 인지한 때부터 O시간 이내에 조치에 착수한다.
② 일반 수정 요청은 접수일부터 O영업일 이내에 처리한다.
③ 대응 시간은 평일 09:00부터 18:00까지를 기준으로 산정한다. 야간, 주말 및
   공휴일 대응은 "갑"의 요청과 "을"의 동의가 있는 경우에 한하며 별도 비용을
   청구한다.

왜 필요한가. 제3항을 빼면 밤 열한 시에 전화가 온다. 대응 시간을 약속하는 대신 그 바깥에는 값을 매긴다.

요청 창구 단일화
제O조 (업무 연락)
① "갑"은 유지보수 요청을 담당할 책임자 1인을 지정하고, 모든 요청은 해당
   책임자를 통해 계약서에 기재된 이메일 또는 협의된 채널로 접수한다.
② 제1항의 절차를 거치지 않은 구두 요청에 대해서는 "을"이 처리 의무를 지지
   않으며, 처리 시간 산정의 근거로도 삼지 않는다.

왜 필요한가. 여러 사람이 각자 메신저로 찔러 대면 작업 기록이 남지 않고, 쿼터를 얼마나 썼는지 증명할 방법도 사라진다.

저작권 귀속
제O조 (저작권)
① 본 계약에 따라 제작된 산출물의 저작재산권은 "갑"이 대금을 전액 지급한
   시점에 "갑"에게 이전된다.
② 다만 "을"이 본 계약 이전부터 보유하고 있던 공통 모듈, 라이브러리, 개발
   도구 및 범용 소스코드는 제1항의 이전 대상에서 제외하며, "을"은 "갑"에게
   해당 부분의 사용권을 부여한다.
③ "을"은 "갑"의 사전 동의를 얻어 본 산출물을 자신의 실적 소개 자료에
   활용할 수 있다.

왜 필요한가. 제2항이 없으면 자기가 몇 년간 쌓아 온 모듈을 다음 일에 못 쓰게 된다. 제3항은 포트폴리오를 위한 것이다.

계약 갱신과 인수인계
제O조 (계약 기간 및 종료)
① 본 계약의 기간은 O년 O월 O일부터 1년으로 하며, 만료일 30일 전까지 어느
   일방의 서면 통지가 없으면 동일 조건으로 1년씩 자동 연장된다.
② 계약이 종료되는 경우 "을"은 소스코드, 데이터베이스 백업본, 서버 접속
   정보를 "갑" 또는 "갑"이 지정한 자에게 인계한다.
③ 제2항의 인계 범위를 넘는 기술 설명, 신규 담당자 교육 등의 업무는 별도
   비용을 청구할 수 있다.

왜 필요한가. 매년 재협상하는 수고를 덜고, 계약이 끝날 때 무료로 몇 주씩 붙잡히는 상황도 막는다.

07돈이 새는 다섯 자리

계약서를 잘 써 놓고도 여기서 손해를 본다.

  1. 서버 요금 대납. 발주처 명의로 계정을 만들게 하고 결제 수단도 발주처가 등록하도록 한다. 대신 관리 권한만 받는다.
  2. 무상 교육. 관리자 화면 사용법을 알려 주는 일은 한 번으로 끝나지 않는다. 계약서에 교육 횟수를 정하고, 매뉴얼 문서 한 부를 만들어 넘긴 다음에는 그 문서를 가리킨다.
  3. 구두 승인. 전화로 "그렇게 해 주세요"를 듣고 작업한 뒤 대금을 청구하면 기억이 다르다는 대답이 돌아온다. 통화 후에는 반드시 요약을 이메일로 남긴다.
  4. 담당자 교체. 발주처 담당자가 바뀌면 이전 합의가 통째로 무시된다. 회의록과 승인 메일을 폴더로 정리해 두면 이때 값을 한다.
  5. 디자인 시안 무한 수정. 횟수 제한이 없으면 취향 문제로 끝없이 돈다. 시안 확정 시점에 확인 서명을 받아 두어야 그 이후의 변경을 추가 비용으로 돌릴 수 있다.

월간 보고를 보내면 재계약이 쉬워진다

발주처가 유지보수료를 아까워하는 이유는 아무 일도 일어나지 않는 달이 있기 때문이다. 백업 상태, 보안 패치 적용 여부, 이번 달에 처리한 요청 목록, 남은 쿼터 시간을 적은 문서를 매달 보내면 신뢰가 쌓이고 값을 깎자는 말이 잘 나오지 않는다. A4 한 장이면 충분하다.

08계약 전 확인 목록

도장을 찍기 전에 이 항목들을 하나씩 짚어 본다.

  • 화면 목록과 기능 목록을 별첨으로 붙였는가
  • 디자인 시안과 퍼블리싱의 무상 수정 횟수를 적었는가
  • 착수금을 받고 시작하는 구조인가
  • 검수 기간이 지나면 검수가 완료된 것으로 본다는 조항이 있는가
  • 발주처 귀책으로 일정이 밀리면 납기가 연장된다고 썼는가
  • 지체상금을 무는 경우 총 상한을 정해 두었는가
  • 서버, 도메인, 유료 폰트, 유료 플러그인의 비용 부담 주체를 명시했는가
  • 부가세 별도인지 포함인지 적었는가
  • 유지보수 쿼터 시간과 초과 단가를 숫자로 적었는가
  • 야간과 주말 대응을 별도 비용으로 분리했는가
  • 요청 창구를 담당자 한 사람으로 묶었는가
  • 공통 모듈을 저작권 이전 대상에서 제외했는가
  • 포트폴리오 활용에 관한 조항을 넣었는가
  • 계약 종료 시 인계 범위와 그 바깥의 비용을 정했는가