[법무법인 비트 칼럼] STEP 1. 소프트웨어 분쟁을 예방하는 방법
“소프트웨어 다 만들었는데, 돈을 못 준다고?”
모바일 어플리케이션, 블록체인, 인공지능(AI), 메타버스. 최근 화제가 되는 이 단어들의 공통점은 무엇일까요? 여러 가지 답이 있을 수 있겠지만 바로 소프트웨어와 관련된 단어라는 것입니다. IT 업계에서 소프트웨어 기술이 갖는 경제적 가치와 중요성이 높아지면서 소프트웨어 개발과 관련된 분쟁도 끊이지 않고 있습니다.
특히 개발이 완료되었음에도 고객으로부터 대금을 제대로 받지 못해 분쟁이 발생하는 일이 많습니다. 회사는 적지 않은 비용을 지불하고 개발한 소프트웨어가 기대에 미치지 못해 불만이고, 개발자는 요구한 대로 개발해주었는데 대가를 제대로 받지 못하다니 억울할 따름입니다. 이러한 분쟁이 소송으로 이어지게 되면 실제로 누가 잘못했는지 따지기가 쉽지 않습니다. 소프트웨어 개발이 워낙 전문적인 분야라 업계 종사자가 봐도 개발 완성도를 정확히 판단하기 어렵고, 대부분 개발 기간 동안 누적된 의사소통의 차이가 원인이 되어 문제가 터지기 때문에 누구의 잘못이라고 딱 말하기도 어렵기 때문입니다. 결국 긴 시간과 큰 비용을 투입하고도 쌍방 모두 만족스럽지 못한 결론이 나는 경우도 많습니다.
그렇다면, 어떻게 소프트웨어 개발 분쟁이 일어나지 않도록 예방할 수 있을까요?
① 결과물에 대해 계약서에 구체적으로 명시하기
법원은 통상 소프트웨어 개발 계약은 일이 완성되면 그에 대한 대가를 지급하기로 하는 도급계약의 성질을 가지고 있다고 보고 있습니다. 따라서 원칙적으로 결과물이 ‘완성’되어야 개발의 대가를 청구할 수 있으므로, 대부분의 분쟁에서는 결과물이 약정한 대로 완성되었는가를 가지고 다툼이 일어나게 됩니다. 따라서 양 당사자 간에 만들기로 약속한 대상이 무엇인지 명확하게 정할수록 좋습니다.
한편 소송에서 일반적으로 계약서는 처분문서로서 인정되는데, 처분문서가 있으면 법원은 특별한 사정이 없으면 그 문서의 내용을 인정해야 하고 이를 뒤집을 사실을 반증하는 것은 명확한 증거가 없는 한 쉽지 않습니다. 따라서 처음부터 계약서를 잘 작성하는 것은 무엇보다 중요합니다.
의뢰인은 자신이 원하는 소프트웨어의 사용자 인터페이스, 기능, 알고리즘, 디자인이 어떠하길 원하는지 가능한 구체적으로 계약서에 명시해야 하며, 개발자 역시 전문가의 시각에서 모호하고 추상적인 부분은 의뢰인과 충분한 대화를 통해 구체화하여 명확하게 기재할 필요가 있습니다.
그 밖에도 특정 개발 언어로 개발되기를 원하거나 호환을 원하는 플랫폼이 있는 등 특별한 요구사항이 있다면 꼭 명시하는 것이 좋습니다. 더하여 최종 결과물이 요구한 대로 완성되었는지 판단하기 위해 결과물의 검수를 어떻게 할 것인지도 구체화하는 것이 좋습니다.
② 권리관계에 대해 명확하게 정하기
계약서에서 또 한가지 명확하게 정해야 할 것은 의뢰인과 개발자의 권리 관계입니다. 특히, 결과물이 누구에게 귀속되도록 할 것인지는 많은 분쟁의 원인이 되기도 합니다. 어떠한 권리까지 가지고 있는지 명확히 하지 않거나 개발자에게 필요한 권리가 귀속되도록 하는 경우, 소프트웨어를 개선하거나 유지 보수하고자 할 때 권리 문제로 발목이 잡히는 상황이 생기거나 최악의 경우 돈을 들여 처음부터 소프트웨어를 개발해야 할 수도 있습니다. 의뢰인은 많은 비용을 지불하는 만큼 필요한 권리를 확보할 수 있도록 유의하여야 합니다.
③ 개발 과정에서 오고 간 대화는 최대한 기록해두기
그러나 아무리 계약서를 충실하게 작성한다고 해도 의뢰인이 그리는 결과물의 모습과 개발자가 생각하는 결과물의 모습이 완벽하게 일치한다는 것은 매우 어렵습니다. 의사소통 과정에서 발생할 수밖에 없는 오류는 차치하더라도, 의뢰인은 세부사항을 정하지 않은 채 개발을 의뢰하는 경우가 많기 때문에 처음 의뢰했던 소프트웨어에서 세부 사항들이 끝까지 유지되지 않기 때문입니다.
그래서 의뢰인과 개발자는 개발이 진행되는 동안 전화, 회의, 이메일 등으로 많은 소통을 하게 되는데, 이 과정에서 의사소통의 차이로 다양한 분쟁원인이 생길 수 있습니다. 따라서 구두로 했던 대화는 녹음하거나 문서로 남겨두는 등 가능한 자세히 기록해두는 것이 필요합니다. 추후 분쟁이 발생했을 때 이런 자료들이 승패의 차이로 이어질 수 있습니다.
위에서 말씀드린 사항들은 의뢰인과 개발자 모두에게 도움이 되는 부분이라고 생각됩니다. 분쟁은 항상 터지기 전에 예방하는 것이 최선이므로 중요한 계약을 앞두고 있는 경우 전문가의 조언을 받는 것이 비용과 시간을 아끼는 방법일 것입니다.
저자소개: 법무법인 비트 전용환 변호사