오픈소스 소프트웨어 라이선스 가이드 3.0 Contents
Total Page:16
File Type:pdf, Size:1020Kb
오픈소스 소프트웨어 라이선스 가이드 3.0 CONTENTS 가이드 제공의 배경 4 CHAPTER 01 SW 지적재산권, 라이선스와 오픈소스 라이선스 7 - 16 1.1. 소프트웨어 지적재산권 8 1.2. 소프트웨어 라이선스 9 1.3. 오픈소스 라이선스 10 CHAPTER 02 주요 오픈소스 라이선스 및 프로젝트 사례 19 - 54 2.1. BSD형 라이선스 및 주요 프로젝트 20 2.1.1. BSD 라이선스 20 2.1.2. Apache 라이선스 21 2.2. GPL형 라이선스 및 주요 프로젝트 25 2.2.1. GPL 2.0 25 2.2.2. GPL 3.0 36 2.2.3. LGPL 39 2.2.4. Affero GPL 43 2.2.5. GPL Exceptions 46 2.3. MPL형 라이선스 및 주요 프로젝트 48 2.3.1. MPL 48 2.3.2. CDDL 49 2.3.3. CPL, EPL 50 2.4. 폰트 라이선스 53 2.4.1. GPL Font Exception 53 2.4.2. SIL Open Font License (OFL) 54 2.4.3. Ubuntu Font License 54 CHAPTER 03 라이선스 확인 방법 57 - 64 3.1. 직접 확인하는 방법 58 3.2. 도구를 이용하는 방법 60 3.2.1. 문자열 검색 도구 60 3.2.2. 코드 스캔 도구 61 3.2.3. 바이너리 스캔 도구 63 | 부록 | 기타 상담 사례 66 OPEN SOURCE 사례들을 구체적으로 다룸으로써 현장감을 살리고자 했다. 아무쪼록 이번 가이드가 우리 SW LICENCE GUIDE 3.0 기업들에게 조금이나마 도움이 될 수 있기를 기대한다. | 오픈소스 소프트웨어 라이선스 가이드 3.0 | 오픈소스에 관한 법적 리스크는 오픈소스 라이선스 위반, 제3자의 지적재산권 침해, 가이드 제공의 배경 자사의 지적재산권 관리에 관한 리스크로 구분할 수 있다. 첫 번째, 라이선스 위반에 관한 리스크는 오픈소스에 관한 가장 기본적인 리스크인데, 오픈소스를 사용하면서 관련 라이선스를 준수하지 않는 경우 오픈소스 커뮤니티로부터 소송을 제기당할 수 있다는 점이다. 예를 들면 BusyBox와 관련하여 국내 대기업을 포함한 전 세계 다양한 기업들이 소송을 제기당한 사례가 대표적이다. 두 번째, 오픈소스 자체가 제3자의 특허권이나 저작권 등 지적재산권을 침해함으로써 발생할 수 있는 리스크이다. 예를 들어 삼성전자와 LG전자가 안드로이드 플랫폼 기반의 스마트폰을 제조하여 판매하고 있는데, 안드로이드 플랫폼이 마이크로소프트 등의 지적재산권을 포함하고 있을 경우 삼성전자와 LG전자가 부담해야 할 리스크이다. 과거에도 BSD, 리눅스, JBoss와 관련된 법적 분쟁들이 있었고, 최근에는 특히 안드로이드 인터넷 서버, 임베디드 분야를 중심으로 꾸준히 성장해 오던 오픈소스 소프트웨어가 플랫폼에 관한 분쟁이 생겨나고 있는 추세이다. 스마트폰 시대를 맞아 그야말로 소프트웨어 세계의 중심부를 점령하고 있다. 하지만 겉보기에 아무 문제없이 순항 중인 것처럼 보이는 분야나 기업에도 언제나 드러나지 않은 세 번째 리스크는 오픈소스를 활용하는 과정에서 자사의 특허권이나 저작권이 영향을 잠재적인 리스크들이 존재하기 마련이며 실제로 이러한 문제들이 표면으로 드러나고 받을 수 있다는 점이다. 예를 들면, 오픈소스를 활용하면서 자사가 수정했거나 새롭게 있다. 작성한 코드를 GPL 등의 오픈소스 라이선스로 배포하게 되면, 해당 코드와 관련된 자사의 특허권이나 저작권에 오픈소스 라이선스가 적용된다. 그 결과 자사의 특허권이나 국내 대기업을 포함한 전 세계 다양한 기업들이 오픈소스 라이선스를 잘못 다루어 소송을 저작권을 경쟁기업들이 무료로 활용할 수 있게 된다. 제기당하는가 하면, 상용 소프트웨어 기업들이 특허권 등을 무기로 오픈소스 진영을 공격하고 있다. 그럼에도 불구하고 소프트웨어가 진화하는 전반적 방향을 되돌리기는 이상과 같은 법적 리스크들은 기업에서 충분히 관리 가능한 리스크들이다. 따라서 경영자 어려워 보인다. 소프트웨어 기반이 없는 국내 기업들의 입장에서는 이와 같은 흐름을 잘 및 관리자들은 오픈소스에 관한 법적 리스크를 이해하고 자사의 리스크를 분석하고 따르면서 오픈소스의 법적 리스크를 최소화하는 것이 최선의 방책일 것이다. 대비책을 마련할 필요가 있다. 오픈소스를 사용할 때 발생하는 리스크는 법적 측면 이외에도 기술적 측면과 사업적 측면에서도 발생하게 된다. 각각의 리스크들이 모두 기업에서 오픈소스에 관한 법적 리스크를 체크하고 분석하는 데 조금이나마 도움을 중요하기 때문에 세부적으로 살펴보는 것도 중요하지만, 특히 CEO 등 경영자, 관리자의 주고자 오픈소스 라이선스 가이드 3.0을 제공한다. 입장에서는 모든 리스크들을 종합적으로 고려하는 시각을 가지는 것도 중요하다. 관리자의 입장에서는 각각의 리스크를 점검하되, 모두를 만족하게 할 수 없는 경우에는 우선순위를 최근 수년간 국내의 오픈소스 환경은 큰 변화를 겪고 있고, 복잡한 라이선스 이슈들도 정할 필요가 있다. 많이 발생하고 있다. 이러한 변화를 수용하여 이번 가이드에서는 활발하게 사용되고 있는 오픈소스 라이선스들에 대해 주요 의무사항, 대표적인 프로젝트, 주요 쟁점 및 고려사항 등을 체계적으로 설명하고자 했다. 아울러 기업의 오픈소스 담당자들이 궁금해 하는 4 5 CHAPTER 01 | 오픈소스 소프트웨어 라이선스 가이드 3.0 | SW 지적재산권, 라이선스와 오픈소스 라이선스 OPEN SOURCE SW LICENCE GUIDE 3.0 OPEN | 01 SOURCE CHAPTER | 오픈소스 소프트웨어 라이선스 가이드 3.0 | 특허기술을 사용하기 위해서는 반드시 특허권자의 허락을 얻어야만 한다. 특허받은 SW LICENCE | OPEN SOURCE SW LICENCE GUIDE 3.0 GUIDE 3.0 방식을 구현하는 소프트웨어라면 프로그래밍 언어에 상관없이 특허권의 범위에 속한다. SW 지적재산권, 라이선스와 오픈소스 라이선스 SW 지적재산권, 라이선스와 상표권(trademark)이란 상표권자가 지정상품에 관하여 그 등록상표를 사용할 독점적인 권리로서 일정한 절차에 따라 등록하여야 효력이 발생한다. 이러한 상표를 사용하기 01 오픈소스 라이선스 위해서는 반드시 상표권자의 허락을 얻어야 하며 허락받지 않고 상표를 이용할 경우 상표권의 침해에 해당한다. 공개되지 않은 소스코드는 영업비밀로서 보호를 받을 수 있다. 하지만 영업비밀은 일단 공개되면 더 이상 보호받기 어렵고, 또한 영업비밀을 알지 못하고 사용한 제3자에게 법적으로 문제를 삼을 수 없다는 한계가 있다. 이상과 같은 지적재산권들 중, 특히 저작권과 특허권을 비교해 보자. 두 권리는 권리의 발생요건, 내용, 효력 면에서 차이가 있기 때문에 주의할 필요가 있다. 예를 들면, 권리의 발생 측면에서는, 저작권은 프로그램을 창작하면서 자동으로 발생하지만, 특허권은 특허청에 출원하여 심사를 받고 등록해야만 권리가 발생하며 그 과정에서 상대적으로 오픈소스 소프트웨어에 관한 법적 리스크를 이해하기 위해서는 소프트웨어에 관한 많은 비용이 소요된다. 하지만 일단 권리가 발생한 후에는 특허권이 저작권보다는 더 강한 지적재산권과 라이선스에 관한 기본적인 개념을 이해할 필요가 있다. 오픈소스 라이선스는 효력을 지니게 된다. 예를 들면 저작권의 경우 코드로 구현된 표현만을 보호하기 때문에 소프트웨어 라이선스의 일종이기 때문이다. 소프트웨어 라이선스의 일반적인 내용을 클린룸(clean-room) 형태로 코드를 작성하는 경우에는 저작권 침해에 해당하지 않지만, 이해하면 오픈소스 라이선스의 특징을 더욱 잘 이해할 수 있다. 일반적인 특징을 이해한 특허권은 기능 자체를 보호하기 때문에 코딩을 다르게 하더라도 동일한 기능을 사용하는 후에는 오픈소스 라이선스 각각의 세부적인 쟁점들을 검토할 필요가 있다. 한 침해에 해당한다. 1.1. 소프트웨어 지적재산권 [ 저작권과 특허권의 비교 ] 프로그램 저작권 특허권 소프트웨어를 보호하는 법적 장치, 즉 소프트웨어에 관한 지적재산권으로는 저작권, 권리 발생 창작과 동시에 발생 특허출원, 심사, 등록 특허권, 상표권, 영업비밀 등이 있다. 인격권 (공표권, 성명표시권, 동일성유지권) 권리 내용 독점배타적 실시권 재산권 (복제권, 개작권, 배포권, 전송권) 저작권(copyright)은 창작물에 대하여 창작자(저작자)가 취득하는 권리로서 창작의 효력 범위 표현(코드)의 실질적 유사성 아이디어(알고리즘, 기능)의 동일성 결과물을 보호하며, 창작과 동시에 권리가 발생한다. 따라서 어떤 프로그래머가 소프트웨어를 개발하면 저작권이 자동으로 발생하며, 그 권리는 프로그래머 또는 그가 속한 회사에 부여된다. 저작권이 있는 저작물은 저작권자의 허락이 없이는 누구도 해당 1.2. 소프트웨어 라이선스 저작물을 복제, 배포, 수정할 수 없다. 소프트웨어에 대한 독점 배타권을 가진 권리자는 다른 사람들이 해당 소프트웨어를 특허권(patent)은 발명에 관하여 발명자(특허권자)가 갖는 독점배타권이다. 저작권과는 사용하거나 배포하는 것을 허락할 수 있다. 일반적인 상용 소프트웨어는 그 대가로 달리 일정한 방식으로 출원해야 하며, 심사를 통과한 후 등록되어야만 권리가 발생한다. 8 9 OPEN | SOURCE 로열티를 요구한다. 국내에서 활용되는 소프트웨어 라이선스계약에는 일반적으로 저작권, 개발자 및 기여자 정보의 표시 01 SW LICENCE | OPEN SOURCE SW LICENCE GUIDE 3.0 GUIDE 3.0 계약의 목적, 정의조항, 실시권의 설정, 계약 기간, 로열티, 기록의 보관 등에 관한 간단한 대부분의 오픈소스 라이선스는 개발자 또는 기여자에 관한 사항과 저작권에 관한 사항을 SW 지적재산권, 라이선스와 오픈소스 라이선스 내용만이 포함되어 있다. 그런데 미국의 소프트웨어 라이선스 계약서 내용을 보면 매우 제품에 표시하거나 포함하도록 요구하고 있다. 마치 저작인격권의 하나인 성명표시권과 상세한 내용을 담고 있다. 소프트웨어 계약은 다른 분야에 비해 상대적으로 역사가 유사하다. 길지 않아서 업계의 표준 관행이나 판결 등 분쟁해결의 기준이 명확하지 않다. 그래서 당사자들은 되도록 상세한 규정을 두고 싶어 하기 때문에 계약서 내용이 상세해지게 된다. <Apache 2.0> 3. You must retain, in the Source form of any Derivative Works that You 일반적인 상용 소프트웨어 라이선스의 주된 내용은 권리자가 사용자에게 라이선스를 distribute, all copyright, patent, trademark, and attribution notices from the 부여하고 사용자는 그 대가를 지급하는 것으로 구성되어 있다. 이렇게 거둬들인 수입으로 Source form of the Work. 권리자는 이익을 남기고, 또 일부는 R&D 자금으로 재투자하여 소프트웨어의 성능을 개선하거나 새로운 소프트웨어를 개발하게 된다. 오늘날 대부분의 소프트웨어 기업들이 이러한 비즈니스 모델을 가지고 있다. 코드를 수정한 경우 수정한 정보의 표시 이용자가 소스코드를 수정하였을 때에는 수정한 사람, 수정 일자 등 수정에 관한 1.3. 오픈소스 라이선스 내용을 포함하도록 함으로써, 원본과 구별할 수 있도록 한다. 저작인격권의 하나인 동일성유지권에 비유할 수 있다. 그렇다면 오픈소스 라이선스들은 일반적인 소프트웨어 라이선스와 어떻게 다른가? 일반 상용 소프트웨어와 마찬가지로 오픈소스에도 저작권 등 지적재산권이 있다. 그래서 <Apache 2.0> 권리자의 허락 없이 함부로 사용하면 소송을 당할 수 있다. 그런데 오픈소스의 권리자들은 2. You must cause any modified files to carry prominent notices stating that 되도록 많은 사람이 자유롭게 사용할 수 있도록 광범위한 라이선스를 부여하고 있다. You changed the files. 예를 들어 사용자들에게 사용에 대한 권리뿐만 아니라 마음대로 복제 및 배포를 할 수 있도록 하고, 소스코드까지 제공하여 마음대로 수정할 수 있도록 허락한다. 하지만 상용 소프트웨어처럼 그에 따르는 로열티를 요구하지는 않으며, 대신 몇 가지 지켜야 할 라이선스 정보의 제공 의무사항을 요구한다. 구체적인 예를 통해 몇 가지 의무사항을 살펴보기로 하자. 많은 오픈소스 라이선스들은 이용자들이 오픈소스에 관한 권리를 잘 이해할 수 있도록 배포자가 해당 라이선스의 사본을 함께 첨부할 것을 요구하고 있다. <Apache 2.0> 1. You must give any other recipients of the Work or Derivative Works a copy of this License. 동일한 라이선스로 재배포할 것 (카피레프트) 라이선스에 따라 큰 차이를 보이는 부분은 ‘카피레프트(Copyleft)’1)에 관한 사항이다. [ 오픈소스 라이선스 모델 ] 1) 카피레프트(Copyleft)라는 용어는 원래 저작권(Copyright)에 반대한다는 의미로 “Copy-right”에서 “right” 대신 “left”로 바꾸어 사용하기 시작한 것이다. 그런데, FSF가 말하는 “소프트웨어의 자유”를 지키기 위한 구체적인 수단이 GPL이며, 그 중에서도 핵심적인 내용은 파생저작물을 GPL로 재배포할 것을 요구하는 조항이기 때문에, 보통 이 조항을 가리켜 카피레프트 조항이라고 부르고 있다. 10 11 OPEN | SOURCE GPL을 대표로 하는 카피레프트 라이선스들은 이용자들이 소프트웨어를 수정한 후 01 SW LICENCE | OPEN SOURCE SW LICENCE GUIDE 3.0 GUIDE 3.0 배포하고자 할 때 수정된 소프트웨어도 동일한 라이선스로 배포할 것을 요구한다. SW 지적재산권, 라이선스와 오픈소스 라이선스 <GPL 2.0> You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, … provided that you also meet all of these conditions: b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be [ 삼성전자의 소스코드 제공 사이트 ] licensed as a whole at no charge to all third parties under the terms of this License.