민법 제544조(이행지체와 해제)당사자 일방이 그 채무를 이행하지 아니하는 때에는 상대방은 상당한 기간을 정하여 그 이행을 최고하고 그 기간내에 이행하지 아니한 때에는 계약을 해제할 수 있다. 그러나 채무자가 미리 이행하지 아니할 의사를 표시한 경우에는 최고를 요하지 아니한다.
계약서의 해제조항 - ‘채무불이행이 있으면 계약 해제된다’는 표현은 약정해제가 아니라 법정해제권을 주의적 규정에 불과한 것으로 해석될 수 있음
원칙적으로 이행제공, 이행 최고 후 계약 해제 가능
2.계약서의 해제조항 및 약정해제권
대법원 2016. 12. 15. 선고 2014다14429, 14436 판결
(1)계약에 특별히 해제권 관련 조항을 둔 경우 이는 법정해제권을 주의적으로 규정한 것이거나 약정해제권을 유보한 것 등 다양한 의미가 있을 수 있다.
(2)약정해제권을 유보한 경우에도 계약 목적 등을 고려하여 특별한 해제사유를 정해 두고자 하는 경우가 있고, 해제절차에 관하여 상당한 기간을 정한 최고 없이 해제할 수 있도록 한 경우 등도 있다.
(3)당사자가 어떤 의사로 해제권 조항을 둔 것인지는 결국 의사해석의 문제로서, 계약체결의 목적, 해제권 조항을 둔 경위, 조항 자체의 문언 등을 종합적으로 고려하여 논리와 경험법칙에 따라 합리적으로 해석하여야 한다.
(4)다만 해제사유로서 계약당사자 일방의 채무불이행이 있으면 상대방은 계약을 해제할 수 있다는 것과 같은 일반적인 내용이 아니라 계약에 특유한 해제사유를 명시하여 정해 두고 있고, 더구나 해제사유가 당사자 쌍방에 적용될 수 있는 것이 아니라 일방의 채무이행에만 관련된 것이라거나 최고가 무의미한 해제사유가 포함되어 있는 등의 사정이 있는 경우에는 이를 당사자의 진정한 의사를 판단할 때 고려할 필요가 있다.
(5)갑 주식회사와 을이 금형 제작에 관한 도급계약을 체결하면서 작성한 도급계약서에 ‘갑 회사는 을이 계약을 위반하여 기간 내에 제작을 완료할 수 없는 경우에 계약을 해제할 수 있다’는 조항을 두었는데, 을이 납품기한이 지나도록 납품을 하지 못하자 갑 회사가 이행 최고 없이 곧바로 계약해제를 통보한 사안에서, 제반 사정에 비추어 위 조항은 단순히 채무불이행으로 인한 법정해제권을 주의적으로 규정한 것이 아니라 특유한 해제사유를 정하고 해제절차에서도 최고 등 법정해제권 행사의 경우와 달리 정하고자 하는 당사자의 의사가 반영된 것이라고 볼 여지가 있는데도, 갑 회사의 계약해제가 법정해제권의 행사요건을 갖추지 못하여 효력이 없다고 본 원심판단에 법리오해 등의 잘못이 있다.
업무상 저작물 조항은 – “주문자가 전적으로 프로그램에 대한 기획을 하고 자금을 투자하면서 개발업자의 인력만을 빌려 그에게 개발을 위탁하고 이를 위탁받은 개발업자는 당해 프로그램을 오로지 주문자만을 위해서 개발ㆍ납품하는 것과 같은 예외적인 경우가 아닌 한 프로그램 제작에 관한 도급계약에는 적용되지 아니한다(대법원 2000. 11. 10. 선고 98다60590 판결 참조).”
대법원 2000. 11. 10. 선고 98다60590 판결
(1)저작권법 제9조는 프로그램 제작에 관한 도급계약에는 적용되지 않는 것이 원칙이다.
(2)발주자가 전적으로 프로그램에 대한 기획을 하고 자금을 투자하면서 개발업자의 인력만을 빌어 그에게 개발을 위탁하고 이를 위탁받은 개발업자는 당해 프로그램을 오로지 주문자만을 위해서 개발ㆍ납품하여 결국 주문자의 명의로 공표하는 것과 같은 예외적인 경우에는 법인 등의 업무에 종사하는 자가 업무상 작성한 저작물에 준하는 것으로 보아 이를 준용하여 주문자를 저작권자로 볼 수 있다.
서울고등법원 2023. 7. 6. 선고 2022나2051735 판결
(1)이 사건 프로그램 개발용역계약은 도급계약에 해당하고, 이 사건 프로그램을 개발한 개발자 원고가 그 저작권을 원시적으로 취득한다.
(2)이 사건 개발용역계약 제6조는 그 저작권이 발주자 회사에게 있다고 정하고 있으나, 회사가 받는 수익에 비해 개발자 원고가 받는 대금이 현저히 적으므로 불공정한 법률행위로 무효이거나, 약관의 규제에 관한 법률 제5조 제2항에 따라 원고에게 유리하게 미완성 저작물의 저작권은 원고에게 있다는 취지로 해석되어야 한다.
(3)게다가 이 사건 용역계약은 적법하게 해제되었거나, 사기에 의한 의사표시로 취소되었으므로, 그 저작권은 여전히 원고에게 있다.
(1)ERP 개발계약서 특약사항 제4항 ”MES DATA 연동작업은 피고가 책임을 지고 완성하여 R 사업의 감리에 문제가 없어야 한다(단, MES 내부에 문제시는 별도 협의 조치한다).“
(2)개발사는 발주사로부터 기존 사용하는 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등은 제공받지 못함.
(3)개발사 주장 - 계약금액만으로 자기부담으로 모든 MES 연동작업을 완성하고 나아가 필요한 테스트 환경도 구축하는 것은 과도한 것으로 양자는 전혀 그 업무범위, 비용부담 등이 다름
(4)발주사 주장 – 계약에 MES 연동작업은 개발사 피고가 책임을 지고 완성한다는 특약사항이 기재되어 있는바, 이는 피고가 원고로부터 기존 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등을 제공받지 못하는 것을 전제로 피고의 부담으로 MES 연동작업을 완성해주기로 하였기 때문이고, 따라서 원고로서는 피고에게 기존 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등을 제공하거나 나아가 그에 필요한 테스트 환경을 구축해줄 계약상 의무가 없다.
(5)쟁점 – 특약조항을 개발사의 전적인 책임으로 해석할 수 있는지 여부
(6)판결요지 – 발주사의 주장 배척
2.서울고등법원 판결 요지 – 개발사 책임 제한, 승소
(1)이 사건 MES 프로그램에 설계서(논리/물리 모델, 프로그램 사양서)가 존재하고 이를 기반으로 소스코드가 개발된 것인 사실을 인정할 수 있는바, 발주사 원고로서는 ERP 시스템 구축자인 피고에게 MES 인프라 구성, 데이터 구조, 프로그램 구조 등의 설계서와, MES 시스템을 통해 생성되는 데이터가 어떤 과정으로 생성되고 저장되는지, 피고가 구축하는 ERP 시스템에 어떤 정보가 언제, 어느 DB로 가야 기존 MES 시스템이 정상적으로 운영될 수 있는지 등을 제공, 설명해야 할 책임 있음.
(2)원고가 제시한 위 설명서의 ‘기존 MES 데이터와의 연계에 100% 문제가 없어야 함’이라는 문구만으로는 원고 주장의 위와 같은 내용이 포함되어 있다고 보기에 부족하다.
(3)선행 시스템 구축업체로부터 기존 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등을 입수할 수 없고, 나아가 테스트 환경 구축에 따른 추가 비용 부담 등의 문제가 발생할 수 있다는 사정은, 입찰 참여 업체로서는 투입 인원, 작업 기간 및 난이도, 소요 비용 등이 적잖게 추가될 수 있는 문제인 동시에 그에 대한 해결방안을 갖고 있다는 것이 입찰에 있어서 타 경쟁업체에 대하여 비교우위를 점할 수 있는 핵심적인 장점이라고 할 것임에도, 입찰 제안서에 이를 명시적으로 언급하지 않았다는 것은 쉽게 이해하기 어렵다.
(4)나아가 위와 같은 내용은 발주자인 원고로서도 시스템 구축 및 운용의 성패를 좌우할 수 있는 중요한 문제였다고 할 것인데, 제안요청서 또는 적어도 프레젠테이션 과정에서 입찰 참여 업체들에게 이 문제를 어떻게 해결할 수 있을 것인지에 관하여 집중하여 질문을 하고 그 답변 내용을 기재해두었을 것으로 보임에도 이에 관한 문답서 등도 남아 있지 않은바, 이 역시 쉽게 납득하기 어렵다.
(5)특약사항에는 ‘피고는 기존 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등은 제공받지 못한다는 것을 양해하고, 피고의 부담으로 MES 연동작업을 완성한다’든가 ‘피고의 부담으로 MES 연동작업에 필요한 테스트 환경을 구축한다’는 등의 내용이 구체적으로 명시되어 있지 않다.
(6)오히려 ”(단, MES 내부에 문제시는 별도 협의 조치한다)“라는 문구의 의미는, 선행 시스템 구축 업체로부터 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등을 제공받지 못하는 등의 문제가 발생할 경우에는 원고와 피고가 별도로 협의한다는 취지로 볼 여지도 있다
(7)위 특약사항의 의미가 원고가 피고에게 기존 MES 프로그램의 소스코드 외에 그 로직, 설계서, 매뉴얼 등을 제공할 수 없어 피고가 이를 독자 개발하여야 하고, MES 연동작업에 필요한 테스트 환경도 피고의 부담으로 구축하여야 한다는 취지였다면, 피고로서는 위와 같이 원고에게 각 보고를 함에 있어 그 초기 단계부터 이에 관한 현황 분석 및 일정 수립, 구체적 작업 내용 등을 명시하였어야 할 것이고, 원고로서도 피고에게 보고서에 위와 같은 내용을 명시하거나 별도의 추가 보고를 하도록 요구하였어야 할 것임에도 이에 관한 별다른 자료가 없다.
컴퓨터프로그램 소프트웨어의 개발납품 계약은 도급계약으로, 개발자(수급자)가 프로그램개발을 완성하여 납품하면 발주자가 그 보수, 용역대금을 지급하는 계약입니다. 개발자가 완성하여 납품하는 기준, 발주자가 요구하는 개발요구사항, 개발자의 개발범위를 명확하게 정하는 것이 매우 중요합니다. SW 개발공급계약서에서 프로그램의 목적과 기능을 구체적으로 특정하고, 해당 분야를 이해하는 개발자, 전문가의 검토를 거쳐 개발요구사항 및 개발범위를 기능별, 항목별로 구체적으로 정리하는 것이 바람직하고, 독립된 별지로 정리하여 첨부하면 분쟁을 예방할 수 있습니다. 원칙적으로 수급인 개발자는 개발완성을 입증할 책임 있고, 완성해야 보수(개발대금)을 청구할 수 있습니다.
프로그램개발의 완성 또는 미완성 판단기준: 소프트웨어 개발납품 계약서에서 정한 기준,예를 들어 개발요구사항 명세서, 개발범위 등에 따라 완성여부를 판단합니다. 계약서 문언에 따라 계약에 포함되어 있는 사양과 기능을 갖춘 제품의 개발, 그 이행 제공, 관련한 자료, 당시 관련 당사자들의 태도 등 제반 사정을 종합하여 판단합니다.
2.개발납품 완료 후 하자보수 vs 미완성의 구별
소프트웨어 개발공급계약에서 미완성에 대해서는 대금지급거절, 채무불이행으로 인한 계약해제 또는 계약해지가 문제되지만, 완성, 납품 후에는 발주자는 용약대금지급 의무가 있고 다만 개발자에 대한 하자보수요구가 문제됩니다.
소프트웨어 프로그램 개발 및 공급계약에서 일의 완성으로 보려면 계약상 예정된 최후의 공정까지 종료하였음과 함께 프로그램의 주요기능 부분이 약정된 대로 개발되어 사회통념상 일반적으로 요구되는 성능을 갖추고 있어야만 합니다. 또한 계약상 예정된 최후의 공정이 종료하였는지 여부는 개발자 수급인의 주관적인 주장이 아니라 개발 및 공급계약의 구체적 내용과 신의성실의 원칙에 비추어 객관적으로 판단해야 합니다.
개발자가 소프트웨어 개발의 일을 완성하고 이를 인도하면 발주자는 해당 소프트웨어 프로그램이 계약상 사양과 내용대로 완성되었는지 점검하여 수령하게 되는데, 법원은 제작물공급계약에서 목적물의 인도는 완성된 목적물에 대한 단순한 점유의 이전만을 의미하는 것이 아니라 도급인이 목적물을 검사한 후 그 목적물이 계약내용대로 완성되었음을 명시적 또는 묵시적으로 시인하는 것까지 포함한다고 봅니다.
그런데, 실무상 개발 납품한 프로그램이 계약상 요구사항을 모두 충족하였지만 발주자가 원하는 성능을 충분히 구현하지 못한다고 불만을 표시하면서 개발대금을 지급하지 않고 과도하게 보완을 계속 요구하는 경우가 있습니다. 이와 같은 하자 주장은, 법적으로 일의 완성과는 구별되는 다른 개념입니다. 하자가 있더라도 일이 완성되었다면 수급인은 도급인에게 보수의 지급을 청구할 수 있습니다.
하자여부도 일의 완성여부 판단, 그 완성도의 판단기준이 매우 중요합니다. 계약서에서 요구사항 각 항목을 특정하고, 목적하는 기능, 사용용도, 개발동기 등 배경사실을 기재하였거나 프로그램의 기능이 어떻게 구현되어야 하는지 등을 구체적으로 기재해 두었다면 완성여부 및 완성도를 판단하는데 큰 문제가 없을 것입니다.
발주자 도급인은 하자보수청구권을 가지므로 하자담보책임에 기한 항변을 행사하여 하자에 대한 보수 또는 그에 갈음하는 손해배상의 지금에 대한 대금의 지급을 거절할 수 있습니다. 그러나 하자를 이유로 대금 전부의 지급을 거절할 수는 없습니다.
정리하면, 발주한 소프트웨어 프로그램의 개발이 미완성인 때에는 대금지급을 거절할 수 있지만, 완성되었으나 하자가 있는 경우에는 발주자 도급인은 일의 완성을 요구하면서 대금지급을 거절할 수는 있습니다. 다만, 하자의 정도에 따라 대금감액 또는 손해배상을 청구할 수는 있습니다.
3.소프트웨어 프로그램의 완성, 납품 후 하자보수 또는 추가 개발계약
소프트웨어 개발 및 공급의 도급계약에 있어서의 하자는 완성된 일이 계약에서 정하거나 보증한 내용이 아니거나, 그 경제적 사용가치 또는 교환가치를 감소시키는 결함이 있거나, 또는 당사자가 미리 정한 사양 또는 기능을 가지지 못하는 등 결함을 말합니다. 그러나 하자의 정의는 모호하고 추상적이라 개별 사건마다 당사자간의 계약 내용을 검토하는 것이 중요합니다. 또한 계약상 합의된 사양과 내용과 함께 통상적인 용도에 적합한지 여부도 중요한 기준입니다.
납품 및 검수 후의 소프트웨어 버그에 대한 리포트를 받고 이를 즉시 보수하거나 도급인과 협의하여 상당한 조치를 취한 때에는 하자라고 보지 않을 것입니다. 그러나 도급인이 요구하는 구체적인 업무나 기능이 제대로 작동되지 않는 경우, 통신 및 인터넷과 연계된 컴퓨터 프로그램이 통신 및 네트워크와 연결하여서는 제대로 작동되지 않은 경우나, 컴퓨터 안에 보존된 다른 데이터 등을 잃어 버리는 경우 등은 하자에 해당합니다.
최초의 개발범위를 벗어난 추가 개발요구사항이 있는 경우 계약범위를 변경하는 추가 합의서를 첨부하거나 별도의 추가 개발계약을 체결할 수 있습니다. 추가 개발사항을 명시적으로 정리한 변경계약서 또는 추가 계약서가 없다면 기존 계약범위 내인지 추가 개발인지 여부가 불명확하여 분쟁의 소지가 있습니다. 추가 개발서를 별도 서면으로 작성하면, 추가개발에 대하여 상호 진지하게 고민하게 될 것이고, 그 추가 개발사항에 대한 분쟁도 줄어들 수 있습니다. 이때 추가 개발사항으로 개발비용이 추가되는지 여부도 명확하게 결정해야 합니다. 그렇지 않으면 추가 비용의 부담에 관한 분쟁원인이 될 것입니다.
4.완성 전 중간점검, 중도해지, 계약변경 시 입증자료
컴퓨터 프로그램의 납품 후 계약에 따른 완성 여부를 다투거나 하자를 다투는 것보다 중간에 미리 점검하고 확인하는 것이 바람직합니다. 개발단계에 따라 단계별로, 또는 모듈별로 개발정도를 점검하거나 또는 기간에 따라 정기적으로 점검하는 것이 바람직합니다. 만약 당초 계약내용을 변경하거나 수정, 보완해야 한다면 중도에 추가 계약서를 작성하는 등 명시적 자료를 남기는 것이 좋습니다.
개발공급계약서에 개발진도 점검, 검수, 중도 계약해지에 대한 조건 등을 명확하게 규정하는 것이 좋습니다. 중간단계 완성여부, 점검, 검수기준을 정해두고, 기준 미충족 시 중도 해지조건까지 정해두지 않으면 상호간 자기 주장만 하고 진행되지 않는 난관에 봉착합니다. 어떤 경우에 계약해제 또는 해지를 할 수 있는지, 그 경우 어떻게 정산을 할지 명확하게 정리하는 것이 바람직합니다.
5.개발 결과물의 납품 방식 및 저작권 귀속 사항
개발결과물을 어떤 방식으로 납품할 것인지, 그 결과물의 저작권 귀속에 대해 명확하게 정해 두어야 합니다. 통상 사용하는 SW 소유권 뿐만 아니라 그 저작권, 사용권을 갖는다는 점을 명확하게 정리하는 것이 필요합니다. 특히 당해 계약의 산출물인지 아니면 기존에 보유하고 있던 솔루션까지 포함한 것인지 등 명확하지 않으면 분쟁의 소지가 있습니다.
법리 – “도급에 관한 민법 제668조는 “도급인이 완성된 목적물의 하자로 인하여 계약의 목적을 달성할 수 없는 때에는 계약을 해제할 수 있다”고 규정하고 있는 바, 여기서 계약의 목적을 달성할 수 없다는 것은, 그 하자가 중대하고 보수가 불가능하거나 가능하더라도 장기간을 요하는 등 계약해제권을 행사하는 것이 정당하다고 인정되는 경우를 의미한다(대법원 2010. 6. 10. 선고 2010다10252 판결 참조).
2.개발능력 부족 및 중대하자 - 개발계약의 해제 사유 인정
이 사건 부동산플랫폼에 존재하는 하자는 중대한 하자이고, 수급인 피고의 역량으로 보수가 불가능하거나 또는 가능하더라도 장기간을 요하는 경우로서 ‘하자로 인하여 이 사건 도급계약의 목적을 달성할 수 없는 때’에 해당한다고 봄이 상당하다.
3.개발계약의 해제 및 대금반환 의무
발주자 원고는 이를 이유로 이 사건 도급계약을 해제할 수 있고, 원고의 해제 의사표시에 따라 이 사건 도급계약은 해제되었고, 이에 따라 개발자 피고는 원고에게 원상회복의무의 이행으로 지급받은 돈 및 이에 대한 받은 날로부터 이자 또는 지연손해금을 가산하여 반환하여야 한다.
4.미완성이나 일부완성의 기성고에 따른 보수 인정 여부
개발자 주장요지 - 이 사건 목적물에 대한 개발이 상당히 이루어졌으므로 원고의 이 사건 도급계약 해제 통보로 이 사건 계약관계가 중도에 해소되더라도 수급인인 피고는 당시까지의 보수를 청구할 수 있고, 피고가 지급받은 돈은 그 보수에 미치지 못하므로 결국 피고로서는 반환할 금액이 없다는 취지의 주장을 한다.
법원 판단 – 개발완성 부분의 사용가치 불인정, 기성고에 따른 일부보수 청구권 불인정
도급계약에서 수급인은 원칙적으로 일을 완성하여야 보수를 청구할 수 있고, 다만 이미 공급되어 설치된 목적물의 완성도가 약간의 보완을 가하면 업무에 사용할 수 있을 정도로서 이미 완성된 부분이 도급인에게 이익이 되는 경우 그 계약관계가 도급인의 해제통보로 중도에 해소되었다면 수급인은 당시까지의 보수를 청구할 수 있다고 할 것이나(대법원 1996. 7. 30. 선고 95다7932 판결 참조), 이 사건 부동산플랫폼의 완성 부분이 원고에게 이익이 된다고 볼 뚜렷한 증거가 없다.