전문가칼럼

[스타트업 법률상식118] 법적 분쟁시 손해를 방지할 수 있는 SW 개발 계약서 작성 노하

지현주

[법무법인 민후 지현주 변호사] 최근 인터넷 홈페이지나 모바일 애플리케이션 등 소프트웨어(SW)의 개발·이용이 보편화되면서, 개발 계약의 미이행 혹은 잔금 미지급 등 다양한 사유로 인한 관련 분쟁이 잦아지고 있다. 발주자는 소프트웨어를 제대로 개발하지 않은 개발자에게 계약금을 지급하여 손해가 발생하였고, 개발자는 개발을 모두 마쳤는데도 발주자가 보수를 주지 않아 억울한데, 법적 분쟁 시 당사자가 자신의 손해와 억울함을 입증하기란 쉽지 않다. 따라서 소프트웨어 개발을 계획하고 있다면, 분쟁을 대비하여 좀 더 꼼꼼하게 개발 계약서를 작성하여야 할 필요가 있다. 이하에서는 국가에서 배포하는 다양한 양식의 SW 표준 도급계약서를 기준으로 하여, SW 개발 계약서에 추가로 기재할 필요가 있거나 특히 유념하여야 하는 점을 위주로 설명하고자 한다.

계약의 목적, 프로젝트 기재


대법원은 '민법 제544조에 의하여 채무불이행을 이유로 계약을 해제하려면, 당해 채무가 계약의 목적 달성에 있어 필요불가결하고 이를 이행하지 아니하면 계약의 목적이 달성되지 아니하여 채권자가 그 계약을 체결하지 아니하였을 것이라고 여겨질 정도의 주된 채무이어야 하고 그렇지 아니한 부수적 채무를 불이행한 데에 지나지 아니한 경우에는 계약을 해제할 수 없다. 또한, 계약상의 의무 가운데 주된 채무와 부수적 채무를 구별함에 있어서는 급부의 독립된 가치와는 관계없이 계약을 체결할 때 표명되었거나 그 당시 상황으로 보아 분명하게 객관적으로 나타난 당사자의 합리적 의사에 의하여 결정하되, 계약의 내용·목적·불이행의 결과 등의 여러 사정을 고려하여야 한다'고 판시한 바 있다(대법원 2005. 11. 5. 선고 2005다53705 판결).

즉, 개발된 소프트웨어 오류나 하자가 일부 존재한다고 하더라도, 발주자가 해당 소프트웨어로 계약의 목적을 달성할 수 있다면 채무불이행을 이유로 계약을 해제할 수 없다는 것이 판례의 입장이다. 따라서 소프트웨어 개발을 발주한 계약 당사자는, 개발자의 채무불이행을 대비하여 소프트웨어 개발 계약서에 '개발 대상인 소프트웨어를 이용하여 진행할 프로젝트 및 사업 등 개발 계약의 목적'을 명시적으로 기재하여야 손해를 방지할 수 있다.

다만, 단순히 '의류 판매, 구매대행 플랫폼, 예약 서비스 제공' 등 개발 목적을 추상적으로 적기보다는, '기존 패션 사이트와의 가격 비교 기능을 이용한 의류 판매, 실시간 추적 기능과 알림 기능을 기반으로 한 구매대행 플랫폼, 타 예약 사이트와의 연동 및 기존 예약 이력을 안내해주는 기능을 구비한 예약 서비스 제공' 등, 소프트웨어에 요구되는 구체적인 기능과 계약의 목적을 함께 상세히 적어야, 계약의 목적 달성 불가능을 이유로 개발자에게 채무불이행의 책임을 물을 수 있을 것이다.

상세한 개발 기간 특정 및 연장의 합의

최근 소프트웨어 개발과 관련된 다양한 법적 분쟁 중 개발 지연으로 인한 분쟁 사례가 가장 많은데, 소프트웨어 개발의 특성상, 개발자가 최선을 다하더라도 발주자의 자료 제공 지연 및 과도한 수정 요구 혹은 개발자가 예상하지 못한 오류 발생 등으로 예정된 기한을 넘어 개발이 지연될 위험성이 존재하기 때문이다. 그러나 약정한 기한이 도과하면 개발자는 이행지체의 책임을 질 수 있고, 개발자가 법정에서 개발자가 아닌 발주자의 귀책으로 개발이 지연되었다는 점을 입증하기는 쉽지 않다.

이를 위해 개발자는 미리 일정을 개발 단계별로 상세히 특정해두고, 발주자에게 단계별 개발 진행 상황을 공유하며, 발주자의 귀책사유로 일정이 지연될 경우 해당 내용을 기록하는 등 명확히 해두고 발주자와 협의하여 개발 기간을 연장해둘 것을 권한다.

이를 위해 개발자는 소프트웨어 개발 계약서에 미리 "당사자는 별도의 서면으로 협의하여 개발 기간을 연장할 수 있으며, 연장된 개발 기간은 기존 개발 기간을 대체한다"는 취지의 내용을 기재해두고, 실제 개발 기간이 연장될 경우 서면으로 기간 연장 합의의 내용을 기재하여 원 개발 계약서에 첨부해두어야 개발 지연의 책임을 피할 수 있을 것이다.

과업지시서와 산출내역서, 요구사항 정의서 등 기획문서의 내용 및 제공 시기 기재

소프트웨어 개발 착수에 앞서, 발주자는 구체적인 개발 요구사항을 정리하여 개발자에게 전달하고, 개발자는 위 요구사항을 바탕으로 개발 기간을 산정하고 개발의 범위를 협의하게 된다. 이와 같은 발주자의 요구사항을 정리한 문서인 기획문서는 보통 개발 계약서 작성 전, 계약 여부를 정하는 과정에서 작성, 전달되는데 일부 개발 계약의 경우 기획문서가 계약서 작성 이후에 전달되기도 한다.

개발의 전제 요건인 위 기획문서의 전달이 지연된다면, 개발자로서는 개발에 착수할 수 없음은 물론이고, 가사 개발에 먼저 착수한다고 하더라도 후에 전달된 기획문서의 내용에 따라 개발 내용을 수정하게 되어 개발 일정이 지연될 위험에 처할 것이다.

이처럼 기획문서의 제공은 소프트웨어 개발 계약상 발주자의 계약상 의무에 해당하는바, 양 당사자는 개발 계약서에 발주자의 의무로서 기획문서의 제공을 기재해두고, 기획문서의 구체적인 제공 시기(정확한 일자, 혹은 기획문서 제공 후 개발 착수된다는 점을 기재해두는 것이 좋다)를 기재해두고, 후에 기획문서의 내용이 변경되어 개발 도중에 개발 내용을 다시 수정할 위험이 없도록 대략적인 기획문서의 내용까지 기대해둘 필요가 있다.

이처럼, 소프트웨어 개발 계약서는 소프트웨어의 특성 및 계약 체결에 이르게 된 경위, 계약 당사자의 사정 등을 종합적으로 고려하여 양 당사자에게 불이익이 발생하지 않도록 작성되어야 추후 법적 분쟁에서의 손해를 방지할 수 있다. 다만, 구체적인 계약의 내용은 사안에 따라 달리 정해질 수 있으므로 전문가의 조언을 구하여 계약서를 작성할 것을 권한다.

<지현주 변호사> 법무법인 민후

<기고와 칼럼은 본지 편집방향과 무관합니다.>
디지털데일리가 직접 편집한 뉴스 채널