Linuxpia/리눅스 사용 팁

GPL (GNU General Public License)의 버전별 특징

Linuxpia4U 2025. 4. 28. 08:38
반응형

GPL (GNU General Public License)의 버전별 특징


GPL(GNU General Public License)은 자유 소프트웨어 재단(FSF)에서 만든 오픈소스 라이선스입니다.
소프트웨어를 자유롭게 사용, 수정, 배포할 수 있게 허용하되, 자유를 계속 유지하도록 보장하는 것이 특징입니다.
이를 카피레프트(Copyleft) 철학이라 하며, GPL은 이 철학의 대표적 구현입니다.

GPL은 여러 버전으로 발전해 왔으며, 각 버전마다 세부 조건이 다릅니다.


1. GPL v1 (1991년 발표)

핵심 내용

  • 최초의 GPL 버전
  • 소스코드를 배포할 경우, 동일한 라이선스 조건으로 공개해야 함
  • 수정한 소프트웨어도 GPL을 따르도록 함

한계

  • 특허 문제나 호환성 문제에 대한 조항이 부족
  • 라이브러리 사용 관련 명확한 구분이 없음

2. GPL v2 (1991년 발표, 현재 리눅스 커널 적용 중)

주요 특징

  • "자유롭게 사용할 수 있지만, 변경하거나 재배포할 때는 동일한 자유를 보장하라"
  • 소스코드 공개 의무
  • 파생 저작물 역시 GPL v2로 배포해야 함
  • 특허권 보호 조항 없음
  • Tivoization(티보화) 방지 조항 없음

대표 적용 사례

  • 리눅스 커널
  • Samba, BusyBox 등

주의할 점

  • v2 전용 소프트웨어는 GPL v3와 호환되지 않음
    (단, "v2 또는 이후 버전"이라는 문구가 포함된 경우에는 v3 적용 가능)

3. GPL v3 (2007년 발표)

개선 내용

GPL v2의 문제점을 보완하여 현대 소프트웨어 환경에 맞게 다음 사항을 반영했습니다.

항목 설명

Tivoization 금지 소스는 공개하지만, 실제 장치에서 실행하지 못하게 막는 행위를 제한
특허 보호 조항 소프트웨어 사용자와 개발자를 특허 소송으로부터 보호
국제화 미국 중심 법률 표현에서 벗어나 국제적으로 통용 가능한 용어로 개선
디지털 권리 관리(DRM) 사용자 권한 제한 목적의 DRM 기술을 GPL로 보호하지 않음

단점

  • 라이선스 조건이 까다로워 기업 환경에서 꺼리는 경우도 있음
  • GPL v2-only 프로젝트와는 호환되지 않을 수 있음

대표 적용 사례

  • GNU Bash
  • GCC (GNU Compiler Collection)
  • GIMP

4. LGPL (Lesser GPL) - GPL의 확장

개요

  • 라이브러리나 모듈에 적용되는 GPL의 변형
  • 프로그램 전체가 GPL을 따르지 않아도 됨
  • LGPL 라이브러리를 사용하는 응용 프로그램은 자유롭게 다른 라이선스로 개발 가능

용도

  • 다른 상용 소프트웨어와의 연동을 허용하고자 할 때 사용

5. AGPL (Affero GPL)

개요

  • GPL의 클라우드/웹 기반 소프트웨어를 위한 확장
  • 웹서버에서 동작하는 소프트웨어도 소스코드 공개 의무 포함
  • 클라우드 서비스 제공자가 사용한 AGPL 소프트웨어도 공개 대상

사용 사례

  • MongoDB (과거 AGPL, 현재 SSPL로 변경)
  • Nextcloud

GPL 버전 비교 요약표

항목  GPL v1 GPL v2   GPL v3
발표년도 1989 1991 2007
소스코드 공개 O O O
파생 저작물 라이선스 동일 라이선스 동일 라이선스 동일 라이선스
특허 보호 X X O
DRM 관련 조항 X X O (DRM 방지)
Tivoization 금지 X X O
라이선스 간 호환성 제한적 v3와 호환 안 됨 일부 호환 가능
대표 적용 사례 초창기 GNU 도구 리눅스 커널 GCC, Bash 등

결론

GPL 라이선스는 소프트웨어의 자유를 보장하면서도, 그 자유가 계속 유지되도록 강제하는 독특한 철학을 지니고 있습니다.
사용자는 소프트웨어를 마음껏 쓸 수 있지만, 개발자에게는 책임 있는 공개와 공유를 요구합니다.
프로젝트 성격에 따라 GPL v2, v3 또는 LGPL, AGPL 중에서 적절한 버전을 선택하는 것이 중요합니다.

반응형