1. 오픈소스 소프트웨어 2. 오픈소스 라이선스와 보안취약점 3. 오픈소스와 블록체인의 만남 4. 투명하고 안전하게 오픈소스를 사용하는 방법
스마트폰, 태블릿, TV, IPTV 셋톱박스, 스마트 스피커, 냉장고, 세탁기, 전자레인지, 전기밥솥, 로봇 청소기… 아마도 지금 이 글을 읽고 있는 대부분의 사람들이 일상을 살며 거의 매일 접하는 기기들일 것이다. 이러한 기기들은 다들 알고 있는 것처럼 전 세계 수많은 기업들의 치열한 경쟁을 통해 소비자에게 전달되고 있다. 우리는 수많은 기업들이 개발한 각각의 제품을 비교해보고 자신의 입맛에 맞는 제품을 선택하여 사용하고 있다. 그런데 우리가 늘 사용하고 있는 이러한 기기들을 제조할 때 제작사가 모든 것을 직접 개발하는 것은 아니다. 하청업체에 개발 용역을 줘서 개발한다는 그런 얘기를 하는 건 아니다. 일부는 직접 개발하지만 많은 부분을 다른 사람이 이미 개발해 놓은 코드를 가져다 쓰는 경우가 대부분이다. 어떤 제품은 전체 제품 크기 중 직접 개발한 부분의 비율이 채 5%가 안되는 경우도 있다.
스마트폰을 예로 들어보자. 대부분의 생활가전들이 그렇듯이 스마트폰 역시 하드웨어와 소프트웨어를 결합하여 제작한다. 소프트웨어는 기기를 작동 시키는 운영체계와 다양한 시스템 소프트웨어, 그리고 우리가 흔히 앱이라고 부르는 애플리케이션으로 구성되어 있다. 삼성전자가 제조하여 전 세계를 대상으로 판매하고 있는 갤럭시 시리즈 역시 이 구조를 가지고 있다. 이 갤럭시 시리즈를 우리는 흔히 안드로이드폰이라고 부르고 있다. 안드로이드는 상기에서 언급한 운영체제가 포함된 모바일에 최적화된 플랫폼이다. 갤럭시 시리즈에는 이 안드로이드가 플랫폼으로 사용되고 있고 여기에 다양한 앱들이 포함되어 출시되고 있다. 그런데 이 안드로이드는 삼성도 쓰고 엘지도 쓰고 전 세계 스마트폰을 제조하는 회사들은 너도 나도 다 쓰고 있다. 이 안드로이드폰은 2016년 이세돌 9단과 세기의 대결로 유명한 인공지능 알파고를 개발한 구글이 개발한 소프트웨어다. 그럼 삼성이나 엘지가 ‘구글에 라이선스를 구매하여 사용하고 있나 보다.’라고 생각할 수도 있을 것이다.
그런데 놀랍게도 이 안드로이드 플랫폼은 무료다. 비용이 무료일 뿐만 아니라 플랫폼의 전체 소스코드가 인터넷에 올라가 있고 그마저도 사용 규정만 지킨다면 누구나 자유롭게 이용이 가능하다. 이렇게 소스코드가 공개되어 있고 일정한 규칙만 지키면 누구나 자유롭게 사용할 수 있는 소프트웨어를 ‘오픈소스 소프트웨어’라고 부른다. 정리해보면 삼성 같은 스마트폰 제조사는 구글이 개발해서 배포한 오픈소스 소프트웨어인 안드로이드 플랫폼을 무료로 다운로드하여 하드웨어에 설치하고 다양한 편의 앱 추가, 디자인 등의 작업을 거쳐 시중에 유료로 판매하고 있다는 것이다.
서두에 언급한 태블릿, TV, 셋톱박스, 스마트 스피커 등등 이 모든 장치들에도 사실상 오픈소스 소프트웨어가 탑재되어 출시되고 있다. 앞서 잠깐 언급한 이세돌 9단과 대결을 펼친 인공지능 알파고의 핵심 코드도 역시 오픈소스 소프트웨어이다. 즉, 알파고의 핵심 소스코드들은 인터넷에 올라가 있고 전 세계 수많은 기업, 연구소, 대학 등에서 다운로드 받아 연구용으로, 교육용으로, 실제 제품에 탑재하기 위해 사용하고 있다는 얘기다. 범위를 넓혀 보면, 자동차, 비행기, 심지어 인공위성에도 오픈소스 소프트웨어를 사용하고 있다. 결론적으로 우리가 보고 듣고 사용하고 있는 대부분의 기기들은 오픈소스 소프트웨어를 기반으로 개발되고 있다는 것이다.
그런데 오픈소스 소프트웨어라고해서 그냥 아무렇게나 쓸 수 있는 건 아니고 상기에서 언급하였듯이 일정한 규칙을 준수하며 사용해야 한다. 왜냐하면 소스코드를 공개하여 누구나 무료로 사용할 수 있기는 하지만 이 오픈소스 소프트웨어 역시 저작권으로 보호되고 있기 때문이다. 즉, 이용 규칙을 지키지 않고 사용할 경우 저작권 위반이 된다. 저작권을 위반하면 법적으로 소송을 당할 수 있다는 건 누구나 아는 상식이다. 우리에게 너무나 익숙한 삼성, 한글과컴퓨터 등도 이 오픈소스 소프트웨어를 사용하여 제품을 개발하고 있고 규정을 지키지 않아 법적 소송을 당한 사례도 있다.
그렇다면 오픈소스 소프트웨어를 법적 소송으로부터 자유롭게 효율적으로 이용하기 위해서는 어떻게 관리해야 할까라는 의문이 생길 것이다. 2편에 계속
박준석 / 공학박사
아이즈프로토콜 COO(Chief Open Source Compliance Officer)
출처: https://cobak.co.kr/community/9/post/145244