오픈소스 sw 라이선스 - 박은정님
TRANSCRIPT
오픈소스 SW 라이선스
2017.01
NAVER
박은정
안녕하세요
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스 운영관리 업무를 담당하고 있습니다.
• NAVER SW에 사용되는 오픈소스 SW를 검수하고
• NAVER 오픈소스 프로젝트를 외부에 공개하며
• NAVER 개발자들의 오픈소스 활동을 지원하고 있습니다.
이번 발표에서는.. 오픈소스 SW 라이선스를 어떻게 결정하고 실제 개발에 적용하는지 설명합니다.
다른 사람들이 내 오픈소스 SW를 잘 사용하기 위해서 어떤 내용을 제공해야 하는지 알아봅니다.
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
Quick Review
라이선스란?
5 / 19 D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스에 라이선스가 왜 필요할까?
6 / 19 D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스 라이선스 - MIT Copyright (c) 2017 fuzzythecat, juice500ml, punkyoon
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
저작권 선언
사용/복제/수정/배포/라이선스 변경, 판매 등에 제한 없음
저작권/라이선스를 명시할 의무
품질 보증을 하지 않으며, 사용에 대한 책임을 지지 않음
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
MIT license @ choosealicense.com
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스 라이선스 – GPL v3 4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided
that you conspicuously and appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any non-permissive terms added in accord with section
7 apply to the code;
keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along
with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty
protection for a fee.
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스 라이선스 – GPL v3 5. Conveying Modified Source Versions.
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any
conditions added under section 7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into
possession of a copy. This License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts, regardless of how they are
packaged. This License gives no permission to license the work in any other way, but it does
not invalidate such permission if you have separately received it.
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스 라이선스 – GPL v3 Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
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.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
저작권 선언
GPL v3 또는 이후 버전 라이선스 조항에 따라 수정/재배포 가능
GPL 전문 위치 안내
품질 보증을 하지 않으며, 사용에 대한 책임을 지지 않음
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
GPL v3 @ chooaslicense.com
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스를 사용할 때
라이선스 의무조항 확인 오픈소스 SW를 사용하는 데 따르는 의무조항 확인
• 대부분의 라이선스는 copyright와 license를 사용자에게 명시하는 것을 기본 의무조항으로 명시한다 사용한 오픈소스 SW의 copyright/license 문구 유지 일부 코드만 가져온 경우 코드 상단에 출처 및 copyright, license를 명시 여러 개의 오픈소스 SW를 사용한 경우, 각 SW의 라이선스를 명시한 문서를 별도 관리하는 것을 추천
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
라이선스 conflict 확인 의무조항의 충돌으로 함께 사용할 수 없는 라이선스가 있는 지 확인
• GPL 계열 라이선스와 Apache License v2를 함께 사용할 때에는 compatibility 확인이 필요하다.
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
Apache 2 software can therefore be included in GPLv3 projects, because the GPLv3 license accepts our software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law. This licensing incompatibility applies only when some Apache project software becomes a derivative work of some GPLv3 software, because then the Apache software would have to be distributed under GPLv3. This would be incompatible with ASF's requirement that all Apache software must be distributed under the Apache License 2.0. … Despite our best efforts, the FSF has never considered the Apache License to be compatible with GPL version 2, citing the patent termination and indemnification provisions as restrictions not present in the older GPL license.
[출처: https://www.apache.org/licenses/GPL-compatibility.html ]
배포 라이선스 결정 사용한 오픈소스 SW들의 라이선스를 고려해서 결정
• 가장 엄격한 라이선스를 기준으로 따르는 것이 좋다
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
오픈소스를 운영할 때
README 프로젝트에 대한 기본적인 정보와 함께 배포 라이선스를 명시 #
• Copyright와 라이선스 문구를 함께 명시하는 것이 좋다
• 라이선스 전체 문구가 길 때는 boilerplate로 명시한다
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
LICENSE 오픈소스 SW의 배포 라이선스 전문(full text)을 명시 #
• 보통 README에는 간단하게 boiler plate를 적고, full text는 LICENSE에 적는다
• 내부 코드에 사용된 third party SW의 라이선스를 고려하여 conflict가 없는 라이선스로 배포해야 한다
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
NOTICE 오픈소스 SW 내에서 사용된 third party SW 정보 #
• DEPENDENCY와 무엇이 다른가?
- DEPENDENCY에는 프로젝트를 실행하는 데 필요한 package들에 대한 정보를,
- NOTICE에는 프로젝트 소스코드 내에 포함되어 재배포되는 third party SW들에 대한 정보를 넣는다.
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
COMMENTS 소스 코드의 copyright와 라이선스 명시 #
• LICENSE/NOTICE 파일 이외에도 각 파일마다 상단에 copyright 정보를 표기한다
• 오픈소스 SW를 사용한 경우, 원본에 copyright/license 정보가 표시되어 있다면 그대로 유지한다. 명시되어 있지 않다면, 해당 SW의 출처, copyright과 라이선스를 코드 최상단에 명시한다
• 외부 오픈소스 SW의 일부분만 가져왔다면, 해당 부분에 대한 출처 및 copyright, 라이선스 정보를 해당 코드 시작점에 주석으로 명시한다
D2 CAMPUS FEST 2016 결승팀 오리엔테이션
감사합니다