Blog
HomePostsTagsCategories
© 2026 Hyeonseok An. All rights reserved.
GitHubEmailInstagram
Home
Develop
소프트웨어 라이선스의 종류별 특징과 실무 적용 방법

소프트웨어 라이선스의 종류별 특징과 실무 적용 방법

August 18, 2025
Loading...
LicenseOpen Source오픈소스GPLMonitoringApacheDevelopSoftwareCopyright저작권Legel Issue
Cover image for 소프트웨어 라이선스의 종류별 특징과 실무 적용 방법
개발자라면 누구나 마주하게 되는 소프트웨어 라이선스. 코드를 작성할 때, 오픈소스 라이브러리를 사용할 때, 그리고 자신의 프로젝트를 공개할 때 반드시 고려해야 하는 중요한 요소입니다. 이 글에서는 소프트웨어 라이선스의 종류와 특징, 그리고 실무에서 어떻게 적용해야 하는지 상세히 알아보겠습니다.

소프트웨어 라이선스란?

소프트웨어 라이선스는 개발자가 자신의 코드를 어떻게 사용할 수 있는지 정의하는 법적 문서입니다. 단순히 "무료로 쓸 수 있다"는 것을 넘어서, 코드의 수정, 재배포, 상업적 이용 등에 대한 구체적인 조건을 명시합니다.

오픈소스 라이선스의 세계

1. Permissive 라이선스 (허용적 라이선스)

특징: 최소한의 제약, 상업적 이용 자유, 라이선스 변경 가능

MIT License - 가장 자유로운 선택

사용 예시: React, Angular, jQuery, Bootstrap
MIT 라이선스는 오픈소스 세계에서 가장 널리 사용되는 라이선스 중 하나입니다.
주요 특징:
  • 가장 자유로운 라이선스
  • 의무사항: 저작권 표시만 유지
  • 허용: 상업적 이용, 수정, 배포, 개인적 사용
  • 금지사항: 원작자에게 책임 전가
// MIT 라이선스로 만든 라이브러리를 가져와서: ✅ 상업용 앱에 포함해서 판매 가능 ✅ 코드 수정해서 재배포 가능 ✅ 자체 라이선스로 변경 가능 ❌ 문제 발생 시 원작자 책임 불가

Apache License 2.0 - 기업 친화적

사용 예시: Android, Kubernetes, Elasticsearch
Apache 라이선스는 MIT의 장점에 특허 보호 조항을 추가한 것으로, 기업 환경에서 더욱 안전합니다.
주요 특징:
  • MIT + 특허 보호 조항
  • 추가 보호: 기여자의 특허권 보호
  • 의무사항: 저작권 표시 + NOTICE 파일 포함
// Apache 라이브러리 사용 시: ✅ 특허 소송으로부터 보호받음 ✅ 기업에서 안전하게 사용 가능 📋 변경사항을 NOTICE 파일에 기록해야 함

BSD License - 간결한 선택

사용 예시: FreeBSD, PostgreSQL
  • 2-Clause: MIT와 거의 동일
  • 3-Clause: 광고 시 허가 없이 이름 사용 금지
// BSD 라이브러리로 제품 만들 때: ✅ "우리 제품은 PostgreSQL 사용" (일반 언급 가능) ❌ "PostgreSQL이 우리 제품을 추천합니다" (금지)

2. Copyleft 라이선스 (상호적 라이선스)

특징: "전염성" - 파생작품도 같은 라이선스 적용 필수

GPL (General Public License) - 강력한 자유 소프트웨어

사용 예시: Linux Kernel, WordPress, GIMP
GPL은 자유 소프트웨어 재단(FSF)이 만든 강력한 copyleft 라이선스입니다.
주요 특징:
  • 강력한 Copyleft: 파생작품도 반드시 GPL로 공개
  • 바이러스 효과: GPL 코드 한 줄이라도 포함하면 전체가 GPL
// GPL 라이브러리를 상업용 앱에 포함하면: ❌ 전체 앱 소스코드를 GPL로 공개해야 함 ❌ 고객에게 소스코드 제공 의무 ✅ 오픈소스 프로젝트에서는 자유롭게 사용 가능

LGPL (Lesser GPL) - 라이브러리를 위한 완화된 GPL

사용 예시: Qt, GStreamer, GNU C Library
LGPL은 라이브러리를 위해 설계된 완화된 형태의 GPL입니다.
주요 특징:
  • 완화된 Copyleft: 동적 링크 시 더 관대
  • 라이브러리 특화: 주로 라이브러리용
// LGPL 라이브러리 사용: ✅ 동적 링크(.dll, .so)로 사용하면 앱 소스공개 불필요 ❌ 정적 링크나 코드 수정하면 해당 부분 공개 필요 📋 LGPL 라이브러리 사용 사실은 명시해야 함

AGPL (Affero GPL) - 네트워크 시대의 GPL

사용 예시: MongoDB (과거), Grafana
AGPL은 웹서비스 시대에 맞춰 GPL의 허점을 보완한 라이선스입니다.
주요 특징:
  • 네트워크 Copyleft: 웹서비스도 소스공개 의무
  • SaaS 대응: GPL의 ASP 허점 보완
// AGPL 코드로 웹서비스 운영 시: ❌ 사용자가 소스코드 요청하면 반드시 제공 ❌ 클라우드 서비스라도 소스공개 의무 ⚠️ 대부분 기업에서 사용 금지

3. 약한 Copyleft

MPL 2.0 (Mozilla Public License) - 파일 단위 공개

사용 예시: Firefox, Thunderbird
MPL은 파일 단위로 copyleft를 적용하는 중간적 성격의 라이선스입니다.
주요 특징:
  • 파일 단위: 수정한 파일만 공개하면 됨
  • 결합 허용: 다른 라이선스 코드와 결합 가능
// MPL 라이브러리 수정 시: ✅ 수정한 파일만 MPL로 공개 ✅ 나머지 코드는 proprietary 가능 📋 변경사항 명시 필요

상업적 라이선스

Proprietary License

  • 예시: Microsoft Office, Adobe Photoshop
  • 완전 독점: 소스코드 비공개
  • 사용 제한: 라이선스 계약서에 따라 제한

Dual License

  • 예시: MySQL, Qt
  • 두 가지 선택: GPL (무료) vs Commercial (유료)
  • 비즈니스 모델: 오픈소스 + 상업적 수익

실제 프로젝트 선택 가이드

개인/오픈소스 프로젝트

{ "license": "MIT" // React, Vue, Express 등과 동일 }
MIT 라이선스는 가장 널리 사용되며, 다른 개발자들이 쉽게 기여할 수 있습니다.

기업/스타트업

{ "license": "Apache-2.0" // Google, Netflix 등이 선호 }
Apache 2.0은 특허 보호 조항으로 인해 기업 환경에서 더욱 안전합니다.

오픈소스 철학 중시

{ "license": "GPL-3.0-or-later" }
자유 소프트웨어의 가치를 중시한다면 GPL을 선택하세요.

라이선스 호환성 매트릭스

사용하려는 라이선스 →
MIT
Apache
GPL
LGPL
AGPL
내 프로젝트가 Apache
✅
✅
❌
❌
❌
내 프로젝트가 MIT
✅
✅
❌
❌
❌
내 프로젝트가 GPL
✅
✅
✅
✅
❌

라이선스 확인 도구

자동화 도구

# 프로젝트 의존성 라이선스 확인 npm install -g license-checker license-checker --summary # GitHub에서 라이선스 확인 # repository의 LICENSE 파일 또는 package.json 확인

주의사항

# 위험한 조합 예시 ❌ GPL 라이브러리 + MIT 프로젝트 = 전체가 GPL이 됨 ❌ AGPL 웹서비스 = 소스코드 공개 의무 ⚠️ 특허 관련 분쟁 시 Apache 2.0이 MIT보다 안전

베스트 프랙티스

  1. 프로젝트 시작 시 라이선스 결정
  1. 의존성 라이선스 정기적 검토
  1. 기업 정책 확인 (일부 기업은 GPL 금지)
  1. 법무팀 검토 (상업적 제품의 경우)
  1. 라이선스 호환성 체크 자동화

핵심 요약

  • MIT: 가장 자유로운 라이선스, 개인/오픈소스 프로젝트 추천
  • Apache 2.0: 특허 보호, 기업 환경에서 안전
  • GPL: 강력한 copyleft, 오픈소스 철학 중시
  • LGPL: 라이브러리용, GPL보다 관대
  • 상업적 프로젝트: 의존성 라이선스 호환성 필수 확인

마무리

소프트웨어 라이선스는 단순한 법적 문서가 아니라, 개발자와 사용자 간의 신뢰를 바탕으로 한 약속입니다. 적절한 라이선스 선택은 프로젝트의 성공과 지속가능성에 큰 영향을 미칩니다.
개인 프로젝트라면 MIT, 기업 환경이라면 Apache 2.0, 자유 소프트웨어 철학을 중시한다면 GPL을 고려해보세요. 무엇보다 중요한 것은 사용하는 라이브러리들의 라이선스 호환성을 반드시 확인하는 것입니다.
Tags:LicenseOpen Source오픈소스GPLMonitoringApacheDevelopSoftwareCopyright저작권Legel Issue