허용·조건·제한 한눈에 보기
조건
- 저작권·라이선스 고지배포할 때 라이선스 사본과 저작권 표시를 함께 넣어야 한다.
- 변경 사항 표시원본을 고쳤다면 그 사실을 표시해야 한다.
- 소스 공개배포할 때 소스 코드를 제공해야 한다.
- 동일 라이선스수정본·파생물을 배포할 때 같은(또는 호환되는) 라이선스를 써야 한다.
제한
- 책임 제한손해에 대한 책임을 지지 않는다고 명시한다.
- 보증 없음어떤 보증도 하지 않는다고 명시한다.
권한·조건·제한 분류 출처: choosealicense.com (GitHub, MIT 라이선스) 데이터.
어떤 라이선스인가
GPL-2.0 은 FSF 가 1991년 6월에 발표한 GPL 의 두 번째 판입니다. 카피레프트 원칙은 GPL-3.0 과 같아서, 이 코드를 포함하거나 결합한 프로그램을 배포하면 전체를 GPL-2.0 으로 소스와 함께 제공해야 합니다. 리눅스 커널(GPL-2.0-only, 일부 헤더에 syscall 예외), Git(GPL-2.0-only), WordPress(GPL-2.0-or-later)가 대표 사례입니다.
only 와 or-later
GPL-2.0 을 쓰는 프로젝트는 대개 둘 중 하나를 고릅니다.
- GPL-2.0-only: 이 판의 조건으로만 배포할 수 있습니다. 리눅스 커널이 이 방식이라 GPL-3.0 으로 옮길 수 없습니다.
- GPL-2.0-or-later: 받는 사람이 2.0 또는 FSF 가 낸 이후 판(3.0 등)을 골라 쓸 수 있습니다. GPL 원문의 권장 고지문이 이 방식입니다.
원문 9조는 버전 번호를 지정하지 않은 프로그램이라면 FSF 가 낸 어떤 판이든 고를 수 있다고 정합니다. 그래서 어느 쪽인지 파일 헤더나 SPDX 식별자로 분명히 밝히는 것이 중요합니다(가이드).
배포할 때 지켜야 할 것
- 소스 코드를 함께 제공하거나, 최소 3년간 유효한 서면 제안으로 제공합니다(3조).
- 저작권 고지와 보증 부인 문구, 라이선스 사본을 유지합니다(1조).
- 수정한 파일에는 변경 사실과 날짜를 표시합니다(2조 a).
- 받는 사람의 권리에 추가 제한을 걸 수 없습니다(6조). 특허 합의 등으로 GPL 조건을 지킬 수 없게 되면 배포 자체를 할 수 없습니다(7조).
자주 하는 오해
- "GPL-2.0 과 GPL-3.0 은 같은 GPL 이라 섞어도 된다" — GPL-2.0-only 코드와 GPL-3.0 코드는 결합해 배포할 수 없습니다. 둘 중 하나가 'or later'여야 합니다.
- "Apache-2.0 코드도 넣을 수 있다" — FSF 는 Apache-2.0 이 GPL-2.0 과 호환되지 않는다고 봅니다. 'or later' 프로젝트라면 GPL-3.0 으로 배포해 해결할 수 있습니다.
- "특허 조항이 없으니 특허를 행사해도 된다" — 명시적 특허 허락은 없지만, 7조와 서문은 특허로 자유를 제한하는 배포를 막는 취지를 담고 있습니다. 해석은 갈리므로 특허가 중요하면 GPL-3.0 을 검토합니다.
적용 방법
원문을 LICENSE 또는 COPYING 에 그대로 두고, 각 파일에 공식 고지문을 붙입니다. 고지문의 'either version 2 of the License, or (at your option) any later version' 문장을 남기면 or-later, 빼면 only 입니다. SPDX 식별자는 GPL-2.0-only / GPL-2.0-or-later 를 씁니다.
이런 경우에 어울린다
리눅스 커널 모듈처럼 GPL-2.0-only 생태계와 코드를 주고받아야 하는 프로젝트에 필요합니다. 새 프로젝트에서 강한 카피레프트가 목적이라면 특허 조항과 호환성이 개선된 GPL-3.0 이나 'GPL-2.0-or-later'가 더 유연합니다.
GPL-2.0 코드를 다른 프로젝트에 넣을 수 있을까?
이 라이선스로 공개된 코드를 가져와 아래 라이선스의 프로젝트에 합쳐 배포할 때의 일반적인 판정입니다. 호환성 검사기에서 다른 조합 보기 →
| 넣으려는 프로젝트 | 판정 | 메모 |
|---|---|---|
| 비공개(상용) 소프트웨어 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| MIT | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| Apache-2.0 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| MPL-2.0 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| LGPL-2.1 | 조건부 가능 | LGPL-2.1 이 GPL 로 전환을 허락하므로, 결합본을 GPL-2.0-only 로 배포하는 경우에 한해 가능합니다. |
| LGPL-3.0 | 불가 | GPL-2.0-only 코드는 GPL-3.0·LGPL-3.0·AGPL-3.0 의 추가 조건과 양립하지 않습니다. |
| GPL-3.0 | 불가 | GPL-2.0-only 코드는 GPL-3.0·LGPL-3.0·AGPL-3.0 의 추가 조건과 양립하지 않습니다. |
| AGPL-3.0 | 불가 | GPL-2.0-only 코드는 GPL-3.0·LGPL-3.0·AGPL-3.0 의 추가 조건과 양립하지 않습니다. |
이 사이트의 내용은 일반 정보이며 법률 자문이 아닙니다. 실제 배포·계약·분쟁 판단은 변호사 등 전문가와 상의하세요.