개발자가알아야하는오픈소스라이선스 2016. 9. 28 ( 수 ) NIPA 공개SW역량프라자박준석수석 jspark@nipa.kr
목차 Ⅰ Ⅲ Ⅱ Open Compliance
I 오픈소스소프트웨어 오픈소스소프트웨어 (Open Source Software) 공개소프트웨어 = 자유소프트웨어 (Free Software) + 오픈소스소프트웨어 (Open Source Software) = Free & Open Source Software = FOSS
I 오픈소스소프트웨어 GNU = ( 그 ) 누 GNU s Not UNIX UNIX 계열운영체제 완벽한 UNIX 호환시스템개발목표 GNU PROJECT Hurd, Bash, GCC, Binutils, Gnome, Emacs, Gzip, glibc, Gimp 커널빼고거의완벽한운영체제완성
I 오픈소스소프트웨어 Linux Kernel = 리눅스커널 UNIX 계열운영체제의커널 GNU Hurd 커널은불안정 BSD 계열커널은법적이슈로제약 GNU 운영체제의커널로전격 도입하여완벽한운영체제완성
I 오픈소스소프트웨어 출처 : The Linux Kernel Archives, http://www.kernel.org
I 오픈소스소프트웨어
I 오픈소스소프트웨어 출처 : (2012)GNU/Linux Distribution Timeline, http://futurist.se/gldt/
I 오픈소스소프트웨어 출처 : (2012)GNU/Linux Distribution Timeline, http://futurist.se/gldt/
I 오픈소스소프트웨어 출처 : (2012)GNU/Linux Distribution Timeline, http://futurist.se/gldt/
I 오픈소스소프트웨어
I 오픈소스소프트웨어
I 오픈소스소프트웨어
I 오픈소스소프트웨어
I 오픈소스소프트웨어 홍보는페북이갑
I 오픈소스소프트웨어
I 오픈소스소프트웨어
I 오픈소스소프트웨어 기술혁신 종속성극복 인재양성 경제적효율성
II 오픈소스소프트웨어라이선스
II 오픈소스소프트웨어라이선스 타인의저작권침해금지 라이선스고지및사본포함
II 오픈소스소프트웨어라이선스
II 오픈소스소프트웨어라이선스 SW 에관한지적재산권으로보호 ( 저작권, 특허권, 상표권, 영업비밀 ) 소프트웨어 Software 비 FOSS 라이선스 ( 사유 SW) FOSS 라이선스 특허 SW 비특허 SW 반환의무 (Reciprocal) 반환불필요 (Permissive) 공유불가능 SW 공유가능 SW 특허조항 제약 무제약 상용 SW (EULA) Freeware (EULA) AGPL GPL GPL LGPL Apache EPL MPL BSD MIT 3.0 3.0 2.0 2.1 2.0
II 오픈소스소프트웨어라이선스 제품자체에비용을산정하여판매이윤을창출하는모델이나최근엔구독모델로비즈니스방향전환기업증가추세 내가만들었으니돈내고쓰세요 ~!!! 상용 SW 오픈소스 SW 내가만들었지만자유롭게쓰세요 ~!!! End User License Agreement 상용 SW 로판매 (Commercial Software) SW 에관한지적재산권으로보호 오픈소스 SW 로배포 (Free & Open Source Software) GNU General Public License 2.0 실행파일 (Binary) 만제공 역설계 (Reverse Engineering) 금지 바이너리도복제, 배포, 수정불가 사용기간제한 소스코드 (Source Code) 제공 역설계 (Reverse Engineering) 가능 소스코드사용, 복제, 수정, 배포허용 사용기간미제한 제품자체는무료! 기술지원 ( 구축, 유지보수등 ) 으로이윤창출! 서비스기업의경우능력자보유시대부분무료로구축및운영가능!
II 오픈소스소프트웨어라이선스 모든 SW 라이선스 자유 (Free) SW 정의준수라이선스 OSI 가제시한 OSD 10 개기준을충족하는라이선스 2016 년현재 78 개승인 오픈소스 SW(Open Source Software) 에릭레이몬드 & 브루스페렌스 오픈소스 (OS) SW 정의준수라이선스 OSI 승인라이선스 자유 SW 철학을내포한라이선스 전세계약 2,400 여개추정 자유 SW(Free Software) 리처드스톨만
II 오픈소스소프트웨어라이선스 저작권고지 보증의부인 소스코드반환 라이선스사본포함 ( 영문 ) 책임의제한 특허조항 특히주의해서봐야할부분 소스코드반환의무 특정공개 SW 라이선스의소스코드공개의무 AGPL, GPL, LGPL, MPL, EPL 등이해당됨 링크되거나코드가포함된 SW 의소스코드공개의무가발생 비공개 SW 가공개 SW 로변경될수있음 특허, 영업비밀, 핵심기술등의외부유출가능성존재 저작권고지의무 저작권법에따른법적권리보장 공개 SW 라이선스미준수시저작자와분쟁가능
II 오픈소스소프트웨어라이선스 주요라이선스의무사항 BSD Apache 2.0 GPL 2.0 GPL 3.0 AGPL 3.0 LGPL2.1 EPL MPL 복제, 배포, 수정의권한허용 배포시라이선스사본첨부 저작권고지사항유지 배포시소스코드제공의무 (Reciprocity) 와범위 ALL ALL Include NETWORK CONDITION MODULE FILE 수정시수정내용고지 명시적특허라이선스의허용 라이선시가특허소송제기시라이선스종료 ( 특허보복조항 ) 이름, 상표, 상호에대한사용제한 보증의부인 책임의제한
II 오픈소스소프트웨어라이선스 GNU General public License 2.0 + Apache License 2.0 GPL 2.0 과 APL 2.0 은라이선스의무사항이충돌하여함께사용하여재배포할수없음 GNU General Public License 2.0 + Apache License 2.0 = 양립불가 GNU General Public License 3.0 + Apache License 2.0 = 양립가능
II 오픈소스소프트웨어라이선스 Community Version & Commercial Version Community Version : GNU General Public License 2.0 Connector 역시 GPL 2.0 JDBC 4.0 이전버전은 LGPL 적용 커뮤니티버전을우리회사상용제품에패키징할경우 GPL 의무사항에따라상용제품의코드공개등 GPL 의무사항적용됨
II 오픈소스소프트웨어라이선스 특허권에대한비차별적이며무료사용이가능한권한허용 (Royalty Free) 라이선시가특허소송을제기하는경우라이선스종료 ( 특허보복조항 ) 제 3 자가소유한특허의취급에관한조항
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 전세계 2045 개기관 / 기업가입
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 사용 범위 의무사항 복제 내부사용 공개범위 특허무효 공개방법 수정 배포 ( 판매 ) 고지의무 양립성
II 오픈소스소프트웨어라이선스
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 운영체제 (OS) 웹서버 Linux Apache 완성형 OSS 를시스템에구축하는경우 완성형 OSS 를상용솔루션에패키징하는경우 OSS 소스코드를기반으로상용 SW 를개발하는경우 일부오픈소스코드를활용하여상용제품을보완하는경우 WAS Tomcat, JBoss, Glassfish 상용관제시스템 상용오피스 상용레포트툴 DBMS MySQL, MariaDB, PostgreSQL 프레임워크 Spring, Struts 데스크탑오피스 OpenOffice, LibreOffice 상용 DBMS 상용 WAS 기타수많은상용제품 기타 Zimbra, Zabbix, Nagios, sugarcrm, Alfresco
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 상용 SW EPL 1.0 GPL 2.0 BSD Apache License 2.0 GPL : 모든소스코드공개의무발생 AGPL : 네트워크를통한서비스시에도모든소스코드공개의무발생 MPL : 파일단위의공개의무발생 EPL : 모듈단위의공개의무발생
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 OSS 커뮤니티 GPL 에의한배포 상용 SW 기업 감시 FSF(www.fsf.org) gpl-violations.org (www.gpl-violations.org) SFLC (www.softwarefreedom.org) User( 경쟁사 ) 수정및링크후기업내부에서사용 수정및링크후상용 SW 로판매 무한정사용 무한정복제 무한정수정 네트워크서비스가능 ( 클라우드서비스등 ) AGPL 등은예외 저작권표시 무보증명시 GPL 라이선스선언 소스코드공개 GPL 코드를링크하거나포함한상용 SW 는모든코드를수취자에게제공할의무사항발생수취자는약정서와제품을받는자이므로불특정다수의공공에배포하는것은아님
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 Platform/Service Data Storage, Analysis (Hadoop) PaaS (Open Shift, Cloud Foundry) RDB, NoSQL (MongoDB, Cassandra) Common API Open API, API Proxy (Deltacloud, Jclouds) Cloud Management Management Stack, Cloud OS (OpenStack, CloudStack, Open Nebula, Eucalyptus, CloudForms) Utility Monitoring (Zabbix, Nagios, Hyperic) Automation (Puppet, Chef) Hypervisor File System Xen, KVM ZFS, Nexenta, GlusterFS Open Networking Foundation/ Open Flow Load Balancer (HAProxy) Switch (Open vswitch) Network Complexity DataCenter/ Hardware Open Compute Ubuntu, CentOS, OpenSUSE Operating System
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 Apache 2.0 Apache 2.0 AGPL 3.0 Apache 2.0 Platform/Service Data Storage, Analysis (Hadoop) PaaS (Open Shift, Cloud Foundry) RDB, NoSQL (MongoDB, Cassandra) Common API Cloud Management Apache 2.0 Apache 2.0 Open API, API Proxy (Deltacloud, Jclouds) GPL 3.0 only Management Stack, Cloud OS (OpenStack, CloudStack, Open Nebula, Eucalyptus, CloudForms) Utility GPL 2.0 Monitoring (Zabbix, Nagios, Hyperic) GPL 2.0 Automation (Puppet, Chef) Apache 2.0 Hypervisor File System DataCenter/ Hardware Xen, KVM ZFS, Nexenta, GlusterFS Open Compute Open Networking Foundation/ Open Flow Load Balancer (HAProxy) Switch (Open vswitch) Ubuntu, CentOS, OpenSUSE GPL 2.0 Network Apache 2.0 GPL 2.0 and Various Operating System
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 OSS 1 (AGPL 3.0) Driver (APL 2.0) 응용 SW ( 상용 ) OSS1 은 AGPL 3.0 이지만드라이버를원저작권자가 APL 2.0 으로제공한경우 응용 SW 의코드공개의무없음 OSS 2 (AGPL 3.0) Self-Made Driver (APL 2.0) 응용 SW ( 상용 ) OSS2 는드라이버를포함한모든코드가 AGPL 3.0 이므로드라이버를자체개발하여 APL 2.0 으로선언한경우 드라이버자체가 AGPL 3.0 으로전염되며응용 SW 의코드공개의무발생
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 OSS 3 (GPL) 산출 생성파일 사용 응용 SW ( 상용 ) OSS3 은 GPL 이지만산출물에코드가섞이지않은경우 응용 SW 의코드공개의무없음 OSS 4 (GPL) 산출 생성파일 With OSS Code 사용 응용 SW ( 상용 ) OSS 코드를포함하여산출파일을생성하는경우 응용 SW 의코드공개의무발생
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 Static.a,.lib Dynamic.so,.dll Preprocessor Compiler.c.i.s Assembler.o Linker.exe GNU Lesser General Public License Static : Object Code 공개 Dynamic : 공개의무없음
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 기업 90% 이상이 OSS 코드인제품도있음 LGPL 2.1 난소스코드를요청할정당한권리가있음 고객 ( 수취자 ) GitHiub Source forge Etc. 상용 SW OSS 소스코드를활용하여개발 MIT 메인프로그램자체개발 서브프로그램자체개발 상용소프트웨어 모듈자체개발 GPL 2.0 BSD 라이브러리자체개발 당연히저작권고지등의주요의무사항도준수해야함 패키지 SW 판매 이경우에는나는코드를요청할권리가없군! GPL 은코드공개의무가발생하므로이와연동된자체개발소스코드도수취자에게제공의무발생 제 3 자
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 기업 OSS 를사용했지만우린서비스만할거라고! LGPL 2.1 이경우에는소스코드를요청할권리가없군! 이용자 GitHiub Source forge Etc. 클라우드시스템 OSS 를활용하여시스템구축 APL 2.0 메인프로그램자체개발 서브프로그램자체개발 클라우드시스템 모듈자체개발 인터넷서비스의경우의무사항이적용되지않음 GPL 3.0 BSD 라이브러리자체개발 인터넷서비스 나도요청할권리가없군! 직접적인배포가이루어지지않았으므로대부분의라이선스는인터넷서비스시의무사항이적용되지않음 제 3 자
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 기업 OSS 를사용했지만우린서비스만할거라고! LGPL 2.1 AGPL 3.0 라이선스를사용했으면난소스코드를요청할정당한권리가있음 이용자 GitHiub Source forge 클라우드시스템 OSS 를활용하여시스템구축 APL 2.0 메인프로그램자체개발 모듈자체개발 클라우드시스템 AGPL 3.0 BSD GPL 3.0 인터넷서비스 AGPL 3.0 은네트워크를통한서비스의경우에도수취자요청시모든소스코드제공의무가발생 Etc. 라이브러리자체개발 제 3 자 AGPL 3.0 등은인터넷서비스시에도의무사항적용 나도주세요 ~
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 이번엔내가주인공 ~ ㅋㅋ 난특허사용을허용한적이없다구!!! 특허사용료를내던가아니면소송들어가심!!! 내가만들었는데제 3 자특허확인은못했음 ~ 특허침해소송 제 3 자특허권리자 Hidden Patent 특허침해소송 특허이슈가있다구? 반품!!! GitHiub Source forge MIT로배포다운로드개작및판매 OSS 개발자 No Warranty Disclaimer of Warranty Etc. 특허관련텍스트없음 상용 SW 개발자 고객 특허이슈발생시 OSS 개발자에게특허책임을물을수없음
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 이거 GPL 이네소스코드주세요! 고지도없고약정서도없고 앱마켓배포 이거 GPL 코드있다고소스코드공개하라는데? 고객 개발및납품 손해배상청구소송 통보 저작권침해소송 GPL 2.0 GitHiub Source forge App 개발사업발주 다운로드 재개발해드리겠음 OSS 개발자 No Warranty Disclaimer of Warranty Etc. 특허관련텍스트없음 상용 SW 개발자 특허침해소송 특허이슈발생시 OSS 개발자에게특허책임을물을수없음 특허료는저에게주세요 ~ 제 3 자특허권리자
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 사용은자유지만수정시소스코드를기여해야하고특히제 3 자특허를포함하고있으니그사람과협의요망! GitHiub 상용으로판매할것이므로상용라이선스를구입했음! 특허료도냈는데수정코드를기여까지하라고? OSS 개발자 수정코드기여조건 Royalty Free Patents Royalty Free Copyrights GPL 2.0 or Commercial Dual License 본인및제 3 자특허포함 Source forge Etc. 다운로드 특허관련텍스트있음해당기능 Disable 해당 OSS 수정시상용라이선스를구매했을경우라도수정코드를저작권자에게기여해야하는경우도있음 상용 SW 개발자 특허료지불 개작및판매 고객 특허료는저에게주세요 ~ 제 3 자특허권리자
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 권리침해사실통보 제 3 자특허가있으니확인요망! GPL 2.0 위반으로소송들어갑니다! 저작권침해소송 임베디드라모르겠지? 죄송하지만아는데요? 소스코드주세요. 설치방법도알려주시구요. 안주면신고함! GitHiub GPL 3.0 Source forge 다운로드 OSS 개발자 No Warranty Disclaimer of Warranty Etc. 특허관련텍스트있음해당기능 Disable 상용 SW 개발자 특허침해소송 어플라이언스 (HW+SW) 로판매 고객 특허이슈발생시 OSS 개발자에게특허책임을물을수없음 특허료는저에게주세요 ~ 제 3 자특허권리자
III 상용 SW 개발관점에서의 OSS 라이선스컴플라이언스 소프트웨어라이선스검증 국내중소기업 / 개인개발자 / 비영리단체등이개발한 SW의저작권위반사항을검증하고개선지원소스코드분석 상용 SW - 상용 SW 에활용한 OSS 소스코드를분석하고각 OSS 라이선스의적법사용여부를검증 GPL MPL Apache - 검증결과위반발견시개발자와의피드백을통해 1:1 전문컨설팅및이슈개선지원 OSS 거버넌스 / 라이선스컨설팅및교육 OSS를활용한 SW 개발및구축시발생가능한다양한 OSS 라이선스컴플라이언스이슈및거버넌스체계구축에대한전문컨설팅및교육제공 상용 SW GPL
Thank You http://www.oss.kr T. 02-2132-1405 E. jspark@nipa.kr