오픈소스 라이선스 gpl - opeunsoseu laiseonseu gpl


각 라이선스들에 대해 간단히 설명을 하자면 다음과 같다.

GNU GPL License: 자유소프트웨어 재단(FSF)에서 제정. GPL라이선스를 이용하여 개발 시 개인적, 내부적 이용에 한해서는 소스코드를 공개하지 않아도 되나, 외부 배포 시 해당 소프트웨어의 전체 소스코드를 공개해야 함. (3.0버전은 아파치 라이선스와 같이 사용 가능
ex) 파이어폭스(2.0), 리눅스 커널, , 마리아DB

LGPL License: 기존 GPL의 높은 제약을 완화시키기 위해 탄생. LGPL로 작성된 소스코드를 라이브러리(정적, 동적)로만 사용하는 경우엔 소스코드를 공개하지 않아도 됨. 그 이외 사항은 GPL과 동일
ex) 파이어폭스(2.1)

BSD License: 버클리 캘리포니아 대학에서 제정. BSD 자체가 공공공기관에 만든 것이므로 공공환원의 의도가 강해서 저작권 및 라이선스 명시 이외엔 아무 제약이 없이 사용 가능한 자유로운 라이선스 
ex) OpenCV

Apache License: 아파치 소프트웨어 재단에서 제정. 소스코드 공개 의무 없음. , 아파치 라이선스 사용을 밝혀야 함. BSD보다 좀더 완화된 내용
ex) 안드로이드, 하둡 등


MIT License: BSD 라이선스를 기초로 MIT 대학에서 제정. MIT 라이선스를 따르는 소프트웨어 사용하여 개발 시, 만든 개발품을 꼭 오픈소스로 해야 할 필요는 없음. 물론 소스코드 공개 의무도 없음
ex) X 윈도 시스템, Jsoup


MPL License: 1.0 버전은 넷스케이프 변호사였던 미첼 베이커가 작성, 1.12.0버전은 모질라 재단에서 제정. 소스코드와 실행파일의 저작권 분리가 특징. MPL라이선스의 소스코드를 사용하여 개발했을 시, 수정한 소스코드는 MPL로 공개하고 원저작자에게 수정한 부분에 대해 알려야 하지만, 실행파일은 독점 라이선스로 배포 가능. 또한 MPL와 무관하게 작성된 소스코드는 공개할 필요 없음
ex) 파이어폭스(1.1)


Eclipse License: 이클립스 재단에서 제정. CPL을 대체하며, GPL보다 약한 수준으로 기업 친화적인 특징.
ex) Eclipse


글을 작성하며 참고한 링크들에 정말 정리가 잘 된 내용들이 많으므로 한번씩 들어가 살펴보는 것을 권장한다.

소스 코드 내 라이선스 문구

GPL-2.0하의 오픈소스는 일반적으로 소스 코드 상단에 다음과 같은 문구가 있다.

Copyright (C) yyyy 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 2
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

사용 사례 별 의무 사항

Case 1. 소스 형태로 재배포

GPL-2.0하의 오픈소스를 소스 형태로 재배포 시 다음 사항을 준수한다.

1-1 고지 의무

  • 저작권 고지 제공
  • 보증 부인 제공
  • 라이선스 사본 제공

즉, 소스 코드 내 명시된 저작권/라이선스 정보를 그대로 유지한 상태로 재배포한다.

Case 2. 바이너리 형태로 재배포

GPL-2.0하의 오픈소스를 빌드하여 바이너리 형태로만 재배포 시 다음 사항을 준수한다.

2-1 고지 의무

  • 저작권 고지 제공
  • 보증 부인 제공
  • 라이선스 사본 제공

이상의 내용을 포함하는 오픈소스 고지문을 생성하여 바이너리 재배포 시 동봉한다.

2-2 소스 코드 제공 의무

바이너리에 해당하는 소스 코드를 제공한다. 이때 다음 사항을 준수한다.

  1. GPL-2.0은 파생저작물에 대해서도 GPL-2.0을 적용하여 소스 코드를 공개할 것을 요구한다. 아래 내용을 참고하여 GPL-2.0하의 오픈소스와 파생저작물의 소스 코드를 공개한다.

2. 바이너리 사용자가 공개된 소스 코드로 동일한 바이너리를 만들 수 있는 빌드 환경을 제공한다. 여기에는 다음 사항이 포함된다.

  • Tool chain 정보
  • 빌드 스크립트
  • 빌드 방법 (README)

소스 코드 대신 서면 약정서 (Written Offer)를 제공할 수 있다. 여기에는 다음 진술이 포함되어야 한다.

  1. 서면 약정서는 제품 판매 후 3년간 유효하다.
  2. 누구에게나 제공한다.
  3. 비용 청구를 하지 않는다. (소스 전달을 위해 발생하는 비용 제외)

라이선스 호환성

서로 요구하는 의무사항이 상충되는 오픈소스 라이선스는 하나의 프로그램에 동시에 존재해서는 안된다. 다음은 GPL-2.0과 충돌하는 라이선스 목록이다. GPL-2.0 프로그램 내에 다음 라이선스 하의 오픈소스를 포함해서는 안된다. (참고 : https://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses)

  • Apache-1.1
  • Apache-2.0
  • BSD-4-Clause
  • FTL
  • IJG
  • OpenSSL
  • Python-2.0

참고 : https://www.osadl.org/fileadmin/checklists/unreflicenses/GPL-2.0-only.txt

Feedback

Was this page helpful?

Glad to hear it! Please tell us how we can improve.

Sorry to hear that. Please tell us how we can improve.