김윤명(법학박사) 소프트웨어정책연구소 선임연구원

[컴퓨터월드]

▲ 김윤명(법학박사) 소프트웨어정책연구소 선임연구원

소프트웨어의 역설

「제조물 책임법」의 제정 논의는 제2차 산업혁명에서의 대량생산 경제에 기인한다. 대량 생산, 대량 유통, 대량 소비 과정에서 소비자는 불안전한 제품을 소비함으로써 위험에 노출되어왔기 때문이다. 제4차 산업혁명기인 지금은 다품종 소량생산의 시대이지만 오히려 제품의 안전성은 담보하기 어렵다. 다품종에 대한 안전은 그만큼 제조자의 부담이 커지고 있으며, 프로세스가 다양해짐에 따라 책임소재도 다양해지기 때문이다.

소프트웨어가 융합의 기본적인 요건이 되고 있으며, 그로 인해 소프트웨어의 복잡성, 소프트웨어에 대한 의존성이 증대하고 있다. 사물인터넷(IoT, internet of things), 자율주행차(self-driving cars), 임베디드 소프트웨어(embedded software) 등 많은 영역에서 사용되는 만큼 소프트웨어로 발생하는 사고 건수가 많고 그 영향력도 크다. 대표적으로 급발진, 관제, 군수용 무기 등에서 소프트웨어는 다양한 사고의 원인으로 지목되고 있다. 소프트웨어로 인해 발생하는 문제를 해결하기 위해 품질과 안전 확보의 필요성이 커지고 있다. 「제조물 책임법」을 소프트웨어에 적용할 수 있는지에 대한 검토도 하나의 방안이다. 이처럼 소프트웨어의 품질과 안전은 동전의 양면이다.


소프트웨어의 제조물성

그동안 소프트웨어의 제조물성에 대한 논의가 중심이 되고 있으나, 제한적으로 매체에 저장된 경우는 유체물로 보자는 견해가 유력하다. 그렇지만 소프트웨어의 제조물성에 대한 논의가 소프트웨어 제조물 책임의 본질은 아니다. 왜냐하면, 기술에 대한 소비자 이해의 어려움, 소비자의 정보 확보의 어려움, 제품 관련 정보의 비공개 및 비대칭성, 제조자의 정보 은폐, 의도적 왜곡 등의 사례가 발생하고 있기 때문이다.

민법상 물건은 동산 및 전기 기타 관리 가능한 자연력(「민법」 제98조)에 한정된다. 이러한 정의에 따라, 소프트웨어의 제조물성을 긍정하는 입장에서는 매체에 수록된 임베디드 소프트웨어의 경우, 부품화된 상태이므로 물건성을 인정할 수 있다는 것이다. 또한, 전기, 전파 등을 제조물로 보는 입법자의 의도에 따라 매체에 담겨있지 않은 소프트웨어도 제조물에 포함시키는 것이 타당하다는 주장도 있다. 이는 결국 관리 가능한 자연력의 경우까지 확장될 수 있다는 것이며, 소프트웨어도 충분히 관리 가능하다고 보는 견해다. 반면, 부정설의 입장은 서비스로서 그 내용을 명확히 확정 짓기 곤란하다는 주장이다. 자유로운 정보의 유통 및 학문언론의 자유를 저해하거나, 법적 안정성을 해할 수 있다는 것이다(신봉근, 2005). 이는 유체물이 아니라는 일반적인 입장을 견지하는 주장이다.

그렇지만, 개인적으로 드는 의문은 ‘같은 소프트웨어가 매체와의 결합상태에 따라 달라지는 것이 타당한가?’이다. 소프트웨어 서비스, 제품화된 소프트웨어, 소프트웨어 자체(itself) 등으로 구분되거나, 또는 매체 저장 여부에 따른 차이 등 소프트웨어가 활용되는 방식의 차이일 뿐, 소프트웨어인 것임에는 변함이 없기 때문이다. 합목적인 해석으로 보기 어려운 이유가 여기에 있다.


안전과 품질인증

소프트웨어의 안전은 어떠한 상태인가? 기능 안전성이란 운용자의 오류, 하드웨어·소프트웨어 고장이 발생해도 사고로 이어지지 않도록 하드웨어·소프트웨어 설계와 개발 시 안전 기능을 추가해 확보한 안전으로 이해된다. 즉, 소프트웨어의 안전은 ‘원래 의도했던 바대로 소프트웨어가 기능하는 상태’로 정의된다.

참고로, 국가안전관리 기본계획에서는 안전이란 “자연적 혹은 인위적 위험요인이 없거나, 이러한 위험요인에 대한 충분한 대비가 되어 있는 상태”(행정자치부, 2010)로 보고 있다. 위험요인이 없는 상태로써 소프트웨어를 상정할 수 있다.

그렇지만, 소프트웨어를 완전체로 보기 어렵기 때문에 이에 대한 품질 제고를 위한 노력이 필요하다. 즉, 작지 않은 인증제도나 품질 관련 국제표준의 제정이다. 대표적인 예로, 소프트웨어산업진흥법 상 GS(good software)인증제도를 들 수 있다. GS인증은 국제 표준을 준용한 한국형 평가모델 개발을 적용하고 있으며, 소프트웨어 유형별로 200∼1만여 개의 테스트 케이스를 개발해 1∼12주간 기능성, 신뢰성, 호환성, 상호 운용성, 성능 등 각종 시험을 수행하게 된다.

이를 위해 법상 소프트웨어의 품질인증 기준은 ① 소프트웨어의 기능을 정확하게 실행할 것, ② 소프트웨어의 신뢰성·효율성·사용과 유지·보수의 편의성 및 이식의 용이성이 미래창조과학부 장관이 정한 수준 이상일 것을 제시하고 있다.

그렇다면, 소프트웨어의 결함은 어떤 의미인가? 제조, 설계, 표시상의 결함은 안전하지 못하게 된 경우로, 원래 의도했던 바대로 소프트웨어가 기능하지 않는 상태다. 제조결함은 소프트웨어 개발 시 원래 설계와 다르게 제작된 경우이며, 설계결함은 오류 등을 줄일 수 있는 알고리즘을 고려하지 않은 코딩을 말한다.

표시결함은 소프트웨어 또는 포장에 합리적인 설명 등을 하지 않는 경우를 말한다. 이러한 결함을 통해 소비자가 ‘통상적’으로 기대했던 수준으로 작동되지 않는 경우로 볼 수 있다. 그렇다면, 해킹으로 인해 발생한 손해도 포함될 수 있는가? 소프트웨어는 서비스이기 때문에 제조물로 보기 어렵다는 견해는 수용 가능한가? 다만, 해킹은 고의에 의한 침해 가능성이 작지 않기 때문에 정보보안 관련 법률에서 관장하는 방안도 고려가 가능하다.

결국, “소프트웨어 안전을 담보하기 위해서는 소프트웨어의 품질 확보가 우선이어야 한다. 결함 없는 소프트웨어를 만들기는 어렵다고 하지만, 소프트웨어가 원인이 되어 발생하는 사고는 결함을 이유로 면책되어서는 안 되기 때문이다”(김윤명·이민영, 2016).


시대적 변화와 소프트웨어 제조물 책임

시대적인 변화에 따라 법률도 변한다. 「제조물 책임법」은 손해 주장자의 입증책임을 제조자가 과실이 없음을 밝혀야 하는 무과실(無過失) 책임으로 전환시켰다. 즉, 제조자가 손해의 발생 원인이 자신에게 없다는 입증을 하지 못하면 책임이 있다는 논리다. 제조물에 대한 엄격한 책임을 제조자에게 부과하고 있다는 것으로, 그만큼 안전한 사회를 구현하기 위한 시대적 요구가 법률에 작용한 것이다.

제조물에 포함되지 못하는 소프트웨어의 오류나 하자로 인해 발생하는 손해에 대해서는 손해 주장자가 입증해야 한다. 현실적으로 전문가인 소프트웨어 개발자나 제조자가 갖는 정보력에 대응하기 쉽지 않은 구조다.

소프트웨어 자체가 아닌, 소프트웨어가 다른 물건과 결합된 경우라면 제조물 책임을 인정하자는 주장이 힘을 얻고 있다. 문제는 소프트웨어로 인해 발생하는 손해배상 못지않게 소프트웨어산업에 대한 정책적 고려도 필요하다는 점이다. 무과실책임의 확대는 개발자나 사업자 등 소프트웨어산업과 생태계에 미치는 영향이 적지 않기 때문이다. 만약 소프트웨어가 포함된 제품으로 인해 손해가 발생할 경우 그에 따른 보상은 제조자 내지 소프트웨어 개발자가 지게 될 것이다.

소프트웨어가 임베디드 형태로 사용될 경우는 제조자는 소프트웨어 개발자에게 구상(求償)을 요구할 것이다. 결국 소프트웨어산업에는 상당히 부정적일 수밖에 없을 것이다. 소프트웨어로 인해 발생할 수 있는 사고는 복제되는 수량만큼이나 다양하다. 이러한 이유 때문에 산업과 국민의 피해에 대한 비교교량이 필요하다. 확대되고 있는 무과실책임과 소프트웨어 문제로 인해 발생한 손해의 전보에 대해 고민할 때다. 이를 위한 사회적 합의와 보험제도의 강화는 하나의 대안이 될 수 있다. 그리고 이를 뒷받침할 수 있는 법 제도의 검토가 이루어져야 할 것이다(김윤명·이민영, 2016).


제품의 안전성과 제조물 책임

사업자의 반대 등 많은 논란에도 불구하고 제품의 안정성을 높이기 위해 도입된 법률이 「제조물 책임법」이다. 동법은 제조물의 결함으로 발생한 손해에 대한 제조업자 등의 손해배상책임을 규정함으로써 피해자 보호를 도모하고 국민 생활의 안전 향상 등을 목적으로 한다.

제조물은 제조되거나 가공된 동산(다른 동산이나 부동산의 일부를 구성하는 경우를 포함)이기 때문에 민법상 물건 등의 유체물이나 관리 가능한 자연력으로 한정된다. 따라서 통설적으로는 소프트웨어와 같은 무형자산은 포함되지 않는다. 다만, 일정한 경우로서 소프트웨어가 다른 마이크로칩이나 특정 기기에 내장(embedded)된 형태의 경우에는 제조물로 볼 수 있다는 견해가 유력하다.

결함이란 해당 제조물에 제조상·설계상 또는 표시상의 결함이 있거나, 그 밖에 통상적으로 기대할 수 있는 안전성이 결여되어 있는 것으로 정의된다. 자율주행차의 결함은 자동차 전장은 물론 구동하는 소프트웨어의 결함도 가능하다. 다만, 이를 확인하는 과정이 어렵기 때문에 사실상 무과실책임에 대한 항변이 어려울 수도 있다. “자동차의 급발진 사고는 전자제어장치의 오작동 때문이라는 것이 관련 전문가의 일반적 견해”(김종현, 2013)라고 한다.

자동차 제조상 신기술을 적용함에 있어 독일 연방대법원은 “에어백의 오작동 방지를 위해 한 대체설계가 기술적으로 실현 불가능한 것이었다라고 판단하기 위해서는, 오작동의 위함에도 불구하고 그러한 사이드 에어백을 장착한 자동차를 시장에 공급한 것이 과연 정당한가에 대한 검토와 평가가 좀 더 필요하다”라고 판시했다. 즉, 관련 업계에서 일반적으로 사용되고 있는 기술 수준이 아니라 제조물을 공급할 당시 최상의 과학기술 수준을 고려한 설계를 채용했는지가 기준이 되어야 한다는 것이다(김종현, 2013).


앞으로의 전망

소프트웨어 제조물 책임논의의 통설적 견해는 ‘소프트웨어는 제조물로 보지 않는다. 다만, 소프트웨어가 담겨진 매체의 경우는 인정된다’는 것이다. 현시점에서는 제조물 책임의 범위를 확장시키는 논의가 필요하다. 소프트웨어가 포함되지 않는 제조물이 많지 않기 때문이다. 테슬러 전기자동차는 와이파이(Wi-Fi)로 업데이트된다. 자동차 R&D 비중에서 소프트웨어가 차지하는 비중이 50%를 이미 넘어섰다. 그만큼 소프트웨어는 중요한 요소다.

향후 소프트웨어가 그 자체로 유통되는 경우를 상정하기가 어렵다. 굳이 제조물 책임에 대한 논의에서 물건성을 전제할 필요가 있을지 의문을 갖는 이유다. 당분간만 임베디드 소프트웨어(내장형 소프트웨어)의 제조물 책임을 인정하는 것은 유효할 것이다.

그렇지만 머잖아 소프트웨어가 융합·결합되는 상황에서 임베디드 소프트웨어는 그 개념 자체가 사라질 것이다. 향후 초연결사회가 완숙(完熟)되면 소프트웨어 제조물 책임은 자연스럽게 확장될 것이다. 참고할 만한 법률은 2015년에 통과된 「3차원프린팅산업발전법」이다. 동법에서는 서비스사업자에 대한 제조물 책임의 면책 규정을 두고 있다.

제17조(제조물에 대한 책임 등) 삼차원프린팅서비스사업자는 다음 각 호의 어느 하나에 해당하는 사실을 입증한 경우에는 「제조물 책임법」 제3조에 따른 손해배상책임을 면(免)한다. 다만, 삼차원프린팅서비스사업자가 제조물을 공급한 후에 그 제조물에 결함이 존재한다는 사실을 알거나 알 수 있었음에도 그 결함으로 인한 손해의 발생을 방지하기 위한 적절한 조치를 하지 아니한 경우에는 면책을 주장할 수 없다.
1. 「제조물 책임법」 제4조 제1항 제1호부터 제4호까지의 사실
2. 삼차원프린팅서비스사업자가 이용자로부터 받은 삼차원 도면의 결함으로 손해가 발생했다는 사실
3. 소재나 삼차원프린팅 장비를 제조한 사업자의 설계 또는 제작에 관한 지시 및 사용법을 준수했음에도 불구하고 결함이 발생했다는 사실


3D산업에 제조물 책임이 규정된 것은 입법 취지에서도 명확하게 확인하기 어렵다. 다만, 3D프린팅으로 인해 발생하는 손해에 대해서 구제보다는 사업자의 면책을 확대시켜주려는 의도가 강하다. 이처럼 산업적 대응을 위해 정부는 3D산업에 대한 제조물 책임의 적용을 배제시키는 것이다. 물론, 그 전제는 사업자에게 엄격한 조건을 부여하는 것이다.

소프트웨어가 사용되지 않는 곳이 없기 때문에 제조물의 하자로 인해 발생한 손해배상책임은 확대될 것이다. 이러한 우려 때문에 소프트웨어산업계나 인터넷산업계의 대응이 필요하다. 소프트웨어로 인해 발생하는 제조물 책임에서 고려할 사항은 사업자 간 입증책임의 문제다. 하나의 제조물에 탑재된 소프트웨어가 상이한 개발자 내지 제조자의 라이선스에 기반을 둔 것일 경우에는 서로 상대방의 책임을 주장할 것이기 때문이다. 상대방 소프트웨어의 결함에 대한 책임공방이 확대되지 않을까 싶다. 사업자 간 문제 해결을 위한 제조물 책임 보험이 확대될 가능성도 있다.

안전한 사회를 위해 소프트웨어는 어떤 역할을 해야 할까? 안전이 중요한 사회적 이슈이지만 산업을 벗어나서 생각하기는 어렵다. 다만, 제조물 책임에 대한 논의는 소프트웨어에 대한 가치와 인식을 높이는 계기가 될 것이다. 안전을 보장하기 위해서는 보편적인 기술 수준이 아니라 제조물을 공급할 당시 최상의 기술 수준을 고려한 설계가 이루어져야 할 것이다. 안전하게 통제되지 못하는 기술의 채용은 지양되어야 한다. 기술이 인류에게 재앙을 일으킬지, 재앙을 막을지는 사람의 손에 달려있기 때문이다. 지능형 기술에 대한 의존도가 높아질수록 이용하는 과정에서 사람의 판단이 들어갈 여지는 줄어들게 될 것이다. 사전 설계나 개발 과정에서 윤리적 의식이 중요한 이유다.

 

참고문헌

김종현, 자동차의 전자제어장치의 오작동으로 인한 자동차 제조사의 제조물 책임의 성립 여부, ≪재산법연구≫ 제29권 제4호, 2013
김윤명·이민영, 「소프트웨어와 리걸프레임, 10가지 이슈」, 커뮤니케이션북스, 2016
신봉근, 컴퓨터소프트웨어와 제조물책임, ≪인터넷법률≫, 2005
행정안전부, 국가안전관리 기본계획(2010~2014), 2010

 

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지