손해배상 · 기타 금전문제 · 노동
주식회사 A는 노인장기요양서비스 온라인 플랫폼 개발 프로젝트의 일부 용역을 주식회사 B에게 하도급했습니다. 그러나 B는 개발 기한을 지키지 못하고 통합 테스트 등 의무를 이행하지 않았으며, 심지어 개발 중인 소스코드를 외부에 공개 설정하여 올려 보안 문제를 발생시켰습니다. 이에 A는 B에게 계약 불이행에 따른 원상회복, 소스코드 유출로 인한 재개발 비용, 원 발주처에 지급해야 할 지체상금, 서비스 오픈 지연에 따른 기회비용 등의 손해배상을 청구하는 본소 소송을 제기했습니다. 한편 B는 A의 업무 미숙과 백엔드 개발 지연으로 2차 계약이 늦어졌으므로 추가 용역대금을 지급하라는 반소 소송을 제기했습니다. 법원은 B의 계약 불이행으로 인해 계약이 해제된 것이 정당하다고 보았고, A가 지급한 금액 중 B가 완성하지 못한 부분에 대한 원상회복 금액 18,741,280원과 소스코드 유출로 인한 재개발 비용 손해 5,763,639원을 인정했습니다. 그러나 A가 주장한 지체상금과 기회비용은 B의 과실과 직접적인 인과관계를 인정하기 어렵다고 보아 기각했습니다. 또한 B의 반소 청구도 기각하여, 결과적으로 B는 A에게 총 24,504,919원을 지급하게 되었습니다.
원고 A는 주식회사 D로부터 노인장기요양서비스 온라인 플랫폼 'C'의 F 및 G 개발을 수주했고, 이 중 F의 '관리자 프론트 개발'과 G의 '웹프론트 개발' 용역을 피고 B에게 다시 맡겼습니다. 피고 B는 1차 계약(2019. 7. 8. 체결, 계약금 12,000,000원, 납품일 2019. 9. 8.)과 2차 계약(2019. 11. 26. 체결, 계약금 32,000,000원, 납품일 2020. 2. 28.)의 기한 내에 용역을 완료하지 못했고, 통합 테스트 및 기능 시연 등 계약상 의무도 제대로 이행하지 않았습니다. 더욱이 피고 B는 1차 계약의 소스코드를 외부에 공개 설정된 K 사이트에 업로드하여 보안상 문제를 야기했습니다. 이에 원고 A는 피고 B의 계약 불이행과 소스코드 유출로 인해 프로젝트 전체가 지연되고 추가 비용이 발생했다고 주장하며 190,628,802원의 손해배상을 청구하는 본소 소송을 제기했습니다. 피고 B는 원고 A 측의 백엔드 개발 지연 등으로 인해 자신의 프론트엔드 개발이 늦어졌고 소스코드 유출도 고의가 아니었으며, 오히려 원고 A의 미숙으로 인해 추가 투입된 용역대금 32,000,000원을 받아야 한다고 주장하며 반소 청구를 제기했습니다.
소프트웨어 개발 용역 계약 해제 사유의 정당성 여부와 그에 따른 원상회복 범위가 쟁점이 되었습니다. 또한 하도급업체의 소스코드 유출 행위가 원도급인의 재개발 비용 및 원 발주처에 대한 지체상금, 서비스 지연에 따른 기회비용 등 손해를 배상할 책임이 있는지, 그 책임 범위는 어디까지인지가 주요 쟁점이었습니다. 마지막으로 원도급인의 귀책사유로 인한 하도급업체의 추가 용역대금 청구가 인정될 수 있는지도 다툼의 대상이었습니다.
법원은 소프트웨어 개발 용역 계약에서 하도급업체인 피고 B가 통합 테스트 및 보완 조치, 기능 시연 등 의무를 제대로 이행하지 않아 계약이 해제된 것이 정당하다고 판단했습니다. 계약 해제에 따른 원상회복 금액은 원고 A가 지급한 금액에서 피고 B가 완성한 부분(기성고: 1차 계약 70%, 2차 계약 27.36%)에 해당하는 대금을 공제한 18,741,280원을 인정했습니다. 또한 피고 B가 1차 계약 소스코드를 외부에 공개 설정하여 올린 행위는 과실로 인정되었고, 이로 인해 원고 A가 보안 강화를 위해 지출한 재개발 비용 5,763,639원을 배상해야 한다고 판단했습니다. 그러나 소스코드 노출과 원고 A가 원 발주처 D에 지급해야 할 지체상금 및 서비스 오픈 지연으로 인한 기회비용 사이에는 직접적인 인과관계를 인정하지 않았습니다. 더불어 피고 B가 A의 업무 미숙과 백엔드 개발 지연으로 인해 2차 계약이 늦어졌으므로 추가 용역대금을 받아야 한다는 반소 청구는 도급 계약의 특성상 일의 완성을 목적으로 하는 것이므로, 지연만으로는 추가 대금 지급 의무가 발생하지 않는다고 보아 기각했습니다. 결과적으로 피고 B는 원고 A에게 총 24,504,919원을 지급하게 되었습니다.
민법 제393조 (손해배상의 범위): 특별한 사정으로 인한 손해는 채무자가 그 사정을 알았거나 알 수 있었을 때에 한하여 배상책임이 있습니다. 이 사건에서 원고는 피고의 소스코드 유출로 인해 원 발주처 D에 지급해야 할 지체상금이나 서비스 지연으로 인한 기회비용을 특별손해로 주장했습니다. 그러나 법원은 피고가 소프트웨어 개발 용역에서 지체상금 약정이 일반적이라는 점은 알 수 있었을 것으로 보면서도, 원 발주처의 납기일이나 소스코드 유출로 인한 재개발 기간 등 구체적인 사정까지 피고가 알 수 있었다거나, 피고의 과실과 원고의 지체상금 부담 사이에 상당한 인과관계가 있다고 인정하기는 어렵다고 판단하여 해당 손해배상 청구를 기각했습니다. 이는 특별손해의 인정 요건인 '예견가능성'과 '상당인과관계'를 엄격하게 적용한 결과입니다. 도급 계약의 해제 및 원상회복: 도급 계약은 일의 완성을 목적으로 하는 계약입니다. 도급인이 완성된 목적물을 인도받기 전까지는 특별한 사정이 없는 한 계약을 해제하고 원상회복을 청구할 수 있습니다. 이 사건에서 법원은 피고의 채무불이행(통합 테스트 및 보완 조치 미이행 등)으로 인해 계약의 목적 달성이 어렵다고 보아 원고의 계약 해제 주장을 받아들였습니다. 계약 해제 시, 수급인은 도급인으로부터 받은 금전에서 이미 완성된 부분(기성고)에 해당하는 대금을 공제한 나머지 금액을 반환해야 합니다. 기성고는 실제 일의 완성도에 따라 판단하며, 단순히 금전 지급 여부에 따라 판단하는 것이 아닙니다. 법원은 원고의 자체 평가 및 전문심리위원 의견을 고려하여 기성고를 산정했습니다. 불법행위로 인한 손해배상 책임: 피고가 소스코드를 외부에 공개 설정하여 올린 행위는 과실로 인정되어 불법행위(또는 채무불이행)에 해당합니다. 소스코드는 영업상 중요한 자산이므로 비공개로 관리되어야 하며, 유출 시 보안상의 위험이 발생합니다. 법원은 소스코드 노출로 인해 보안 강화 조치가 불가피하다고 보아, 이에 필요한 재개발 비용을 손해배상 범위로 인정했습니다. 다만, 유출된 프론트엔드 소스코드의 특성상 전체 시스템 재개발까지는 상당인과관계가 없다고 판단하여 손해배상 범위를 최소한의 수정 비용으로 한정했습니다.
소프트웨어 개발 용역 계약 시에는 각 개발 단계별 책임 범위와 인도 기준, 검수 기준을 계약서에 명확히 명시해야 합니다. 특히 프론트엔드와 백엔드 개발이 나뉘어 진행될 경우, 각 담당 주체 간의 협업 방식과 책임 소재를 상세하게 규정하는 것이 중요합니다. 용역의 기성고(완성도)는 계약 해제 시 중요한 판단 기준이 되므로, 개발 진행 상황을 정량적이고 객관적으로 측정할 수 있는 지표를 마련하고 주기적으로 확인하여 기록해야 합니다. 소스코드 분석 도구 등을 활용하거나 전문가의 평가를 통해 기성고를 입증할 자료를 확보하는 것이 좋습니다. 개발된 소스코드는 회사의 중요한 자산이므로, 외부 공유 시에는 반드시 비공개 설정을 확인하고 접근 권한을 엄격하게 관리해야 합니다. 소스코드 유출은 단순한 과실로도 상당한 손해배상 책임으로 이어질 수 있으며, 보안상 취약점을 발생시켜 추가적인 개발 비용을 초래할 수 있습니다. 하도급 계약에서 원도급인이 원 발주처에 대해 지체상금 등 손해를 배상해야 하는 상황이 발생할 경우, 하도급업체의 귀책사유로 인한 손해라는 점과 그 손해 발생을 하도급업체가 인지할 수 있었음을 입증해야 합니다. 이 경우, 원도급 계약의 주요 내용(납기일, 지체상금률 등)을 하도급업체와 공유하고 계약서에 명시하는 것이 분쟁 예방에 도움이 됩니다. 개발 지연이 발생했을 때, 그 원인이 누구에게 있는지 명확히 파악하고 관련 증거(업무 지시 내용, 진행 보고서, 회의록 등)를 철저히 기록해야 합니다. 단순한 개발 지연만으로는 추가 용역대금 지급 의무가 발생하지 않을 수 있으므로, 지연에 따른 추가 비용 발생에 대한 약정을 사전에 분명히 해두는 것이 필요합니다.

