개발자가알아야할공개 SW 라이선스 ( 주 ) 중외정보기술박수홍 W.Agnecy 사업본부장
목차 1. 라이선스관점공개 SW 정의 1.1 공개SW 정의 1.2 공개SW 연대기별연혁 1.3 라이선스관점의특징 2. 공개 SW 계약형태 2.1 공개SW 라이선스용어 2.2 공개SW 라이선스특징 3. 공개 SW 라이선스의종류 3.1 라이선스분류의기준 3.2 라이선스의분류 4. 공개 SW 라이선스관리 5. 결론 4.1 관리 ( 개발 ) 프로세스 4.2 적용전략
발표자소개 중외정보기술 Web Agency 사업부본부장 ( 사 ) 한국공개소프트웨어협회이사 (2012) SODiEN 대표이사 (2009 ~ 2011) 아주그룹관광레져사업부기획실 SAP 컨설턴트 정보통신산업진흥원소프트웨어모니터링단위원 (2011) 정보통신산업진흥원 HTML5 기반 BI Reporting 과제 (OSS) 연구책임 (2011) 국방부산하기술원관리체계구축 (2010) 건설기술평가원지능형공항구축사업공동연구책임 (2010) 매일경제 KM 리더 (2007) 6sigma Black Belt (2006)
1.1 공개 SW 정의 공개 SW 상용 SW 저작인격권 1 권리와분리할수없는이익 2 양도불가 3 저작자의사망과동시에소멸 4 공표권, 성명표시권, 동일성유지권 저작재산권 1 소유권과같은배타적권리 2 복제권, 공영권, 배포,2 차적저작권등 3 50 년간보호 ( 저작행위이후 ) Source code 공개 저작재산권사용허락 개작에의한 2 차적저작물작성 특별한라이선스조건
1.2 공개 SW 연대기별연혁 1980 미국에서 Computer Program 을 Copyright 로법적보호시작 1984 Richard Stallman이이에반발 GNU Project 시작 1985 FSF(Free Software Foundation) 설립 < Copyleft Movement 시작 > 1989 GNU GPL(General Public License) v.1.0 발표 1991 GNU GPL(General Public License) v.2.0 발표 1992 Linus Torvalds가 Linux kernal를 GNU GPL v.2.0으로재라이선스 1998 NCC 가 Netscape 를 Free Software 로배포 Eric S. Raymond 와 Bruce Perens 가 OSI(Open Source Initiative) 설립 < Open Source Movement 시작 >
1.3 라이선스관점특징 자유 복제, 설치, 운영, 수정, 배포의자유 기존소스코드및라이브러리의재사용으로생산성향상 성숙한오픈소스커뮤니티의프로젝트적용으로품질보장 Copyleft 공개되어있는소스코드 공개되어있는소스코드를통해알고리즘과로직을분석하고응용할수있어설계자, 개발자, 테스터의소프트웨어기술력증강 무료 내부사용 외부판매 TCO(Total Cost Ownership) 절감 기술지원및유지보수서비스를기반으로사업가능 반환의무 특정오픈소스라이선스의소스코드공개의무 GPL, LGPL, MPL, CPL, IBM, EPL, OSL, Qt 등이해당됨 연결된소프트웨어의소스코드공개의무가발생 비공개 SW 가오픈소스 SW 로변경될수있음 특허, 영업비밀, 핵심기술등의외부유출가능성존재 저작권 저작권법에따른법적권리보장 오픈소스라이선스미준수시저작자와분쟁가능 협력업체가저작권위반시협력업체가책임을지더라도최종적으로고객이동의하지않는소스코드공개등은당사의부담이됨 출처 : 블랙덕소프트웨어자료
공개 SW 라이선스계약 용어정의 (1) 용어 정의 1 자유 (freedom) 공개 SW 복제, 배포, 개작자유 (2 차저작물포함 ) 2 공개 (open) 3 개작내용고지 4 라이선스유지 5 라이선스고지 6 사용대가 7 저작인격권고지 원본저작물의 Source code 공개 + 2 차적저작물의 Source code 공개의무 ( 라이선스준거 ) 2 차적저작물의개작내용고지여부 2 차적저작물의배포시원저작물의라이선스선택의무여부 원본저작물및 2 차적저작물의배포시라이선스고지의부여부 무료 / 유료 /Community 내부에서는무료, 대외사용은유료 성명표시및동일성유지의무
공개 SW 라이선스계약 용어정의 (2) 용어 8특허관련조항 9상표사용제한 10보증부인 11책임제한 정의 명시적특허사용허락여부, 특허소송시라이선스종료여부 원저작권자의상표또는상호유지의무여부 원본저작물및 2 차적저작물에대한보증부인 원본저작물및 2 차적저가물로인한책임부인
2.1 공개 SW 라이선스계약의특징 공개 SW 저작권자가제 3 자에게공개 SW 의공개된소스코드를복제, 배포하거나이를개작하여 2 차저작물을작성하거나, 해당 2 차저작물을복제또는배포하는경우에준수하도록사용허락시특별한조건을부여받는라이선스 1 Repository 에 Source 등록 ( 명시적으로고지 ) 2 Download 설치 ( 소프트웨어를복제 ) 계약성립라이선스의내용을준수할의무발생 청약 승낙
공개 SW 라이선스의종류
공개 SW 라이선스 분류 ( 기준 ) Copyleft 요소 1 2 차적저작물의 source code 공개의무여부및범위 2 2 차적저작물의배포시원본저작물의라이선스선택의무여부 강력 Copyleft 라이선스 GPL 계열 + 기타 제한 Copyleft 라이선스 MPL 계열 + 기타 非 Copyleft 라이선스 BSD L계열 + 기타 선택적라이선스 특별규정라이선스 기타 ( 2000여개 ) + 창작라이선스
공개 SW 라이선스 분류 (1) 강력한 Copyleft 라이선스 1 GPL 계열 : GNU GPL v. 1, v.2,v.3, GNU Affero GPL v.3, GNU Classpath, GNU Emacs GPL, CeCILL L v. 2 등 2 기타 : CPL, EPL, EUPL, Apple PSL v. 2.0, IBM PL, Jabber OSL 등 v. 1.0(1989) by FSF v. 2.0(1991) by FSF 대표적과반수의공개소프트웨어 - 배포시, 원본저작물및 파생저작물 (derivative work) 의 source code 공개의무및라이선스유지의무 v. 3.0(2007) by FSF - 배포시, 원본저작물및 원본기반저작물 의 source code 공개의무및라이선스유지의무 - user product 에대한 installation information 제공의무신설 - 명시적특허사용허락, 특허소송시라이선스종료신설 - 라이선스침해제소시해당공개소프트웨어사용금지신설
공개 SW 라이선스 분류 (2) 제한된 Copyleft 라이선스 1 MPL 계열 : MPL v. 1.0, v. 1.1, CDDL v. 1.0, NASA OSAgreement, Netizen OSL, Nokia OSL, Open Telecom PL 등 2 기타 : GNU LGPL v. 2.1, v. 3.0, GNU LibGPL v. 2.0, Micosoft LRL 등 v. 1.0 (1998) by Netscape Communication Corporation v. 1.1 (2003) by Mozilla Foundaiton v. 2.0 (2011) 작업중 by Mozilla Foundaiton - 배포시, 원본저작물및 수정물 (modifications) 의 source code 공개의무및라이선스유지의무 - 원본저작물에내용추가또는원본저작물을변경할경우만적용 - source code 와실행파일을분리하여, 실행파일 (executable) 은 code 공개의무가없고, 라이선스유지의무도없음 - 명시적특허사용허락, 특허소송시라이선스종료
공개 SW 라이선스 분류 (3) 非 Copyleft 라이선스 1 BSD L(Berkerly Software Development License) by Regents of the University of California (1997) 2 MIT L (Messachusetts Institute of Technology License) by Messachusetts Institute of Technology (1988) 개작및개작물의복제, 배포자유 source code 공개의무가없고, 라이선스유지의무도없음
공개 SW 관리 ( 개발 ) 프로세스 단계 내부및외주프로젝트관리자 (PM) 오픈소스담당자 오픈소스관리부서 프로젝트생성 프로젝트착수 라이선스관리지침회람 라이선스관리책임에대한외부인력서약 라이선스관리지침전송 오픈소스담당자선정및통보 오픈소스관리계획수립 필요시현장집합교육요청 수행통제 / 요구정의 분석및아키텍처 설계 개발 라이선스점검환경구축 (client 설치, 방화벽예외신청 ) 소스코드라이선스분석 라이선스수동점검 위반사항조치 현장가이드및교육 라이선스점검출계정할당 ( 서버 IP, id, password) 라이선스자동점검 라이선스수동점검지원 이행 반복 프로젝트종료 라이선스의무사항이행확인 라이선스의무사항이행 ( 문구보존, 사용내역고지, 공개 ) 점검결과보고서작성 출처 : 블랙덕소프트웨어자료
공개 SW 적용 / 전환전략 - 기획단계 기획 (SW Design) 제품화 (Production) 구현 (Implementation) 검증 (Verification) 구현단계이전에사용될오픈소스 SW 를파악및해당소프트웨어의라이선스의규정파악 제품개발에사용할오픈소스 SW 선정 레포지토리사이트를통해선정된오픈소스 SW 가어떠한라이선스속하는지파악 라이선스가결정되면, 라이선스가소스코드공개를규정하는지여부확인 두개이상의오픈소스 SW 를사용할경우라이선스간충돌발생여부 ( 양립성 ) 확인 < 참조 : 오픈소스 SW 라이선스가이드, 컴퓨터프로그램보호위원회, 2007>
공개 SW 적용 / 전환전략 - 구현단계 기획 (SW Design) 제품화 (Production) 구현 (Implementation) 검증 (Verification) 제품구현시오픈소스 SW 라이선스규정이행여부관리및산출물수집 오픈소스 SW 라이선스의규정이행여부확인 ( 저작권관련문구명시등 ) 개발자로하여금사용하는오픈소스 SW 의사용목록을작성하도록함 사용하는오픈소스 SW 의라이선스확인이어려운경우 : 1. 구글의코드서치 (www.google.com/codesearch) 2. Repository 사이트 (SourceForge.net) 3. 소스코드에포함된 COPYING, README, LICENSE 파일참조 < 참조 : 오픈소스 SW 라이선스가이드, 컴퓨터프로그램보호위원회, 2007>
공개 SW 적용 / 전환전략 - 검증단계 기획 (SW Design) 제품화 (Production) 구현 (Implementation) 검증 (Verification) 구현과정에서의개발자실수나사용되었으나고려되지않은오픈소스 SW 가있는지검증 특정한소스코드가포함하고있는오픈소스 SW 를검출하는오픈소스 SW 라이선스검증시스템사용 1. Blackduck 2. PALAMIDA 3. Open Source License Checker (OSLC) 4. 한국저작권위원회 OLIS(www.olis.or.kr) < 참조 : 오픈소스 SW 라이선스가이드, 컴퓨터프로그램보호위원회, 2007>
공개 SW 적용 / 전환전략 제품화단계 기획 (SW Design) 제품화 (Production) 구현 (Implementation) 검증 (Verification) 남은 OSS 라이선스규정에따른의무사항수행 개발에사용한오픈소스 SW 라이선스에따라소스코드공개여부및범위가결정 제품판매시제품과함께소스코드제공, 혹은웹사이트나우편물을통해소스코드전달 새로생산한제품에대해독자적인라이선스를개발하여적용 < 참조 : 오픈소스 SW 라이선스가이드, 컴퓨터프로그램보호위원회, 2007>
결론 < OSS 라이선스 > 개발자중심라이선스 참여와공유 정직하고건전한시장