허용·조건·제한 한눈에 보기
조건
- 저작권·라이선스 고지배포할 때 라이선스 사본과 저작권 표시를 함께 넣어야 한다.
- 소스 공개배포할 때 소스 코드를 제공해야 한다.
- 변경 사항 표시원본을 고쳤다면 그 사실을 표시해야 한다.
- 동일 라이선스(라이브러리 단위)라이브러리 수정분은 같은 라이선스여야 하지만, 이를 사용하는 프로그램에는 적용되지 않을 수 있다.
제한
- 책임 제한손해에 대한 책임을 지지 않는다고 명시한다.
- 보증 없음어떤 보증도 하지 않는다고 명시한다.
권한·조건·제한 분류 출처: choosealicense.com (GitHub, MIT 라이선스) 데이터.
어떤 라이선스인가
LGPL-2.1 은 FSF 가 1999년 2월에 발표했습니다. 이전 이름은 'GNU Library General Public License'(2.0)였고, 2.1 에서 'Lesser'로 바뀌었습니다. LGPL-3.0 과 달리 독립된 전체 문서입니다. GNU C 라이브러리(glibc)가 LGPL-2.1-or-later 를 쓰고, FFmpeg 은 기본 구성이 LGPL-2.1-or-later 입니다(일부 선택 구성요소는 GPL).
이 라이브러리를 사용하는 프로그램 (5·6조)
라이브러리와 링크해 동작하도록 만든 프로그램('라이브러리를 사용하는 저작물')은 라이브러리의 파생물이 아닌 것으로 취급될 수 있고, 결합된 실행 파일은 6조의 조건을 지키면 원하는 조건으로 배포할 수 있습니다.
- 라이브러리가 쓰였고 LGPL 이 적용된다는 고지와 라이선스 사본을 넣습니다.
- 사용자가 라이브러리를 수정해 재링크할 수 있게 소스나 오브젝트 파일을 제공하거나, 공유 라이브러리 방식을 씁니다.
- 수정분 디버깅을 위한 리버스 엔지니어링을 허용해야 합니다.
GPL 로 전환하는 조항 (3조)
LGPL-2.1 은 라이브러리 사본에 LGPL 대신 GPL 2판(또는 원하면 그 이후 판)의 조건을 적용하는 것을 허락합니다. 그래서 LGPL-2.1 코드는 GPL-2.0·GPL-3.0 프로젝트에 모두 넣을 수 있습니다. 한 번 GPL 로 바꾼 사본은 다시 LGPL 로 되돌릴 수 없습니다.
자주 하는 오해
- "LGPL-2.1 은 오래됐으니 쓸 수 없다" — 여전히 유효하고 널리 쓰입니다. 다만 특허 조항과 설치 정보 조항은 없습니다.
- "LGPL-2.1 코드를 LGPL-3.0 프로젝트에 그대로 넣을 수 있다" — 'or later'가 아닌 LGPL-2.1-only 코드라면 결합본은 LGPL-3.0 으로 올릴 수 없습니다. 3조를 이용해 GPL-3.0 결합본으로 배포하는 방법은 있습니다.
- "라이브러리 안의 헤더를 쓰기만 해도 전체가 LGPL" — 원문 5조는 헤더의 작은 매크로·인라인 함수(10줄 이하) 사용 등을 예외로 둡니다. 경계는 해석이 필요한 영역입니다.
적용 방법
원문을 COPYING.LIB 또는 LICENSE 에 그대로 두고 각 파일에 공식 고지문을 붙입니다. SPDX 식별자는 LGPL-2.1-only 또는 LGPL-2.1-or-later 입니다.
이런 경우에 어울린다
GPL-2.0 생태계와도 호환돼야 하는 기존 C 라이브러리, 이미 LGPL-2.1 로 공개된 프로젝트의 파생물에 맞습니다. 새 라이브러리라면 특허 허락이 있는 LGPL-3.0 이나 MPL-2.0 을 먼저 검토하는 경우가 많습니다.
LGPL-2.1 코드를 다른 프로젝트에 넣을 수 있을까?
이 라이선스로 공개된 코드를 가져와 아래 라이선스의 프로젝트에 합쳐 배포할 때의 일반적인 판정입니다. 호환성 검사기에서 다른 조합 보기 →
| 넣으려는 프로젝트 | 판정 | 메모 |
|---|---|---|
| 비공개(상용) 소프트웨어 | 조건부 가능 | 라이브러리로 링크해 쓰는 것은 가능하지만, 사용자가 LGPL 부분을 교체·재링크할 수 있게 하고 LGPL 부분의 소스를 제공해야 합니다. 코드를 복사해 섞으면 결합본 전체가 (L)GPL 조건을 따라야 합니다. |
| MIT | 조건부 가능 | 라이브러리로 링크해 쓰는 것은 가능하지만, 사용자가 LGPL 부분을 교체·재링크할 수 있게 하고 LGPL 부분의 소스를 제공해야 합니다. 코드를 복사해 섞으면 결합본 전체가 (L)GPL 조건을 따라야 합니다. |
| Apache-2.0 | 조건부 가능 | 라이브러리로 링크해 쓰는 것은 가능하지만, 사용자가 LGPL 부분을 교체·재링크할 수 있게 하고 LGPL 부분의 소스를 제공해야 합니다. 코드를 복사해 섞으면 결합본 전체가 (L)GPL 조건을 따라야 합니다. |
| MPL-2.0 | 조건부 가능 | 라이브러리로 링크해 쓰는 것은 가능하지만, 사용자가 LGPL 부분을 교체·재링크할 수 있게 하고 LGPL 부분의 소스를 제공해야 합니다. 코드를 복사해 섞으면 결합본 전체가 (L)GPL 조건을 따라야 합니다. |
| LGPL-3.0 | 조건부 가능 | LGPL-2.1 은 해당 코드를 GPL-2.0 이후의 어떤 GPL 버전으로든 전환해 배포하는 것을 허락합니다(3조). |
| GPL-2.0 | 조건부 가능 | LGPL-2.1 은 해당 코드를 GPL-2.0 이후의 어떤 GPL 버전으로든 전환해 배포하는 것을 허락합니다(3조). |
| GPL-3.0 | 조건부 가능 | LGPL-2.1 은 해당 코드를 GPL-2.0 이후의 어떤 GPL 버전으로든 전환해 배포하는 것을 허락합니다(3조). |
| AGPL-3.0 | 조건부 가능 | LGPL-2.1 은 해당 코드를 GPL-2.0 이후의 어떤 GPL 버전으로든 전환해 배포하는 것을 허락합니다(3조). GPL-3.0 과 AGPL-3.0 은 각각의 13조로 결합을 허용합니다. 결합본에서 AGPL 부분의 네트워크 소스 제공 의무는 그대로 남습니다. |
이 사이트의 내용은 일반 정보이며 법률 자문이 아닙니다. 실제 배포·계약·분쟁 판단은 변호사 등 전문가와 상의하세요.