소프트웨어 개발계약 해제와 용역대금반환의 요건
앱·소프트웨어 개발계약은 원칙적으로 '도급계약'입니다. 개발사가 잔금(보수)을 받으려면 약정한 마지막 공정을 마쳤다는 점뿐 아니라, 주요 기능이 약정대로 구현되어 사회통념상 요구되는 성능을 갖추었다는 점까지 개발사가 증명해야 합니다. 반대로 의뢰인이 이미 지급한 용역대금을 돌려받으려면, 개발사의 이행지체나 불완전이행을 이유로 계약을 적법하게 해제했다는 점을 의뢰인이 증명해야 합니다. 용역대금반환 소송의 결과는 해제 요건, 하자의 중대성, 판단 기준이 되는 산출물을 얼마나 객관적으로 증명하느냐에 달려 있습니다.
- 1. 소프트웨어·앱 개발 용역계약의 법적 성격 →
- 2. 개발사의 잔금 청구와 '일의 완성' 증명 →
- 3. 이미 지급한 용역대금을 돌려받기 위한 요건 →
- 4. 용역대금반환 소송에서 자주 다투는 쟁점 →
- 5. 용역대금반환 분쟁, 자주 묻는 질문 →
▣ 법무법인 원의 관련 업무사례
1. 소프트웨어·앱 개발 용역계약의 법적 성격
도급은 한쪽이 일을 완성하기로 약정하고 상대방이 그 일의 결과에 대해 보수를 지급하기로 약정하는 계약입니다(민법 제664조). 계약서 제목이 '용역계약', '개발 공급계약', '위탁계약' 등 무엇이든, 특정 의뢰인의 요구에 맞춰 앱이나 시스템을 개발해 주고 대가를 받는 계약이라면 원칙적으로 도급계약으로 봅니다(대법원 1996. 7. 30. 선고 95다7932 판결).
또한 개발사가 자기 인력과 자원으로 만든 결과물을 공급하는 형태라면 '제작물공급계약'의 성격도 함께 가집니다. 대법원은 제작물공급계약이라도 특정 주문자의 수요를 충족하기 위한 부대체물을 만드는 경우에는 제작이 계약의 주된 목적이 되어 도급의 성질을 띤다고 봅니다(대법원 1996. 6. 28. 선고 94다42976 판결). 의뢰인의 사업에 맞춰 설계되는 맞춤형 앱은 대표적인 부대체물입니다.
구분 | 매매로 보는 경우 | 도급으로 보는 경우 |
목적물 | 시중에서 대체 가능한 기성 제품 | 특정 의뢰인을 위한 맞춤형 앱·시스 |
적용 규정 | 매매 규정(하자담보 등) | 도급 규정(일의 완성, 보수 지급, 도급인의 해제권 등) |
보수 지급 시기 | 물건 인도 시 | 완성된 목적물의 인도와 동시(민법 제665조 제1항) |
핵심 쟁점 | 물건의 하자 | 일의 완성 여부, 하자의 중대성 |
나. 계약서 명의와 실제 개발사가 다른 경우
실무에서는 세금계산서 발행 문제 등으로 실제 개발을 맡은 회사가 아닌 대표자의 가족 회사나 관계사 명의로 계약서를 쓰는 경우가 적지 않습니다. 이때 용역대금반환을 누구에게 청구해야 하는지가 문제 됩니다.
▣ 대법원 2003. 12. 12. 선고 2003다44059 판결
계약을 체결하는 행위자가 타인의 이름으로 법률행위를 한 경우에 행위자 또는 명의인 가운데 누구를 계약의 당사자로 볼 것인가에 관하여는, 우선 행위자와 상대방의 의사가 일치한 경우에는 그 일치한 의사대로 행위자 또는 명의인을 계약의 당사자로 확정해야 하고, 행위자와 상대방의 의사가 일치하지 않는 경우에는 그 계약의 성질·내용·목적·체결 경위 등 그 계약 체결 전후의 구체적인 제반 사정을 토대로 상대방이 합리적인 사람이라면 행위자와 명의자 중 누구를 계약 당사자로 이해할 것인가에 의하여 당사자를 결정하여야 한다(대법원 1995. 9. 29. 선고 94다4912 판결, 2001. 5. 29. 선고 2000다3897 판결 등 참조).
따라서 계약서 명의와 다른 회사를 상대로 청구하려면, 계약 조건·개발 범위·일정·대금 증액을 실제로 누구와 협의했는지, 개발 인력이 어느 회사 소속이었는지, 오류 수정 요청과 해제 통보를 누구에게 했는지를 이메일과 메신저 기록으로 증명해야 합니다.
2. 개발사의 잔금 청구와 '일의 완성' 증명
도급계약에서 일의 완성에 대한 주장·증명책임은 일의 결과에 대해 보수를 청구하는 수급인, 즉 개발사에게 있습니다(대법원 1994. 11. 22. 선고 94다26684, 26691 판결). 그리고 대법원은 '완성'의 기준을 다음과 같이 엄격하게 봅니다.
▣ 대법원 2006. 10. 13. 선고 2004다21862 판결
제작물공급계약에서 일이 완성되었다고 하려면 당초 예정된 최후의 공정까지 일응 종료하였다는 점만으로는 부족하고 목적물의 주요구조 부분이 약정된 대로 시공되어 사회통념상 일반적으로 요구되는 성능을 갖추고 있어야 하므로, 제작물공급에 대한 보수의 지급을 청구하는 수급인으로서는 그 목적물 제작에 관하여 계약에서 정해진 최후 공정을 일단 종료하였다는 점뿐만 아니라 그 목적물의 주요구조 부분이 약정된 대로 시공되어 사회통념상 일반적으로 요구되는 성능을 갖추고 있다는 점까지 주장·증명하여야 한다.개발사가 흔히 하는 주장 | 법원이 보는 기준 |
"최종 산출물(apk 등)을 전달했으니 개발은 끝났다" | 파일 전달은 마지막 공정의 종료일 뿐, 주요 기능이 약정대로 작동해야 완성 |
"개발은 98% 끝났고 사소한 오류만 남았다" | 회원가입, 핵심 데이터 저장·수정 등 앱의 기본 기능 오류는 '사소한 하자'로 보기 어려움 |
"소프트웨어는 원래 프로토타입이며 수정은 계속되는 것" | 요구사항 정의서·스토리보드 등으로 확정한 기능은 계약 범위이므로 구현되어야 함 |
"시연 동영상으로 정상 작동을 증명하겠다" | 영상에서 기능이 일부만 확인되거나 확인되지 않으면 완성의 증명으로 부족 |
"안드로이드 버전은 완성했다" | iOS·안드로이드를 모두 개발하기로 했다면 한쪽만으로는 완성으로 보기 어려움 |
나. '검수 간주' 조항과 목적물 인도의 의미
개발계약서에는 "개발사가 산출물을 제출한 뒤 의뢰인이 ○일 이내에 검수 결과를 통보하지 않으면 검수가 완료된 것으로 본다"는 이른바 검수 간주 조항이 자주 들어갑니다. 개발사는 이 조항을 근거로 잔금 청구권이 생겼다고 주장하곤 합니다.
그러나 대법원은 제작물공급계약에서 보수 지급의 전제가 되는 목적물의 '인도'를 넓게 해석합니다. 인도는 단순한 점유 이전이 아니라, 도급인이 목적물을 검사한 뒤 계약 내용대로 완성되었음을 명시적·묵시적으로 시인하는 것까지 포함합니다. 또 "검사에 합격하면 보수를 지급한다"는 약정이 있더라도 합격 여부는 도급인의 일방적 의사가 아니라 목적물이 계약 내용대로 제작되었는지에 따라 객관적으로 결정된다는 입장입니다(대법원 2006. 10. 13. 선고 2004다21862 판결). 따라서 검수 기간이 지났다는 사정만으로 곧바로 잔금 청구권이 생긴다고 단정하기는 어렵습니다. 다만 의뢰인으로서는 다음 사항을 지키는 것이 안전합니다.
· 산출물을 받을 때마다 검수 기간 안에 서면(이메일 등)으로 오류 목록을 통보합니다.
· 오류는 화면 캡처, 재현 경로, 사용 기기와 OS 버전까지 함께 기록합니다.
· 같은 오류가 반복되면, 그것이 '추가 요구'가 아니라 '기존 오류의 반복 지적'이라는 점을 분명히 남겨 둡니다.
3. 이미 지급한 용역대금을 돌려받기 위한 요건
▣ 계약 해제의 근거
해제 근거별 요건은 다음과 같습니다.
해제 근거 | 요건 | 의뢰인이 증명할 사항 |
이행지체 해제 | 이행기가 지나도 이행하지 않고, 상당한 기간을 정해 최고했는데도 이행하지 않을 것 | 확정된 이행기, 지연이 개발사 책임이라는 점, 최고 사실 |
약정 해제 | 계약서의 해제 사유(의무 위반, 이행 곤란 등)에 해당할 것 | 해제 조항의 문언과 해당 사유 |
하자로 인한 해제 | 완성된 목적물의 하자로 계약 목적을 달성할 수 없을 것 | 하자의 중대성, 보수 불가능·거절 또는 장기간 소요 |
완성 전 임의해제 | 개발이 완성되기 전일 것 | 해제 의사표시 (단, 개발사의 손해를 배상해야 함) |
합의 해제 | 양측이 계약 종료와 정산에 합의할 것 | 합의 내용(정산 금액 포함) |
② 하자로 인한 해제에서는 '중대성'이 핵심입니다. 대법원은 '계약의 목적을 달성할 수 없는 때'를 하자가 중대하고, 그 보수(補修)가 불가능하거나 수급인이 보수를 거절하거나, 보수가 가능하더라도 장기간이 필요해 해제권을 행사하는 것이 정당하다고 인정되는 경우로 봅니다(대법원 1994. 12. 22. 선고 93다60632, 60649 판결, 대법원 1996. 8. 23. 선고 96다16650 판결). 회원가입·로그인, 핵심 데이터의 저장·수정, 주력 기능의 작동 여부처럼 앱을 정상적으로 쓸 수 있는지를 좌우하는 기능에 오류가 있다는 점을 증명해야 합니다.
③ 계약서 해제 조항을 먼저 확인해야 합니다. 많은 개발계약서에는 "계약상 의무를 위반하거나 계약 이행이 곤란해질 우려가 있는 경우 최고 없이 해제할 수 있다"는 조항이 있습니다. 이런 조항이 있으면 최고 절차 없이 해제할 수 있다고 주장할 수 있습니다. 다만 그 사유에 해당한다는 점은 여전히 객관적 자료로 증명해야 합니다.
④ 해제 의사는 명확하게 표시해야 합니다. 메신저로도 해제할 수 있지만, 해제 일시와 해제 사유가 분명히 드러나도록 이메일이나 내용증명으로 다시 한번 통지하는 것이 좋습니다.
▣ 원상회복과 손해배상의 범위
추가 개발비와 관련해 대법원은 공사도급 사안에서, 당초 수급인이 공사를 중단해 도급인이 다른 방법으로 미시공 부분을 시행할 수밖에 없었고 그 비용이 당초 약정 대금보다 늘어났다면 늘어난 비용 중 합리적인 범위의 비용은 수급인의 계약 위반으로 인한 손해라고 보았습니다(대법원 2002. 11. 26. 선고 2000다31885 판결). 앱 개발에서도 다른 개발사에 맡긴 견적서와 실제 지출 내역이 손해를 증명하는 자료가 됩니다. 다만 홍보비나 인건비 같은 간접 손해는 개발 지연과의 인과관계를 인정받기 쉽지 않습니다.
4. 용역대금반환 소송에서 자주 다투는 쟁점
▣ 불법원인급여 항변
그러나 대법원은 불법원인급여의 '불법'을 좁게 해석합니다.
··· (중략) ··· 여기서 말하는 '불법'이 있다고 하려면, 급부의 원인이 된 행위가 그 내용이나 성격 또는 목적이나 연유 등으로 볼 때 선량한 풍속 기타 사회질서에 위반될 뿐 아니라 반사회성·반윤리성·반도덕성이 현저하거나, 급부가 강행법규를 위반하여 이루어졌지만 이를 반환하게 하는 것이 오히려 규범 목적에 부합하지 아니하는 경우 등에 해당하여야 한다. ··· (중략) ···
▣ 어느 시점의 산출물을 기준으로 판단하는가
전문심리위원이 참여하면 "특정 기능이 작동하지 않으면 앱의 정상적인 사용이 불가능한 중대한 하자인지", "개발 완료로 볼 수 있는지"와 같은 기술적 판단이 결론에 큰 영향을 줍니다. 그래서 질의 사항을 어떻게 정하느냐가 중요합니다. 또 개발사가 특정 시점의 iOS 소스코드나 실행파일(ipa)을 제출하지 못한다면, 그 사정 자체가 iOS 개발 의무를 이행하지 않았다는 정황으로 다투어질 수 있습니다.
▣ 소송 중 개발사가 파산한 경우
① 소송 중단 : 당사자가 파산선고를 받으면 파산재단에 관한 소송절차가 중단됨
개발사의 반소(잔금 청구)는 파산재단에 속하는 재산에 관한 소송이므로 파산관재인이 수계합니다(채무자회생법 제347조). 파산채권이 확정되더라도 실제로는 파산재단에서 배당받는 범위에서만 회수할 수 있습니다. 그러므로 개발사의 재무 상태가 불안하다면, 소송 초기에 가압류 등 보전처분을 함께 검토할 필요가 있습니다.
5. 용역대금반환 분쟁, 자주 묻는 질문
Q1 Q1. 앱 개발이 계속 지연되면 바로 계약을 해제하고 용역대금반환을 청구할 수 있나요?
원칙적으로는 상당한 기간을 정해 이행을 최고한 뒤에도 이행하지 않아야 해제할 수 있습니다(민법 제544조). 계약서에 최고 없이 해제할 수 있는 조항이 있다면 그에 따를 수 있지만, 해제 사유에 해당한다는 점은 증명해야 합니다.
Q2 Q2. 개발사가 "개발을 완료했으니 잔금을 달라"고 하면 지급해야 하나요?
주요 기능이 약정대로 구현되지 않았다면 지급 의무가 없다고 다툴 수 있습니다. 개발이 완성되었다는 점은 잔금을 청구하는 개발사가 증명해야 합니다(대법원 2006. 10. 13. 선고 2004다21862 판결).
Q3 Q3. 검수 기간 안에 이의하지 않으면 무조건 검수가 완료된 것으로 보나요?
그렇지 않습니다. 합격 여부는 목적물이 계약 내용대로 만들어졌는지에 따라 객관적으로 판단합니다. 다만 분쟁을 막으려면 검수 기간 안에 오류를 서면으로 통보해 두는 것이 안전합니다.
Q4 Q4. 개발이 완성되지 않았다는 점이 인정되면 낸 돈은 당연히 돌려받나요?
아닙니다. 용역대금반환은 계약 해제에 따른 원상회복이므로, 해제가 적법하다는 점(이행기, 귀책사유, 최고 또는 약정 해제 사유, 하자의 중대성 등)을 별도로 증명해야 합니다.
Q5 Q5. 다른 개발사에 다시 맡기면서 든 비용도 청구할 수 있나요?
늘어난 비용 중 합리적인 범위는 채무불이행으로 인한 손해로 청구할 수 있습니다(대법원 2002. 11. 26. 선고 2000다31885 판결). 새 개발사의 견적서, 계약서, 지급 내역을 준비해야 합니다.
Q6 Q6. 소송 중 개발사가 파산하면 소송은 끝나나요?
소송은 중단되지만 끝나지 않습니다. 파산채권으로 신고하고, 파산관재인이 이의하면 소송을 수계해 파산채권 확정을 구하는 청구로 바꾸어 계속 진행합니다(채무자회생법 제464조).



