코딩, 개발에 대한 기록 저장소

GPL vs LGPL

GPL과 LGPL의 차이점을 조사하여 정리함

GPL(GNU General Public License)

  • GPL 코드를 일부라도 사용하게 되면 그 프로그램은 GPL이 됨
  • 프로그램을 유료로 판매하는 것은 가능하지만, 반드시 전체 소스코드는 무료로 공개해야 함

LGPL(GNU Lesser General Public License)

  • LGPL 코드를 라이브러리로 사용한 프로그램을 개발하여 판매/배포할 경우에 프로그램의 소스코드를 공개하지 않아도 됨
  • LGPL 코드를 단순히 이용하는 것이 아니라 수정 또는 이로부터 파생된 라이브러리를 개발하여 배포하는 경우에는 소스코드를 공개해야함

차이점

  • 범위: GPL은 라이브러리와 애플리케이션 모두에 적용, LGPL은 라이브러리에만 적용
  • 파생물: GPL은 파생물이 배포될 경우 전체 소스 코드를 공개, LGPL은 파생물이라도 라이브러리의 소스코드만 공개
  • 독립성: LGPL은 라이브러리가 다른 소프트웨어와 결합될 때도 해당 소프트웨어의 라이선스를 따르지 않아도 됨. GPL은 다른 소프트웨어와 결합될 때 전체 소스 코드를 공개해야 함