GPL-3.0 가이드

Free Software Foundation은 2007년 GPL-3.0을 공개하였습니다. GPL-3.0은 GPL-2.0과 유사한 의무사항을 갖지만, 추가로 User Product 배포 시 설치 정보(Installation Information) 제공을 요구합니다.

    SPDX Identifier: GPL-3.0-only 또는 GPL-3.0-or-later

    소스 코드 내 라이선스 문구

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

    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/>
    

    사용 사례별 의무사항

    Case 1. 소스 형태로 재배포

    GPL-3.0 라이선스 하의 오픈소스를 소스 형태로 재배포 시 다음 사항을 준수합니다.

    1-1 고지 의무

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

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

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

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

    2-1 고지 의무

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

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

    2-2 소스 코드 제공 의무

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

    1. GPL-3.0은 파생저작물에 대해서도 GPL-3.0을 적용하여 소스 코드를 공개할 것을 요구합니다. 아래 내용을 참고하여 GPL-3.0 하의 오픈소스와 파생저작물의 소스 코드를 공개합니다.
    1. 바이너리 사용자가 공개된 소스 코드로 동일한 바이너리를 만들 수 있는 빌드 환경을 제공합니다. 여기에는 다음 사항이 포함됩니다.
      • Tool chain 정보
      • 빌드 스크립트
      • 빌드 방법 (README)

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

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

    2-3 설치 정보 제공 의무

    바이너리를 User Product와 배포한다면 설치 정보(Installation Information)를 제공합니다.

    • User Product : 전자 기기와 같은 Embedded Device
    • 설치 정보(Installation Information) : 사용자가 소스 코드를 빌드하여 다시 제품에 설치하기 위해 필요한 모든 정보 및 방법

    GPL-2.0 대비 주요 개선사항

    GPL-3.0은 GPL-2.0의 핵심 원칙을 유지하면서 다음 사항을 개선하였습니다.

    • 특허 허여 명시: 기여자의 특허 라이선스 허여를 명시적으로 규정
    • 티보이제이션 방지: User Product에 설치 정보 제공 의무 추가
    • 국제화: 전 세계적으로 적용 가능하도록 법적 용어 개선

    라이선스 호환성

    주요 라이선스와의 호환성

    결합 대상 라이선스호환 여부비고
    MIT호환전체 프로젝트가 GPL-3.0이 됨
    Apache-2.0호환전체 프로젝트가 GPL-3.0이 됨
    GPL-2.0조건부GPL-2.0-or-later인 경우만 호환
    LGPL-3.0호환LGPL 부분은 LGPL 유지 가능
    AGPL-3.0호환전체 프로젝트가 AGPL-3.0이 됨
    Proprietary비호환상용 소프트웨어에 사용 불가

    참고 자료