소프트웨어 개발 지연·미완성 시 계약 해제와 손해배상 범위는?

Article posted in 2026-09-10 16:11:36 | VEAT

소프트웨어나 애플리케이션 개발을 맡겼는데 약정한 납기가 지나도록 결과물이 완성되지 않거나, 계약에서 요구한 핵심 기능이 제대로 구현되지 않는 경우가 있습니다. 이때 발주사는 개발계약을 해제하고 이미 지급한 개발비를 어디까지 돌려받을 수 있을까요? 반대로 개발이 제대로 진행되지 않은 데 발주사 자신의 책임도 있다면 개발사에게 채무불이행 책임을 물을 수 있을까요?

IT 개발 분쟁에서는 단순히 프로그램이 완성되지 않았다는 사실만으로 책임이 결정되지 않습니다. 개발 지연이나 미완성의 원인이 누구에게 있는지, 계약 해제와 손해배상의 요건이 충족되는지를 구체적으로 살펴봐야 합니다.

서울중앙지방법원 2013가합557245 판결과 서울중앙지방법원 2017가단5082174 판결은 이러한 문제를 잘 보여줍니다.

 

1. 개발사가 납기를 8개월 넘기고 프로그램을 완성하지 못한 사건

첫 번째 사건(서울중앙지방법원 2013가합557245 판결, 반소 2014가합569474)에서는, 개발사가 위탁료 9,000만 원에 프로그램 개발계약을 맺고도 약정한 기한을 8개월 넘게 넘기도록 개발을 마치지 못했습니다.

외부 분석 결과 안드로이드 앱의 완성도는 약 22.10%에 그쳤고, 아이폰 앱은 감정조차 불가능한 상태였습니다.

개발사가 “추가 대금을 주지 않으면 더 진행할 수 없다”며 소스코드 제공까지 거부하자, 발주사는 계약을 해제하고 지체상금, 서버 유지비, 인건비, 사무실 임차료, 광고계약 해지에 따른 손해, 분석비용 등의 배상을 반소로 청구했습니다.

 

2. 발주사가 개발에 필요한 자료를 충분히 제공하지 못한 사건

두 번째 사건(서울중앙지방법원 2017가단5082174 판결)은 멕시코 수출용 차량번호 인식 소프트웨어의 공급계약이 문제 된 사건입니다.

이 계약에서는 개발에 필요한 멕시코 차량번호판 사진 등의 자료를 소프트웨어를 공급받는 발주사 측이 제공하기로 되어 있었는데, 발주사 측이 이를 충분히 제공하지 못하면서 개발이 제대로 진행되지 못했습니다.

그런데도 발주 측은 개발사의 채무불이행을 주장하며 계약금의 반환과 손해배상을 청구했습니다.

 

3. 소프트웨어 개발계약에서 어떤 조항이 쟁점이 되었을까요?

- 계약 해제 시 소스코드 제공의무와 지체상금 

“(해제 시) 그동안 제작한 프로그램, 기술자료 및 소스코드를 발주사에 제공한다.”
— 2013가합557245 사건의 2차 계약 제26조 제3항

또한 이 계약에서는 지체일수 1일당 위탁료의 1,000분의 5를 지체상금으로 정하고 있었습니다.

계약이 해제되더라도 그때까지의 산출물과 소스코드를 발주사에 넘겨주어야 한다는 의무와, 납기를 넘길 경우에 대비하여 손해배상액을 미리 정해 둔 지체상금 조항입니다.

- 발주사의 개발자료 제공의무

“이 사건 소프트웨어 제작에 필요한 자료를 (발주 측인) 원고가 제공하기로 하였다.”
— 이후 발주 측이 보낸 이메일: “자료를 구하기가 여의치 않네요”

개발의 전제가 되는 발주 측의 협력의무, 즉 자료 제공 의무를 정한 부분으로, 채무불이행 책임이 누구에게 있는지를 가르는 결정적인 사실이 되었습니다.

 

4. 법원은 개발비 반환과 손해배상 범위를 어떻게 판단했을까요?

첫 번째 사건에서 법원은, 추가 대금에 관한 약정이 없었는데도 그 지급을 요구하며 작업을 중단한 개발사의 태도를 ‘이행거절’​로 평가하여 발주사의 계약 해제가 적법하다고 보았습니다. 그에 따라 개발사는 원상회복으로 이미 지급받은 용역대금 157,700,000원을 반환​하게 되었습니다.

그러나 발주사가 함께 청구한 손해배상 항목은 대부분 받아들여지지 않았습니다. 계약에는 지체일수 1일당 위탁료의 1,000분의 5에 해당하는 지체상금 조항이 있었지만, 법원은 당사자 사이에 개발 기간을 묵시적으로 연장한 것으로 인정하여 지체상금 청구를 받아들이지 않았습니다. 광고계약 해지에 따른 손해는 민법 제393조 제2항의 특별손해로서 개발사가 이를 예견할 수 있었다고 보기 어렵다는 이유로 인정되지 않았고,  서버 유지비와 인건비, 사무실 임차료 역시 개발사의 채무불이행과의 인과관계가 인정되지 않는다는 이유로 청구가 받아들여지지 않았습니다.

즉, 개발사의 계약 위반과 계약 해제가 인정된다고 해서 발주사가 주장하는 모든 비용이 손해배상의 대상이 되는 것은 아닙니다. 이미 지급한 대금의 반환이라는 원상회복과 별도로, 추가 손해에 대해서는 각 손해와 채무불이행 사이의 인과관계 및 특별손해의 예견가능성 등이 문제될 수 있습니다.

한편 두 번째 사건에서 법원은 개발이 이루어지지 못한 원인이 발주사 측이 약속한 자료를 제공하지 않은 데 있다고 보았습니다. 이에 따라 개발사에게 채무불이행 책임이 없다고 판단하고 발주 측의 계약금 반환 및 손해배상 청구를 전부 기각했습니다.

채권자인 발주 측이 자신의 협력의무를 다하지 않았다면 개발사에게 책임을 묻기 어려울 수 있다는 점을 보여 주는 사례입니다.

두 사건을 함께 보면, IT 개발 분쟁에서 이미 지급한 대금을 돌려받는 원상회복은 비교적 인정되기 쉬운 반면, 서버 비용이나 인건비, 광고 손해처럼 계약 바깥으로 번진 손해는 예견가능성과 인과관계라는 높은 입증의 벽을 넘어야 한다는 점을 알 수 있습니다.

  • IT 개발 분쟁에서 발주사가 유의해야 할 점

발주사로서는 회수하고 싶은 손해가 있다면 지체상금이나 손해배상액 예정 조항을 구체적으로 설계해 두는 것이 중요합니다. 또한 자료 제공과 같은 자신의 협력의무를 제대로 이행해야만 상대방에게 책임을 물을 수 있다는 점도 기억해야 합니다.

  • IT 개발 분쟁에서 개발사가 유의해야 할 점

개발사로서는 추가 대금을 받기 전에는 작업을 중단하겠다는 대응이 이행거절로 평가될 수 있으므로 신중해야 합니다. 또한 계약이 해제될 경우 소스코드와 산출물을 넘겨주어야 하는 의무가 계약상 정해져 있는지도 확인해야 합니다.

반대로 발주사 측의 자료 제공이나 의사결정이 늦어지는 사정은 반드시 문서로 남겨 두어야 나중에 방어의 근거로 삼을 수 있습니다.

 

► IT 개발 분쟁에서는 계약서와 개발 과정의 기록을 함께 살펴야 합니다

IT 개발 분쟁이 발생하면 계약서뿐 아니라 개발 과정에서 오간 이메일·메신저, 일정 변경 내역, 자료 제공 기록, 검수 결과, 소스코드 및 산출물 등 실제 프로젝트 진행 자료를 함께 확인할 필요가 있습니다.

특히 계약 체결 단계에서 개발 범위와 검수 기준, 일정 변경 절차, 지체상금과 손해배상, 발주사의 협력의무, 계약 해제 시 소스코드와 산출물의 처리​를 구체적으로 정해 두면 분쟁이 발생했을 때 책임 범위와 대응 방향을 보다 명확하게 판단할 수 있습니다.

법무법인 비트는 IT 개발 분쟁에서 이행거절과 계약 해제, 원상회복은 물론 지체상금·특별손해 등 손해배상 범위가 쟁점이 된 사건을 다수 다루어 온 전문성을 갖추고 있습니다.

계약서의 손해배상·검수·협력의무 조항 설계부터 분쟁 대응까지 처음부터 함께 준비해 드립니다.

한편 계약이 해제되었다고 해서 이미 지급한 개발비가 항상 전액 반환되는 것은 아닙니다. 개발 결과물이 상당 부분 완성되어 실제 사용할 수 있는 상태라면 개발사가 완성한 부분에 대한 기성고를 청구할 수 있는지가 별도로 문제될 수 있습니다.

관련 판례 해설 > 소프트웨어 개발 완료 전 계약 해지하면 기성고·개발비는 반환받을 수 있을까? 판례 3건 분석

 

[자주 묻는 질문]

Q1. 개발사가 납기를 넘기면 지체상금을 받을 수 있나요?

A1. 반드시 그렇지는 않습니다. 2013가합557245 사건에서는 당사자 사이에 개발 기간을 묵시적으로 연장한 것으로 인정되어 지체상금 청구가 받아들여지지 않았습니다.

Q2. 프로그램이 완성되지 않았다면 이미 지급한 개발비를 돌려받을 수 있나요?

A2. 계약 해제가 적법하게 인정되는 경우에는 이미 지급한 용역대금의 반환이라는 원상회복이 문제될 수 있습니다. 첫 번째 사건에서는 개발사가 지급받은 용역대금 157,700,000원의 반환이 인정되었습니다.

Q3. 서버비·인건비·광고 손해도 청구할 수 있나요? 발주사가 자료를 제공하지 않은 경우는 어떻게 되나요?

A3. 추가 손해는 개발사의 채무불이행과의 인과관계나 특별손해의 예견가능성이 문제될 수 있습니다. 첫 번째 사건에서는 서버 유지비·인건비·임차료와 광고계약 해지에 따른 손해가 인정되지 않았습니다. 또한 두 번째 사건에서는 발주 측이 약속한 자료를 제공하지 않은 것이 개발이 제대로 이루어지지 못한 원인으로 인정되어 개발사의 채무불이행 책임이 부정되었습니다.