오픈소스라이선스 Black Duck Software Korea
목차 1. OSS 개념및라이선스이해 2. OSS 관리와위반사례 3. Black Duck Protex 를이용한라이선스검증
오픈소스의정의 1. OSS 개념및라이선스이해 오픈소스와상용소프트웨어의가장큰공통점은저작권이있다는것 다만, 저작권리의행사방식이가장큰차이점이며일반적인오픈소스저작권자들은소스코드를공개하고누구나복제, 설치, 사용, 변경, 재배포가가능하도록저작권리를행사하고있음 일반적인오픈소스코드 See http://www.astray.com/acmemail/ acmemail is Copyright (c) 1997-2000 Leon Brocard. All rights reserved. portions Copyright (c) 2001 Peter Watkins You may distribute acmemail under the terms of either the GNU General Public License as published by the Free Software Foundation (either version 2 of the License or at your option any later version) or the Artistic License. You should have received a copy of both licenses along with this program. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License For more details. Version: see acme_version() in AcmemailConf.pm Include any library directories use lib '.'; #use lib '/lib/place ;
Open Source Initiative 오픈소스정의 1. OSS 개념및라이선스이해 자유로운재배포 원시코드제공 파생저작물 저작자의소스코드원형유지 : 최초원시코드 & 패치 개인및단체에대한차별금지 사용분야에대한차별금지 http://opensource.org/ 17년현재 Apache, MIT 등총 78개의 OSI 인증라이선스 라이선스의배포 특정제품에만유효한라이선스금지 다른소프트웨어를제한하는라이선스금지 라이선스의기술중립성
상용 (Proprietary) vs 오픈소스라이선스들 1. OSS 개념및라이선스이해 상용라이선스들 : 사용자는소스코드를배포하지않음 Microsoft Office 는비공개상용라이선스 오픈소스라이선스들 : 사용자는소소코드를배포해야함 관대한 (Permissive) 라이선스들 : 사용자는오픈소스컴포넌트를탑재할수있으며, 사용자의코드는상용비공개로사용할수있음 Apache. BSD 상호기여 (Reciprocal) 라이선스들 : 사용자는오픈소스컴포넌트를탑재할수있으며, 사용자의코드는오픈소스가되어야함 GPL, LGPL
라이선스개념분류 1. OSS 개념및라이선스이해 Free Software 프로그램을실행할수있는자유 프로그램을채택하고연구할수있는자유 프로그램을재배포할수있는자유 오픈소스와비오픈소스의차이 프로그램을개선할수있는자유 Richard Stallman, 1983 Non-Open Source Software Open Source Software Open Source Software 개발되는방식에초점을두는실용적접근 산업계는물론이고개발자에게도경제적인보상을할수있어야한다고주장 보는눈만많다면, 어떤버그라도쉽게잡을수있다 " Eric Raymond, 1998
라이선스양립성 (Compatibility) 1. OSS 개념및라이선스이해 서로다른라이선스의조합일경우 - 각각의오픈소스라이선스의무사항이서로상충하여양립할수없다면, 배포가불가능함 GPL 2.0 MPL 1.0(Mozilla public License) 다른소스코드와결합하여사용할경우수정된 MPL 파일을반드시 MPL 과동일한조건으로공개 + = GPL 2.0(General public License) 다른소스코드와결합하여사용할경우결합하는모든소스코드를 GPL과동일한조건으로공개 MPL 2.0 의경우 secondary License 를 GPL 로정의하여 GPL 로확대가능
라이선스공통의무사항 1. OSS 개념및라이선스이해 전세계 2,500 여종의 OSS 라이선스는공통적인의무사항의조합으로구성되어있음 라이선스의특징및의무사항 BSD Apache GPL2 GPL3 LGPL2 MPL CDDL CPL/ EPL 복제. 배포. 수정의권한허여 배포시라이선스사본첨부 저작권고지사항또는 Attribution 고지사항유지 배포시소스코드제공의무 (Reciprocity) 와범위 조합저작물 (Larger Work) 작성및타라이선스배포허용 * * * file file Module 수정시수정내용고지 명시적특허라이선스의허여 라이선시가특허소송제기시라이선스종료 이름, 상표, 상호에대한사용제한 보증의부인 책임의제한 *GPL : 수정및사용된파일, 라이브러리, Shared Memory 형태로결합된프로젝트 *LGPL : 수정및사용된파일형태로결합된프로젝트
오픈소스라이선스확인방법 1. OSS 개념및라이선스이해 예 ) Github repository LICENSE file, README.md 등의파일에라이선스를고지
오픈소스라이선스확인방법 1. OSS 개념및라이선스이해 예 ) Homepage
목차 1. OSS 개념및라이선스이해 2. OSS 관리와위반사례 3. 라이선스 FAQ
OSS 라이선스위반 (License Conflict) 2. OSS 관리와위반사례 해결방법위반피해위험심각도 소프트웨어공개, 합의 코드공개를통한대외비및지적재산누출, 때로는해당사업철수, 리콜, 손해배상등의불이익을당하게됨 매우심각 충돌부분삭제 기능상오류가발생하게되어품질테스트를통과하지못하거나재개발등으로인한출하시간저하 매우심각 실패비용 상용제품으로대체 현재까지투입된비용이낭비되며상용제품구입비용과 customization 비용이추가로발생함 매우심각 라이선스대체충돌이발생하지않는라이선스로대체양호 재개발 라이선스나특허에위반되지않도록다시프로그램을작성함 양호 예방비용
OSS 라이선스위반시법적효과 2. OSS 관리와위반사례 OSS 라이선스를위반하게되면민사상손해배상, 형사고소와조직에있어서의다양한손해를야기시킴 민사상손해배상 저작권침해금지가처분 : 보전의필요성소명 기타손해 기업평판, 서비스정지, 대체비용등 형사고소 FTA 이후부분적비친고죄화 영리목적 OR 상습적 양벌규정 행위자를처벌하는외에그행위자를사용하는법인의대표자나법인도처벌가능 위반행위를방지하기위해상당한주의와감독을하였음을입증 [ 출처 : 한국오픈소스 SW 법센터 ]
Use Case ( 라이선스사용고지 ) 2. OSS 관리와위반사례 Text 고지방식 홈페이지링크방식 13
OSS 라이선스주요위반사례 2. OSS 관리와위반사례 엘림넷 v. 하이온넷 엘림넷의핵심솔루션인패킷병합모듈 ETUN 의개발에관여한 R&D 팀, 기술운영팀, 영업팀의 9 명이경쟁사인하이온넷으로이직하여 ETUN 을토대로한프로그램 (HL) 을개발하여엘림넷과동일한사업을시작 엘림넷이하이온넷을상대로부정경쟁방지및영업비밀보호에관한법률위반으로형사소송, 저작권침해가처분으로민사소송을제기함 소송의핵심대상인 ETUN 이 GPL 라이선스인 Vtun 을모방한것이밝혀짐 FSF 는서울중앙지방법원에엘림넷과하이온넷모두 GPL 을위반했고따라서, 영업비밀은해당되지않음을제안 서울중앙지방법원은 FSF 의의견에도불구하고 ETUN 의영업비밀에해당되는부분을인정 (2005.9) 이후 FSF 는엘림넷과하이온넷을상대로 GPL 라이선스인 Vtun 의저작권위반과관련하여저작권자들을대표하여이의제기 엘림넷과하이온넷은향후 GPL 준수를약속하고해당소프트웨어에대한소스전체를공개 쟁점및시사점 : - 국내최초의 GPL 라이선스관련소송사건 - 경쟁사간의법정소송으로서지적재산권에대한자산관리필요성인식의계기 - 법원결과와관련없이양사모두소송을통해원하는결과를얻지못했으며, 사건의핵심솔루션에대한소스가 GPL 임을인정하고, 엘림넷과하이온넷은공개사과문을발표하였고 GPL 규정에따라공개 - 홈페이지를통해소스전체를공개하였음
OSS 라이선스주요위반사례 2. OSS 관리와위반사례 게임플랫폼 일본 LEAF 사 GPL 위반사건 2005 년일본 LEAF 사게임오프닝화면에 Xvid(MPEG4 Codec Lib) 무단사용적발 회사홈페이지에 Xvid 측사과문게재, 자사의게임소스코드전면오픈 일본게임 ICO GPL 위반사건 2007 년 Sony PS2 명작게임 ICO 에 GPL librac 무단사용적발 (Disassembler Tool) 전체소스코드오픈
목차 1. OSS 개념및라이선스이해 2. OSS 관리와위반사례 3. Black Duck Protex 를이용한라이선스검증
클라이언트소프트웨어설치 3. Black Duck Protex 를이용한라이선스검증 클라이언트소프트웨어다운로드 http://protex.blackducksoftware.co.kr 로접속한후로그인합니다. 오른쪽상단에위치한로그인계정클릭 > Tools 를클릭합니다. Protex Client Software 로이동합니다. PC 환경에맞는 Client Software 를 Download 합니다.
클라이언트소프트웨어설치 3. Black Duck Protex 를이용한라이선스검증 Protex 클라이언트소프트웨어설치 다운받은파일압축을풀고 blackduck-client-windows.exe 을실행하여설치합니다. 그림 1-5. Protex Client Software 설치
프로젝트등록 3. Black Duck Protex 를이용한라이선스검증 Client Tool 로 Protex 접속 시작 > 모든프로그램 > Black Duck Software > Protex 실행 http://localhost:9000 으로웹브라우저에서접속합니다. 웹브라우저는인터넷익스플로어가아닌크롬이나파이어폭스를권장합니다.
프로젝트등록 3. Black Duck Protex 를이용한라이선스검증 프로젝트등록 MY PROJECTS > Create project 버튼을클릭합니다. 파일시스템 Local 에서소스가위치한경로를선택후 Project Name 란에고유한프로젝트명을입력하고 save 를클릭합니다. 프로젝트라이선스는 Open Source 를선택하거나 Select License 에서프로젝트에적용될라이선스를선택합니다. ex) 예를들어프로젝트를 Apache License 2.0 으로공개할경우 Apache License 2.0 을선택합니다. 라이선스명은 full name 으로입력합니다. GPL(X) GNU General Public License v2.0(o)
프로젝트분석 3. Black Duck Protex 를이용한라이선스검증 프로젝트분석 Manage > Analysis 를선택합니다. Source Location 에서소스파일의경로를확인후 Analyze Now 버튼을클릭하여분석을진행합니다.
프로젝트분석 3. Black Duck Protex 를이용한라이선스검증 프로젝트분석 분석은 Initializing > Scanning > Analyzing 의 3 단계로진행됩니다. 분석이완료되면 OK 버튼을클릭합니다. 그림 3-5. Project 분석진행 그림 3-6. Project 분석완료
FAQ 검증대상 3. Black Duck Protex 를이용한라이선스검증 KnowledgeBase 모든컴포넌트는 Code Prints 로서저장됨 소스및바이너리로부터 CodePrint 추출 소스파일 파일매치 & 부분매치 : 파일하나의매치율에따라 CodePrint 생성 *.c, *.java, *.pl, etc 85 억개이상의 CodePrint DB 를사용하여부분매치의코드를발견 파일전체일치에대한 CodePrint 바이너리파일 파일매치 : 파일 1 개에하나의 CodePrint 생성 라이브러리, 클래스파일, 실행파일, 아카이브, 등 부분일치에대한 CodePrint
FAQ 검증대상 3. Black Duck Protex 를이용한라이선스검증 분석된프로젝트에서오픈소스와매치되는각각의파일들에대해매치되는오픈소스컴포넌트리스트확인
FAQ 라이선스충돌원리 3. Black Duck Protex 를이용한라이선스검증 2,400 개의라이선스에서요구하는의무사항들을 21 개의속성으로분류하여라이선스충돌여부확인 Apache 2.0 License (partial) GPL 2.0 License (partial)
FAQ 라이선스충돌원리 3. Black Duck Protex 를이용한라이선스검증 KB안에있는라이선스들은일련의속성들로구성되어있음 속성들은다음과같은영역을포함 : 코드를수정, 복사, 역공학할권리 보증과배상요건 변경사항고지 예제 : 소스코드배포
FAQ 라이선스충돌원리 3. Black Duck Protex 를이용한라이선스검증 프로젝트라이선스 vs 검증된오픈소스라이선스 GPL 3.0 License License Conflict Proprietary Commercial License
FAQ 라이선스선택 3. Black Duck Protex 를이용한라이선스검증 프로젝트의성격에맞는라이선스를결정하지못했을경우 1. 프로젝트라이선스를 Open Source로적용 2. 검증결과에따라프로젝트성격을결정 (permissive / copyleft) 3. 프로젝트라이선스재정의