IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
한국 developerWorks   >  Special Issue  > developerworks

초보 개발자를 위한 오픈 소스 라이선스 길잡이 Part 1: 기초 개념 탑재하기



정재훈정재훈 psearcher@kipo.net

특허청에서 소프트웨어 및 전자상거래 특허 심사를 하였고, 컴퓨터 관련 발명 심사기준 개정을 담당하였다. 현재는 특허법원의 심결취소 소송에서 특허청을 대리하는 특허 소송 수행 업무를 맡고 있다. 소프트웨어 특허 정책 분야에 전문가로 참여했으며, 특허 소송 및 소프트웨어 보호 법제 분야 등에 관심을 가지고 있다.




2007년 10월 23일


소프트웨어의 태동기에는 특별한 용도에 사용되는 하드웨어에 소프트웨어가 함께 넣어져 판매, 설치되었고 하드웨어 가격이 너무 비싸 소프트웨어가 별도로 독립된 경제 재화로서 가치를 인정받지 못하였다. 그러나 1969년 IBM이 하드웨어와 소프트웨어를 분리한(unbundling) 것을 계기로 비로소 소프트웨어가 하나의 독립된 경제 가치를 부여 받고 소프트웨어 산업이 등장하게 되었다.
소프트웨어는 원본과 복제물의 성능이 완벽하게 같고, 일단 복제되어 시장에 빠르게 유포되면 개발사는 투자 비용을 회수도 못하는 특성이 있다. 이에 복제 행위를 방지하는 취지의 법적 규제가 중요한 쟁점이 되었고, 이러한 보호의 관점에서 소프트웨어의 지적 재산권은 주로 저작권과 특허권에서 발전했다. 보호 관점의 법제는 사용권만을 부여하고 재배포나 변경을 금지하는 독점 라이선스와 맥락이 같다.
인터넷 기술 발전과 보급으로 많은 정보를 쉽게 취득할 수 있게 되었고, 취득한 정보를 바탕으로 새로운 정보를 만들어내기가 더욱 쉬운 상황이 되고 있다. 소프트웨어의 경우도 개발시 알려진 여러 소스코드를 이용하여 제품을 쉽게 개발할 수 있는 환경이 제공된다. 이렇게 공중(public)에 기여된 정보를 이용하면 개발 비용과 기간이 줄어든다는 장점이 있다. 특히, 리눅스의 성공은 이러한 정보 공유가 보호를 강하게 하는 것보다 사회 전체의 측면에서 긍정적이라는 논거가 되어, 기존의 보호 관점에서 발달한 소프트웨어의 지적 재산권에 대해 많은 비판과 논란을 가하고 있는 상황이다.
개발이 다 된 상황에서 개발사가 기여자의 위치에서 자신의 제품을 공중에 기여하는 것은 쉽지 않은 일이다. 현재 공중에 기여되어 알려진 소스코드는 오픈 소스 라이선스가 적용된 경우가 대부분이다. 이러한 오픈 소스 라이선스는 정보 공유 및 확산을 목적으로 하고 있어, 이용된 오픈 소스가 자신의 제품 개발에 큰 역할을 했으면 기여자로서 자신의 제품 정보도 공개할 것을 라이선스의 주요 목적으로 하고 있다. 다음 회에서 연재되겠지만 오픈 소스 라이선스에는 여러 종류가 있고 각기 자신의 개발 제품을 어느 정도까지 공개해야 하는지 그 정도의 차이가 구분의 핵심이라고 할 수 있다.
이번 회에서는 우선 소프트웨어의 특성과 보호의 관점에서 발달한 저작권과 특허권의 특징을 비교하고 독점 라이선스와 오픈 라이선스의 개념적 차이에 대해 설명하기로 한다.



위로



소프트웨어의 특징과 권리 관계

소프트웨어의 특징과 법적 보호 대상

소프트웨어 개발 과정을 보면, 먼저 의도하고자 하는 기능을 플로우 차트(flow-chart) 형식으로 설계한다. 그 후에 이를 컴퓨터 프로그래밍 언어로 코드를 짜는 작업을 하고 컴퓨터가 직접 실행을 할 수 있는 기계어 코드인 실행 코드로 변환하는 컴파일(compile) 작업을 거친다. 기능을 여러 요소로 나누어 분담 작업을 하는 경우가 대부분이다. 물론 컴파일시 오류(bug)가 생겨 이를 수정하기 위한 수많은 피드백 작업이 필연적으로 따른다. 따라서 소프트웨어를 개발하면 결과물로 알고리즘을 기술한 플로우 차트, 컴퓨터 프로그래밍 언어로 기술된 소스코드 및 직접 실행이 가능한 기계어 코드가 나온다.
이 중, 소스코드와 기계어 코드는 목적한 기능을 표현한 것이므로 프로그램 저작권의 대상에 해당한다. 그리고 플로우 차트는 알고리즘에 해당하나, 이것이 기존에 알려진 것보다 독특한 알고리즘이어서 좋은 효과가 있다면 특허로 출원하였을 경우 특허를 받을 수 있다. 실행 코드는 판매 대상이므로 비밀의 대상이 될 수 없으나, 플로우 차트나 소스코드는 개발자 측에서 비밀로 간직할 수 있다. 그렇게 되면 이들을 영업비밀로 보호 받을 수 있다.


특허와 저작권

우선, 특허 보호에 어떠한 특징이 있는가를 살펴보면 특허 보호를 받으려면 특허청에 출원하고 심사를 받아 등록을 받아야만 한다. 또한 특허권은 속지주의이므로 다른 나라에서도 특허권을 받으려면 반드시 그 나라의 특허청에 출원하고 심사를 통해 등록을 받아야만 한다. 그리고 심사를 받을 때, 출원 전에 이미 같은 것이 존재하거나, 출원된 발명이 이미 존재하는 것에 비해 사소한 개량 정도밖에 되지 못하면 등록을 받을 수 없다.
특허권이 발생하면, 다른 사람이 우연히 특허 발명과 동일한 것을 만들더라도 특허권 침해에 해당하는 절대적인 효력을 특허권자에게 부여한다. 이러한 특허권은 존속 기간이 영구한 것이 아니라 출원일로부터 최장 20년이다. 존속 기간 내에는 연차등록료를 계속 내야 최장 20년까지 보호를 받을 수 있다. 중간에 연차등록료를 내지 않으면 특허권은 소멸하는 특징이 있다.
이에 비해 저작권 보호에는 별도 출원이라는 절차가 필요 없다. 1 저작권은 창작하면 바로 권리가 발생하고 존속기간도 별도 비용 필요 없이 사후 50년으로 정해져 있다. 또한 저작권 국제조약으로서 다른 나라에서도 저작권 효력을 주장할 수 있어 국제주의적인 효력이 있다. 그리고 다른 사람의 것을 의도적으로 모방하여 베낀 것이 아니라면 저작권이 발생하기 때문에, 우연히 동일하게 창작을 했다면 같은 권리가 이중으로 발생하는 특징이 있어 저작권 침해를 주장할 수 없다.
특허는 알고리즘에 관한 것을 보호하므로 보호받는 범위가 넓다. 알고리즘이 같다면 어떤 컴퓨터 언어로 표현되었는지에 상관없이 침해로 규율할 수 있기 때문이다. 그리고 다른 사람이 특허를 보고 모방하여 베꼈는지 우연하게 비슷한 것을 만들었는지 여부를 상관하지 않는 장점이 있다. 그러나 출원 및 등록유지 비용이 든다는 점이 단점이다.
이에 비해 저작권은 알고리즘이 표현된 것을 보호하므로 보호받는 범위가 좁고 프로그램 저작물을 의도적으로 보고 베꼈다는 것도 따져봐야 한다는 단점이 있다. 그러나 사후 50년이라는 장기간의 보호와 권리 비용이 없다는 점이 장점으로 볼 수 있다.
특허법과 컴퓨터 프로그램 보호법은 모두 독점권을 핵심으로 하나, 예외적인 경우에는 침해로 보지 않는 규정을 모두 가지고 있다. 특허법에서는 연구 또는 시험 목적으로 사용하거나 비사업적으로 사용하는 것이면 설령 특허와 동일한 것을 사용해도 침해가 되지 않는다. 이와 비슷하게 컴퓨터 프로그램 보호법에서도 특정 교육 기관의 수업용 또는 교과서 게재, 개인적 사용 등의 경우에는 저작권 침해가 되지 않는 것으로 규정하고 있다.
저작권은 알고리즘을 컴퓨터 언어로 표현된 것을 보호하는데, 컴퓨터 프로그래밍 언어로 표현된 소스코드만을 보호하는 것이 아니라, 상기 소스코드를 0과 1로 구성되는 기계어로 표현한 실행 코드도 당연히 보호 대상이 된다.
특허권자와 저작권자 모두 민사적으로는 침해자에게 해당 침해 행위의 금지 및, 침해 행위로 발생한 손해배상을 청구할 수 있다. 또한, 형사적으로도 경찰이나 검찰에 고발하여 침해자가 형사 처벌을 받게 할 수도 있다.


영업비밀

많은 소프트웨어 개발 업체는 새로운 프로그램을 개발하고 이를 판매할 때 실행 코드만을 판매한다. 소스코드가 공개되면 경쟁업체가 해당 제품을 쉽게 분석할 수 있기 때문에 소스코드는 비밀로 한다.
소스코드를 회사 내에서 비밀로서 체계적으로 관리하였다면, 해당 소스코드는 영업비밀로서 보호를 받는다. 따라서 이를 누군가 외부로 빼돌리거나 하면 법적으로 빼돌린 자에게 민사적으로는 손해배상을 청구할 수 있고 형사적으로 고발하여 빼돌린 자가 형사 처벌을 받게 할 수 있다. 그러나 빼돌린 자에게 손해배상을 할 재산이 없으면 피해를 보상 받을 수가 없고, 일단 유출된 이상 그 피해를 회복하는 것은 사실상 어렵기 때문에 효과적인 권리 보호라고는 볼 수 없다.
따라서 소스코드를 비밀로 관리하였으나 이것이 외부로 빼돌려져 무단 복제되어 쓰인다면 대세적 권리인 저작권이나 특허권을 행사하여 더 이상의 무단 복제를 막는 것이 효과가 있다고 볼 수 있다.



위로



소프트웨어 라이선스

라이선스 체결 과정

라이선스는 계약이므로 체결이 유효해야 한다. 현재 기업과 체결하는 소프트웨어 라이선스에는 당사자끼리 만나서 계약을 체결하므로 별문제가 없겠지만, 제품을 개인적으로 구매하는 경우에는 라이선스 계약이 과연 체결된 것인가에 의문이 존재한다.
프로그램 CD를 구매하고 이를 뜯으면 계약 체결로 보는 슈링크 랩(shrink wrap) 라이선스가 대표적이다. 미국에서는 이를 인정하지 아니하면 일일이 만나 계약을 체결해야 하므로 이를 인정하는 것이 거래 비용이 감소하여 소비자에게 저렴한 가격에 공급할 수 있어 긍정적이라고 판단한 사례가 있어 유효한 것으로 보고 라이선스를 준수하는 것이 타당하다.


독점 라이선스

독점(proprietary) 라이선스는 대부분 소스코드를 공개하지 아니한 채로 실행 코드만을 시장에 공개할 때 사용하는 라이선스로서 해당 코드의 재배포를 금하는 형태다. 예를 들어 MS 윈도우를 구입, 사용할 때 적용되는 라이선스의 핵심 내용은 구매자만이 해당 프로그램을 사용할 수 있고, 이를 타인에게 배포해서는 안 된다는 것이 핵심 내용이다.
물론 해당 실행 코드를 변경하거나 개량하는 것도 금지하고 있다. 이를 어기면 라이선스 위반이 되어 계약법적으로 손해배상 책임이 발생할 수 있고 라이선스가 소멸되는 바람에 적법한 사용자가 되지 않아 해당 프로그램에 존재하는 특허 및 저작권 침해도 된다.
또한 소프트웨어가 포함된 하드웨어를 함께 구입하는 경우도 있다. 이 때 포함된 소프트웨어는 해당 하드웨어에서만 사용할 수 있고 다른 하드웨어에서 사용하는 것을 금하는 형태의 라이선스도 존재한다. 이는 하드웨어 판매가에 소프트웨어 라이선스 가격이 포함된 형태라 볼 수 있고, 해당 소프트웨어의 재배포를 금하는 것이므로 역시 독점 라이선스에 해당된다.
요약하면, 독점 라이선스는 소프트웨어 구매자에게 단지 사용할 수 있는 권리만을 부여하고 배포나 변경을 금지한 형태라 할 수 있다.


오픈 라이선스

소스코드를 공개하지 않고 실행 코드만을 판매하여 시장에 공개하는 방식은 후발 업체가 해당 제품을 분석하기 어렵게 함으로써 시장에서 주도권을 오래 가지려고 하는 것을 목적으로 하지만 오픈 라이선스는 사용자가 독점 라이선스가 주는 제약을 받지 않고 소스코드를 자유롭게 살펴 볼 수 있고 이용, 복제, 개작, 재배포 할 수 있게 하는 데 목적을 두고 있다.
오픈 라이선스에는 여러 가지 종류가 있지만 전세계적으로 가장 큰 비중을 차지하는 것은 GNU GPL(General Public License)이다. GPL의 대표적인 특징은 GPL이 적용된 소스코드를 개량하여 제작한 프로그램을 배포할 경우에는 개량된 프로그램의 소스코드를 동일한 라이선스, 즉 GPL로 공개해야 한다는 것이다. 이를테면 GPL이 적용된 특정 모듈 A의 소스코드를 자신의 개발 제품에 밀접하게 2 이용하여 A+B 제품을 만들어 외부에 배포할 경우, A+B 제품의 소스코드를 GPL로 공개해야 한다. GPL은 이와 같은 특성 때문에 소프트웨어가 변경, 개발되면서 특정인의 독점권이 존재할 수 없게 된다.
만약 외부 판매시 소스코드를 공개하지 않는다면 어떻게 될까? 모듈 A의 소스코드에 적용된 GPL을 지키지 않아 계약 위반이 되어 계약 불이행으로 인한 책임을 질 수 있고, 계약이 실효되어 정당한 이용자가 되지 못하는 관계로 모듈 A의 소스코드에 대한 저작권 침해가 될 수 있다.
물론 공개된 소스코드를 이용해 새로운 것을 만든 후 외부에 배포하지 않고 자신만이 사용하는 것이라면 소스코드를 공개하지 않아도 무방하다. 또 GPL 이외의 다른 오픈 라이선스들의 경우 개작한 소스코드를 반드시 공개할 것을 요구하지 않기도 하므로 해당 오픈 라이선스들의 내용을 꼼꼼히 살펴볼 필요가 있다.



위로



맺음말

   소셜 북마크

   mar.gar.in mar.gar.in
    digg Digg
    del.icio.us del.icio.us
    Slashdot Slashdot


지금까지 소프트웨어에 대한 보호 법제인 저작권과 특허에 대해 주요 차이점을 설명하였고, 보호적 측면의 독점 라이선스와 이용적 측면의 오픈 라이선스의 주요 개념을 설명하였다.
다음 회에서는 많은 논란과 관심이 주목되고 있는 오픈 라이선스의 특징, 주요 내용, 권리 관계 등에 살펴보겠다.



위로


1 창작한 프로그램을 정보통신부 산하 프로그램 심의 조정위원회에 등록할 수 있으나, 이는 추후 분쟁 발생시 자신의 창작일 입증을 쉽게 하기 위한 목적과 프로그램을 다른 사람에게 양도할 때 권리 관계를 명확하게 하기 위한 목적으로 사용되는 것이지, 권리 발생과는 관련이 없다.

2 얼마나 밀접하게 이용해야 개량된 프로그램에 GPL이 적용되는지에 대해서는 많은 논란이 있다.



[지난 Special Issue 보기]

사이트 여행

dW 커뮤니티
포럼 | 블로그 | Spaces
dW Student Community

로컬 컨텐츠

행사 및 세미나

기획 기사

개발자 입문

튜토리얼 및 교육

TOP 10 인기자료

SW 다운로드

RSS 피드

뉴스레터
  
자바스크립트가 작동이 중지되었습니다. 이 기능을 수행하시려면 브라우저에서 자바스크립스트를 작동시켜 주시거나 이곳을 클릭해주세요.
Special offers
Screencast
IBM SOA Sandbox 시험판
dW Student Community
로보코드
코드 트레이닝


    IBM 소개 개인정보 보호정책 문의