LGPL-2.1 가이드

Free Software Foundation에서 만든 대표적인 Weak Copyleft 라이선스인 LGPL-2.1은 재배포 시 소스 코드 공개를 요구하지만, LGPL Library를 Dynamic Link하여 사용하면 자사의 코드는 공개 대상에 포함되지 않는다.

소스 코드 내 라이선스 문구

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

Copyright (C) year name of author
 
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
 
This library 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
Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

사용 사례 별 의무 사항

Case 1. 소스 형태로 재배포

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

1-1 고지 의무

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

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

Case 2. 바이너리(라이브러리) 형태로 재배포

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

2-1 고지 의무

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

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

2-2 소스 코드 제공 의무

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

  1. LGPL-2.1은 파생저작물에 대해서도 LGPL-2.1을 적용하여 소스 코드를 공개할 것을 요구한다. 아래 내용을 참고하여 LGPL-2.1하의 오픈소스와 파생저작물의 소스 코드를 공개한다.
  2. 사용자가 공개된 LGPL 라이브러리의 소스 코드를 빌드하여 동일한 라이브러리를 만들 수 있는 빌드 환경을 제공한다. 여기에는 다음 사항이 포함된다.
    • Tool chain 정보
    • 빌드 스크립트
    • 빌드 방법 (README)
  3. LGPL 라이브러리를 Static Link하여 생성한 실행파일(Executable)을 배포하는 경우, 사용자가 LGPL 라이브러리를 수정하고 다시 실행파일을 생성할 수 있도록 실행파일을 구성하는 오브젝트 코드를 제공한다. (#LGPLStaticVsDynamic)

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

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

라이선스 호환성

서로 요구하는 의무사항이 상충되는 오픈소스 라이선스는 하나의 프로그램에 동시에 존재해서는 안된다. 다음은 LGPL-2.1과 충돌하는 라이선스 목록이다. LGPL-2.1 프로그램 내에 다음 라이선스 하의 오픈소스를 포함해서는 안된다.

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

참고 : https://www.osadl.org/fileadmin/checklists/unreflicenses/LGPL-2.1-only.txt



Last modified August 29, 2023: update guide in eng (74114632)