지난 '법적 분쟁시 손해를 방지할 수 있는 SW 개발 계약서 작성 노하우 (1)'에서는 SW 개발 계약서에 필수적으로 기재하거나 첨부하여야 할 사항으로 '계약의 목적 및 프로젝트, 상세한 개발 기간 및 연장의 합의 내용, 과업지시서와 산출내역서, 요구사항 정의서 등 기획문서의 내용 및 제공 시기'를 제시한 바 있다. 이번에는 그 외에 당사자의 업무 범위와 지체상금, 계약 해제 및 손해배상에 관하여 설명하고자 한다.
당사자의 구체적인 업무 범위
SW 개발은 발주자가 특정 SW의 개발을 개발자에게 맡기는 것으로 법률상 일종의 도급 계약의 성질을 갖는다(대법원 1996. 7. 30. 선고 95다7932 판결 등). 다만, 일반적인 도급 계약과 달리, 도급인인 발주자는 SW 개발을 위해 디자인 혹은 정의 문서 등을 제공할 의무가 있다. 이러한 디자인, 정의 문서 등은 본격적인 개발 작업에 착수하기 전에 선행 제공되어야 하는 것으로, 개발자로서는 구체적인 요구사항 없이 개발 작업을 할 경우 수정 및 재개발을 하여야 하는 위험부담이 있다.
따라서 SW 개발 계약서에는, 발주자와 개발자의 업무 범위 및 제공하여야 하는 사항을 최대한 상세히 기재하되, 구체적인 기한도 함께 적어둘 것을 권한다. 제공 기한을 정해두지 않는 경우, 발주자가 디자인, 정의 문서 등을 제공하지 않아 개발이 지연되는 경우에도 개발자가 개발 지연의 책임을 지게 될 위험이 있기 때문이다.
지체상금 조항
개발자의 귀책으로 SW 개발이 지연된 경우, 발주자에게 일수 별로 손해배상액을 지급하도록 하는 지체상금 조항은, 민법상 손해배상액의 예정으로 볼 수 있다(대법원 2012. 3. 15. 선고 2010다68220 판결). 일반적으로 SW 개발 계약상 지체상금은 지체되는 일수 당 계약대금의 0.1%에서 0.3% 금액 수준으로, 계약대금의 1% 이상의 금액으로 정해지는 경우도 있다.
지체상금이 지나치게 과도하게 정해질 경우, 법원은 금액 혹은 비율을 감액할 수 있다. 대법원은 이에 관하여 "지체상금에 관한 약정은 수급인이 그와 같은 일의 완성을 지체한 데에 대한 손해배상액의 예정이므로, 수급인이 약정된 기간 내에 그 일을 완성하여 도급인에게 인도하지 아니하여 지체상금을 지급할 의무가 있는 경우, 법원은 민법 제398조 제2항의 규정에 따라 계약 당사자의 지위, 계약의 목적과 내용, 지체상금을 예정한 동기, 실제의 손해와 그 지체상금액의 대비, 그 당시의 거래관행 및 경제상태 등 제반 사정을 참작하여 약정에 따라 산정한 지체상금액이 일반 사회인이 납득할 수 있는 범위를 넘어 부당하게 과다하다고 인정되는 경우에 이를 적당히 감액할 수 있다"고 판시한 바 있다(대법원 2012. 3. 15. 선고 2010다68220 판결).
참고로 일부 판례에서는 SW 개발 계약상 과도하게 책정된 지체상금을 전체 지체상금의 10% 금액으로 제한하기도 하였다(서울중앙지방법원 2021. 11. 12. 선고 2019가단5218427 판결 ). 다만, 계약의 특성과 계약대금, 구체적인 개발 과정 등이 사안에 따라 다르므로 일괄적으로 적용하기에는 무리가 있다. 결국, 개발자의 무분별한 개발 지연을 막기 위해 지체상금 조항은 당연히 기재해두는 것이 좋지만, 일반 사회인이 납득할 수 있는 범위를 넘어 부당하게 과다하다고 인정되지 않도록 그 비율을 조율할 필요가 있다.
계약 해제 및 손해배상 조항
계약 당사자의 계약상 의무 불이행과 그로 인한 손해를 방지하기 위하여 SW 개발 계약서에는 계약 해제 및 손해배상 조항이 반드시 기재된다. 일반적으로 계약 해제 조항에는 계약을 해제할 수 있는 구체적인 사유와 해제의 방법, 해제와 별도로 손해배상을 청구할 수 있다는 내용이 포함된다.
이때, 해제의 사유는 최대한 구체적, 객관적으로 기재하는 것이 좋다. 실제로 일부 SW 개발 계약서는 해제 사유로 '개발 목적물이 甲이 판단하기에 적합하지 않다'는 등의 표현을 사용하기도 하는바, 이는 그 내용을 객관적으로 판단하기 어렵고, 계약 해제를 통보한다고 하더라도 법적 다툼이 발생할 수 있어 권하지 않는다. 대신, '계약 목적물의 주요 기능 미동작(구체적인 기능 기재)', '당사자의 행정적, 경영적 문제(영업취소·영업정지 처분, 파산, 해산 등)' 등 객관적으로 판단할 수 있는 사유를 기재하는 것이 좋다.
계약 해제 통보와 관련하여도, 계약 당사자 일방의 무분별한 계약 해제를 방지하기 위하여, 의사 전달 방식을 제한할 수 있다. 예컨대 계약 당사자가 SW 개발 계약상 의무를 지연하면 상대방은 의무의 이행을 서면으로 최고하고 상당한 기간이 지나도 이를 이행하지 않을 경우 해제하도록 정하거나, 서면으로만 계약의 해제를 통보하도록 정할 수도 있다.
또한, 계약해제와 관련 없이 당사자는 상대방에게 손해를 배상할 수 있다는 조항을 기재하여 상대방의 의무 불이행으로 인한 손해를 보전받을 수도 있다.
이상과 같이, 법적 분쟁시 손해를 방지할 수 있는 SW 개발 계약서 작성 노하우를 간략히 알아보았다. 다만, 모든 계약은 계약의 목적과 대상, 구체적인 내용 및 금액 등이 같을 수 없으므로 위 기준이 일률적으로 적용될 수는 없다. 따라서 예상치 못한 손해를 방지하기 위해서는 전문가의 조언을 구하여 SW 개발 계약서를 작성할 것을 권한다.
* 법무법인 민후 지현주 변호사 작성, 디지털데일리(2023. 5. 12.) 기고.