시스템 및 소프트웨어 개발 계약의 부적합 책임이란? 개정 사항을 설명
![시스템 및 소프트웨어 개발 계약의 부적합 책임이란? 개정 사항을 설명](https://monolith.law/ko/wp-content/uploads/sites/10/2023/09/shutterstock_1069579556-scaled.jpg)
만약 주문한 시스템의 납품 후에 오류가 발생한다면, 법적으로 어떻게 대처해야 할까요?
조작 방법이 어렵다, 처리 속도가 느리다, 주문한 기능이 갖추어져 있지 않다 등의 시스템 문제에 대해, 주문자로서는 시스템 개발을 수행한 벤더에게 ‘계약 불적합 책임’을 묻게 됩니다.
‘계약 불적합 책임’은 2017년(헤이세이 29년)의 ‘일본민법(Japanese Civil Code)’ 개정에 따라 폐지된 ‘하자 보증 책임’을 대체하여 신설되었습니다. 따라서, 이 개정이 시스템이나 소프트웨어 개발에 어떤 영향을 미치는지 주의해야 합니다.
자주 발생하는 납품 후의 문제들. 이러한 문제를 피하기 위해, ‘계약 불적합 책임’의 내용과 개정에 따른 영향을 설명하겠습니다.
계약불적합책임에 대한 민법 개정점
![판사의 이미지](https://monolith.law/wp-content/uploads/2022/05/shutterstock_1860565273.jpg)
2017년(헤이세이 29년) 6월 2일에 공포된 ‘일본 민법 일부 개정법’이 2020년 4월 1일부터 시행되었습니다.
일본 민법 중에서도, 계약 등에 관한 가장 기본적인 규칙이 정해진 부분은 ‘채권법’이라고 불립니다.
채권법에 대해서는 1896년(명치 29년)의 제정 이후, 약 120년 동안 거의 개정이 이루어지지 않았습니다.
그래서, 현재의 사회에 대응하기 위해 큰 폭의 개정을 추진한 것이 이번 개정입니다.
구체적인 개정점은 다양하지만, 그 중에서도, 계약불적합책임이라는 개념의 신설은 주요 개정점 중 하나입니다.
이에 따라, ‘하자보증책임’이라고 불리던 것이 ‘계약불적합책임’으로 바뀌었습니다.
계약 불적합이란?
![계약 불적합 소프트웨어를 받아 당황하는 사람들](https://monolith.law/wp-content/uploads/2022/05/shutterstock_1845313102.jpg)
‘계약 불적합’이란, 당사자의 합의나 계약의 취지, 성질에 비추어, 원래 갖추어야 할 기능·품질·성능·상태가 갖추어져 있지 않은 것을 말합니다.
이 ‘계약 불적합’은 민법 개정에 따라 기존의 ‘결함(하자)’ 대신 도입되었습니다.
시스템이나 소프트웨어 개발에서는, 완성된 시스템이 미리 정한 사양과 일치하지 않는 경우나, 시스템이나 소프트웨어의 성질에 비추어 보통 갖추어야 할 기능이나 성능을 갖추지 못한 경우 등이 ‘계약 불적합’에 해당합니다.
‘계약 불적합’의 유무를 판단할 때는, 당사자의 합의나 계약의 취지, 성질이 중요하게 간주됩니다.
그러므로, 시스템이나 소프트웨어의 개발 목적이나 발주 경위 등을 문서로 남겨, 발주자가 어떤 요구나 이미지를 가지고 있었는지를 명확히 해두는 것이 중요합니다.
소프트웨어의 결함 등이 ‘계약불이행’에 해당하는 경우
![불이행의 이미지](https://monolith.law/wp-content/uploads/2019/06/shutterstock_187245953-1024x768.jpg)
소프트웨어에 장애가 발생하고, 수리가 지연되는 경우
먼저, 소프트웨어에 사소하지 않은 결함이 발생하고, 그 수정을 위해 설계 단계로 거슬러 올라가 검토해야 하거나 즉시 대처할 수 없는 경우를 생각해볼 수 있습니다.
예를 들어, 도입한 재고 조회 시스템의 검색 처리에 30분 이상이 소요되는 등의 장애가 발생하고, 고객의 문의에 대응하기 위해 별도로 수기로 재고 대장을 작성해야 했던 사례에 대해, 현재의 ‘계약불이행’에 해당하는 ‘결함’에 해당한다고 인정한 판례가 있습니다(도쿄지방법원 헤이세이 14년(2002년) 4월 22일).
결함이 순차적으로 발생하는 경우
또한, 개별 결함은 사소하고 수정에 시간이 걸리지 않더라도, 반복적으로 여러 번 결함이 발생하고, 모든 결함을 수정하고 정상적으로 기능하게 하는 데에 긴 시간이 걸리는 경우도 생각해볼 수 있습니다.
예를 들어, 도입한 재고 조회 시스템에 반복적으로 결함이 발생하고, 앞으로 어느 정도 결함이 발생할지, 그 수정에 얼마나 시간이 걸릴지 명확하지 않고, 시스템을 사용하여 일반 업무를 수행할 수 없는 경우에는 ‘계약불이행’이라고 할 수 있을 것입니다.
소프트웨어의 결함 등이 ‘계약 불적합’에 해당하지 않는 경우
![법률 상담을 하는 사람들](https://monolith.law/wp-content/uploads/2022/05/shutterstock_2010864974.jpg)
지체 없이 수리하거나 대체 조치를 취한 경우
판례에서는, 위탁자로부터 버그 등의 결함을 지적받았다 하더라도, 지체 없이 수리하거나 위탁자와 협의하여 적절하다고 인정되는 대체 조치를 취한 경우에는 ‘하자’에 해당하지 않는다고 판단하고 있습니다(도쿄지방법원 판결, 헤이세이 9년(1997년) 2월 18일).
시스템이나 소프트웨어의 개발에서는, 버그가 전혀 발생하지 않도록 프로그래밍하는 것은 불가능하며, 일정한 결함이 발생하는 것은 어쩔 수 없습니다.
따라서, 결함이 있었다 하더라도, 지체 없이 수리하는 등의 조치를 취하고 있다면 ‘하자’로 볼 수 없습니다.
이는 현재의 ‘계약 불적합’에 대해서도 마찬가지로 생각할 수 있을 것입니다.
여기서 말하는 ‘지체 없이’ 등의 판단을 근거로 하는 것은, 시스템 개발 과정에서 작성된 회의록 등의 증거입니다.
이들의 중요성에 대해서는 아래 기사에서 자세히 설명하고 있습니다.
https://monolith.law/corporate/the-minutes-in-system-development[ja]
특정 개인이 조작 방법을 쉽게 이해하지 못한 경우
조작성이나 사용성에 대해서는, 주관적인 요소가 크기 때문에, 일반적인 위탁자를 기준으로 사용할 수 없는 경우에 ‘계약 불적합’에 해당한다고 평가됩니다.
특정 개인이 조작 방법을 쉽게 이해하지 못한 것만으로는, ‘계약 불적합’에 해당한다고 할 수 없습니다.
벤더의 업무 외의 원인으로 결함이 발생한 경우
시스템이나 소프트웨어의 개발을 수행하는 벤더의 개발 업무 등과는 관련이 없는 원인으로 인해 결함이 발생한 경우에는, 이 시스템이나 소프트웨어 자체에 ‘계약 불적합’이 있다고 할 수 없습니다.
예를 들어, 벤더가 조달을 담당하지 않는 하드웨어의 문제로 인해 결함이 발생한 경우에는, ‘계약 불적합’에 해당한다고 평가되지 않습니다.
[보충] 위탁자의 지시에 따라 결함이 발생한 경우
위탁자의 잘못된 지시로 인해, 완성된 시스템이나 소프트웨어에 결함이 발생한 경우에는, 시스템 등에 ‘계약 불적합’이 있다고 인정되더라도, 벤더는 원칙적으로 계약 불적합 책임을 지지 않습니다.
예를 들어, 업무 시스템의 개발에 있어서, 위탁자만이 알 수 있는 사정에 대해 잘못된 설명이 되어, 이 잘못된 정보를 전제로 합의한 사양에 따라 개발된 소프트웨어에 결함이 발생한 경우에는, 벤더에게는 어떠한 책임도 발생하지 않습니다.
이러한 판단의 배경에는, 소프트웨어 개발에서 발주자인 위탁자 측도 ‘협력 의무’를 지니고 있다는 생각이 있을 것입니다. 자세한 내용은 아래의 기사를 참조하십시오.
https://monolith.law/corporate/user-obligatory-cooporation[ja]
계약불이행 책임에 근거하여 발주자·구매자가 청구할 수 있는 사항
![문서를 확인하는 사람들](https://monolith.law/wp-content/uploads/2019/06/shutterstock_222802681-1024x683.jpg)
여기서는 시스템이나 소프트웨어 개발과 관련된 계약불이행 책임의 내용 등을, 개정에 따른 변동 사항을 고려하여 설명하겠습니다.
수정 요구
결함이 계약불이행에 해당한다고 판단되는 경우, 발주자로부터 결함 수정 요구가 제기될 수 있습니다.
개정 전에는, 문제가 되는 하자가 중요하지 않고, 또한 수정에 과도한 비용이 드는 경우에는 수정 요구를 할 수 없었습니다. 하지만 개정에 따라, 이러한 제한이 삭제되었습니다.
그러나, 개정 후에도, ‘계약불이행이 중요하지 않고, 또한, 수정에 과도한 비용이 드는 경우’는, 수정이 불가능하다고 판단되어 수정 요구가 인정되지 않을 가능성이 있습니다.
손해배상 청구
결함이 있는 시스템이나 소프트웨어로 인해, 정상적인 영업을 할 수 없게 되거나 추가적인 비용을 지출해야 하는 경우, 발주자로부터 손해배상 청구가 제기될 수 있습니다.
개정 전에는, 특약이 없는 한 과실의 유무를 불문하고 손해배상 청구를 할 수 있었습니다.
그러나, 개정에 따라, 이행자에게 면책사유(채무자의 책임으로 돌릴 수 없는 사유)가 있으면, 손해배상 청구를 할 수 없게 되었습니다.
따라서, 벤더는 면책사유를 입증하면, 손해배상 책임을 지지 않습니다.
계약 해지
시스템이나 소프트웨어의 계약불이행을 이유로, 개발 계약이 해지될 수 있습니다.
이미 소개한 판례에서는, 재고 조회 시스템의 검색 처리에 30분 이상이 소요되는 등 처리 시간이 너무 길어, 단말기 자체의 사용이 불가능한 등의 장애가 발생하는 결함이 있어, 도입한 시스템의 지속적인 사용을 포기해야 했던 것으로, 계약의 해지를 인정하였습니다(도쿄지방법원 헤이세이 14년(2002년) 4월 22일).
개정 전에는, 하자로 인해 ‘계약을 한 목적을 달성할 수 없는’ 경우에만, 계약의 해지를 할 수 있었습니다. 그러나 개정에 따라, 이러한 제한이 삭제되었습니다.
그러나, 개정법 하에서도, 계약불이행의 정도가 ‘경미’한 경우에는, 해지는 인정되지 않는 점에 주의가 필요합니다.
보수 감액 청구
보수 감액 청구권은, 개정에 따라 신설되었습니다.
시스템에 결함이 있는 경우에, 발주자가 그 수정을 요구했음에도 불구하고 상당한 기간이 경과하였음에도 수정이 이루어지지 않는 경우, 발주자로부터 보수 감액 청구가 제기될 수 있습니다.
책임을 지는 기간
- 수정 요구
- 손해배상 청구
- 계약 해지
- 보수 감액 청구
에는, 이러한 권리를 행사할 수 있는 기간이 제한되어 있습니다.
구체적으로는, 발주자가 시스템이나 소프트웨어에 계약불이행이 있는 것을 ‘알게 된 시점부터 1년 이내’에 그 사실을 벤더에게 통보한 경우에만, 권리를 행사할 수 있습니다.
개정 전에는, 권리 행사 기간이 시스템이나 소프트웨어를 ‘인도받은 시점부터 1년 이내’로 제한되어 있었습니다. 따라서, 개정에 따라 권리 행사할 수 있는 기간이 길어졌다고 할 수 있습니다.
또한, 이러한 기간 제한과는 별개로, 계약불이행 책임에 근거하여 인정되는 위의 권리는 소멸시효의 규정도 적용됩니다.
따라서, 예를 들어 시스템이나 소프트웨어의 인도를 받은 후 11년 후에 결함의 존재를 처음으로 알게 된 경우에는, 손해배상 청구권 등의 권리는 ‘십년’의 소멸시효 기간을 경과하게 되므로, 계약불이행을 ‘알게 된 시점부터 1년 이내’에 통보하더라도 권리 행사를 할 수 없습니다.
보수 지급 거부
발주자는, 개발업자가 수정이나 손해배상을 이행할 때까지 보수 전액의 지급을 거부할 수 있습니다.
계약 불이행을 고려한 계약 조항의 포인트
![계약을 체결하고 악수하는 사람들](https://monolith.law/wp-content/uploads/2022/05/shutterstock_764010844.jpg)
계약 불이행 책임의 규정은 임의 규정이며, 당사자 간의 특약에 의해 책임 내용을 제한하거나 권리 행사 기간을 단축할 수 있습니다.
따라서, 여기에서는 시스템이나 소프트웨어 개발에서 계약 불이행 책임과의 관계에서 주의해야 할 계약 조항을 설명합니다.
포인트 1: 계약 불이행의 대상이 되는 사건이나 범위
시스템이나 소프트웨어에 불만이 있는 경우, 발주자는 벤더에게 계약 불이행 책임을 추구하고 싶어할 것입니다.
그러나, 벤더로서는, 단순한 사양에 불과한 경우라도, 마음에 들지 않는다고 해서 계약 불이행 책임을 추구당하는 것은 받아들일 수 없습니다.
또한, 벤더는 부당한 계약 불이행 책임의 추구에 대비하여 견적을 크게 올릴 가능성이 있으며, 이는 발주자에게도 불이익이 됩니다.
그래서, 계약 불이행의 대상이 되는 사건이나 범위를 명확히 하기 위해, 발주자가 어떤 목적으로, 어떤 기능을 갖춘 시스템을 도입하고 싶은지 등을 문서로 나타내거나, 사양서에 확실히 반영하는 것이 중요합니다.
또한, 사양서에 정해진 사항에 대해, 그대로의 시스템이나 소프트웨어를 제공한 경우에는, 사양상 어떤 불편이 있었다 해도 계약 불이행에 해당하지 않는다는 것을 명확히 해두는 것도 고려할 수 있습니다.
이 규정에 따라, 사양서대로 개발했음에도 불구하고, 발주자의 취향에 따라 계약 불이행 책임을 물을 수 있는 것을 방지할 수 있습니다.
포인트 2: 보증 기간의 명확화
계약 불이행 책임의 권리 행사 기간은, 제품을 ‘인도한 시점’이 아니라, 계약 불이행을 ‘알게 된 시점’부터 계산됩니다.
또한, 별도로 소멸시효가 적용되더라도, 그 기간은 최장 ‘십년간’이며, 장기간에 걸쳐집니다.
벤더에게는, 경우에 따라 ‘십년간’이라는 장기간 무상 보증을 해야 하는 것은 큰 부담이며, 그만큼을 견적 단계에서 더해야 합니다.
또한, 발주자로서도 시스템이나 소프트웨어의 사용 기간 등에 따라 유연하게 보증 기간을 설정하는 것이 비용 등의 면에서 오히려 이익이 될 수 있습니다.
그래서, 시스템 등의 내용에 따라 보증 기간을 유연하게 설정하는 것이 고려될 수 있습니다.
포인트 3: 계약 불이행이 발생한 경우의 대응
계약 불이행이 발생했을 때, 손해배상 청구나 해지 등, 민법상 인정되는 권리 중에서, 행사할 수 있는 것을, 당사자 간의 합의에 따라, 일부로 제한할 수 있습니다.
발주자로서는, 계약서에서 어떤 제한이 붙어 있는지를 정확히 이해하고 있어야 합니다.
결론: ‘계약불이행 책임’을 포함한 계약서 작성은 변호사에게 상담하자
![이미지](https://monolith.law/wp-content/uploads/2022/05/shutterstock_1670634652.jpg)
민법 개정으로 인해, 시스템이나 소프트웨어 개발의 법률 관계에도 큰 영향이 생겼습니다.
납품한 시스템에 결함이 발생한 경우, 이것이 ‘계약불이행’에 해당하는지, 어떤 책임을 물을 수 있는지는 일률적으로 말할 수 없습니다.
또한, 미연에 분쟁을 방지하기 위해, 개발 계약 단계에서 발주자와 벤더 간에 충분한 협의를 하는 것이 필수입니다.
계약서 작성에 대해 불안한 점이 있는 분은, 꼭 전문 변호사에게 상담하시기 바랍니다.
Category: IT
Tag: ITSystem Development