GNU 프로젝트와 자유 소프트웨어 라이선스 정리 – GPL, LGPL, BSD
리눅스와 오픈소스 소프트웨어의 핵심 철학에는 GNU 프로젝트와 자유 소프트웨어 라이선스가 자리 잡고 있습니다. 이번 글에서는 GNU의 정의와 GPL, LGPL, BSD 등 주요 라이선스를 비교하며, 자유 소프트웨어의 네 가지 조건도 함께 정리해 드립니다.
1. GNU 프로젝트란?
정의
GNU는 “GNU is Not Unix”의 재귀적 약어로, 유닉스와 호환되지만 자유롭게 사용 가능한 소프트웨어를 개발하기 위해 1983년 리처드 스톨먼(Richard Stallman)에 의해 시작된 프로젝트입니다.
주요 GNU 소프트웨어
| 소프트웨어 | 설명 |
|---|---|
gcc |
GNU 컴파일러 컬렉션 (C, C++, 등) |
emacs |
강력한 텍스트 에디터 |
bash |
표준 유닉스 셸 |
GNOME |
리눅스 데스크탑 환경의 대표주자 |
GNU 소프트웨어는 리눅스 커널과 함께 GNU/Linux 운영 체제를 구성합니다.
2. 주요 자유 소프트웨어 라이선스 비교
리눅스와 대부분의 오픈소스 소프트웨어는 특정 라이선스에 따라 사용과 배포가 이루어집니다. 라이선스는 단순한 사용 조건이 아니라, 소프트웨어 자유와 공유의 범위를 규정합니다.
2.1 GPL (GNU General Public License)
| 항목 | 설명 |
|---|---|
| 정의 | 자유 소프트웨어 재단(FSF)이 만든 대표적 라이선스 |
| 철학 | Copyleft 기반: 수정하거나 결합한 프로그램도 GPL을 따라야 함 |
| 주요 특징 |
- 복사 및 배포 자유
- 수정 가능
- 소스코드 공개 의무
-
독점 소프트웨어와 결합 시 전체 공개 의무 발생
GPL은 소프트웨어를 공동체 자산으로 유지하는 데 중점을 둡니다.
2.2 LGPL (Lesser GPL)
| 항목 | 설명 |
|---|---|
| 정의 | GPL보다 조건을 완화한 라이선스 (주로 라이브러리에 적용) |
| 주요 특징 |
- LGPL 라이브러리와 결합한 프로그램은 소스 공개 의무 없음
- LGPL 코드를 수정하면 해당 부분은 공개해야 함
-
상업용 소프트웨어와도 혼용 가능
LGPL은 기업과 오픈소스 간의 균형을 고려한 라이선스입니다.
2.3 BSD (Berkeley Software Distribution)
| 항목 | 설명 |
|---|---|
| 정의 | 버클리 대학에서 개발한 유닉스 계열 소프트웨어 라이선스 |
| 주요 특징 |
- 소스코드 공개 의무 없음
- 저작권자 명시만 하면 자유롭게 사용 가능
-
독점 소프트웨어와 결합 가능 (상용화에 유리)
BSD는 제약이 가장 적은 자유로운 라이선스로, macOS, FreeBSD 등에 적용됩니다.
3. GNU/FSF 자유 소프트웨어의 4대 조건
- 자유 소프트웨어(Free Software)는 단순히 무료가 아니라, **사용자의 자유를 보장하는 소프트웨어입니다. GNU와 FSF는 다음 네 가지 조건을 충족해야 ‘자유 소프트웨어’라고 정의합니다.
| 번호 | 조건 | 설명 |
|---|---|---|
| 1 | 실행의 자유 | 어떤 목적으로든 제한 없이 실행 가능 |
| 2 | 연구 및 수정의 자유 | 소스코드 열람 및 수정 가능 |
| 3 | 복제 및 배포의 자유 | 다른 사람과 자유롭게 복사·공유 가능 |
| 4 | 개선 및 환원의 자유 | 기능을 개선하고 이를 공동체와 공유 가능 |
⚠️ 이 조건을 충족하지 못하면 오픈소스라도 자유 소프트웨어는 아닙니다.
라이선스 비교 요약표
| 항목 | GPL | LGPL | BSD |
|---|---|---|---|
| 소스 공개 | 필수 | 수정 시만 필수 | 불필요 |
| 상용 소프트웨어와 결합 | 제한 있음 | 가능 | 가능 |
| 대표 적용 대상 | 애플리케이션, 운영체제 | 라이브러리 | 시스템 유틸리티, 프레임워크 |
| 목적 | 커뮤니티 보호 | 융통성 부여 | 상용화 용이 |
질문 정리
Q1. 오픈소스 = 자유 소프트웨어인가요?
- 아닙니다. 오픈소스는 소스코드를 볼 수 있다는 의미이고, 자유 소프트웨어는 자유로운 사용·배포·수정 권리까지 포함해야 합니다.
Q2. GPL 소프트웨어와 상용 소프트웨어를 함께 쓰면?
- 상용 소프트웨어도 GPL을 따라야 하므로 소스코드를 공개해야 합니다.
Q3. LGPL 라이브러리는 상용 앱에서 써도 되나요?
- 네, 단 LGPL 라이브러리 사용 사실을 명시하면 소스코드 공개 없이도 사용할 수 있습니다.
Q4. BSD 라이선스는 왜 상용에 많이 쓰이나요?
- 소스 공개 의무가 없고, 상업적 사용에 제약이 거의 없기 때문입니다.
정리
-
GNU 프로젝트는 유닉스와 호환되는 자유 소프트웨어 생태계 구축의 출발점
-
GPL, LGPL, BSD는 각각 다른 수준의 자유와 조건을 갖는 라이선스
-
자유 소프트웨어의 핵심은 네 가지 자유
→ 실행, 수정, 배포, 개선 및 환원
댓글남기기