오픈소스 라이선스 정리

2025. 2. 1. 13:03소프트웨어/기초

📜 오픈소스 라이선스 가이드

⚠️ 실제 사용 시 라이선스 조항을 직접 확인하고, 이 문서는 대략적인 참고 자료로만 활용하세요. 라이선스의 구체적인 조건과 법적 의무는 해당 라이선스의 원문을 확인해야 합니다.

🔹 퍼블릭 도메인 (Public Domain)

완전한 자유: 저작권을 포기하여 누구나 제한 없이 사용, 수정, 배포 가능. 하지만 일부 국가에서는 저작권 포기가 법적으로 불가능할 수 있음.

📌 대표 라이선스

  • CC0 (Creative Commons Zero): 특정 국가의 저작권법을 고려한 퍼블릭 도메인 선언.
  • Unlicense: 저작권을 완전히 포기하고 코드 사용에 제한을 두지 않음.

📌 주요 사용 사례

  • 정부 및 공공 데이터
  • 학술 연구 데이터셋 및 기본 알고리즘 구현체
  • 제약 없는 코드 공유 프로젝트

🔹 퍼미시브 라이선스 (Permissive License)

최소한의 제약: 저작권 고지를 유지하면 자유롭게 사용, 수정, 배포 가능하며, 상업적 이용 및 폐쇄소스 프로젝트에서도 사용 가능.

📌 대표 라이선스

  • MIT License: 간단하고 이해하기 쉬운 라이선스 (예: jQuery, Angular.js, TensorFlow)
  • Apache License 2.0: 특허권 보호 조항 포함, 특허 소송 시 라이선스 자동 종료 (예: Android, Kubernetes, Swift)
  • BSD License:
    • BSD 4-Clause: 광고 조항 포함, 사용이 복잡함.
    • BSD 3-Clause: 광고 조항 제거.
    • BSD 2-Clause: 가장 단순한 형태 (예: Go 언어, PostgreSQL, FreeBSD)
  • ISC License: BSD와 유사하나 더 간결한 문구 사용 (예: OpenBSD, 일부 Node.js 패키지)

🔹 강한 카피레프트 라이선스 (Strong Copyleft)

소스코드 공개 의무: 파생 저작물도 동일한 라이선스로 공개해야 하며, 라이선스를 변경할 수 없음.

📌 대표 라이선스

  • GPL v2: 소스코드 공개 의무, 바이너리 배포 시 소스코드 제공 필수 (예: Linux 커널, MySQL, Git)
  • GPL v3: DRM 제한 방지, 특허 보복 조항 강화 (예: Bash, GCC, GIMP)
  • AGPL v3: 네트워크 서비스 사용 시에도 소스코드 공개 의무 (예: MongoDB(~2018), RocksDB)
    • 참고: MongoDB는 2018년 이후 **SSPL(Server Side Public License)**로 변경됨.

🔹 약한 카피레프트 라이선스 (Weak Copyleft)

라이브러리 예외: 라이브러리를 사용하는 프로그램은 반드시 같은 라이선스를 따를 필요 없음.

📌 대표 라이선스

  • LGPL v2.1: 동적 링킹 허용 (예: GTK+, 일부 Qt 모듈)
  • LGPL v3: LGPL v2.1의 특징 유지 + GPL v3 조항 추가 (예: FFmpeg, 일부 Qt 모듈)
  • MPL 2.0: 파일 단위 카피레프트 적용 (예: Firefox, Thunderbird, LibreOffice)
  • EPL 2.0: 모듈 단위 카피레프트 적용, 특허 관련 조항 포함 (예: Eclipse IDE, JUnit)

📌 라이선스 선택 가이드

📍 프로젝트 목적별 추천 라이선스

목적  추천 라이선스
커뮤니티 중심 GPL / AGPL
기업 친화적 MIT / Apache 2.0
혼합 활용 LGPL / MPL

📍 법적 보호 수준

보호 수준  추천 라이선스
최소한의 보호 MIT / BSD
특허 보호 필요 Apache 2.0
카피레프트 보호 GPL

📍 라이선스 호환성

  • GPL v2와 GPL v3는 호환되지 않음 (GPL v3는 추가 요구 사항이 있어 GPL v2 프로젝트에 직접 포함할 수 없음)
  • Apache 2.0과 GPL v2는 호환되지 않음 (특허 조항 문제)
  • Apache 2.0과 GPL v3는 호환 가능

📍 비즈니스 모델별 추천 라이선스

비즈니스 모델 추천 라이선스
오픈소스 커뮤니티 기반 GPL
듀얼 라이선싱 (무료+상용) GPL 또는 AGPL + 상용 라이선스
서비스 기반 (SaaS 등) MIT / Apache 2.0

📍 배포 방식별 추천 라이선스

배포 방식 추천 라이선스
바이너리 배포 (패키지) GPL 고려 필요
서비스 형태 (웹 서비스 등) AGPL 고려 필요
라이브러리 배포 LGPL / MIT / Apache 2.0

📍 개발 생태계 고려

요소 추천 라이선스
해당 분야의 표준 라이선스 산업 표준 참고
기여자 확보 용이성 MIT / Apache 2.0
산업 표준 준수 필요 BSD / Apache 2.0 / GPL

🔎 결론

라이선스 선택이 프로젝트의 배포 방식과 사용 방식에 영향을 미치므로, 필요에 맞는 라이선스를 신중하게 선택해야 합니다.

  • 상업적 사용과 배포의 자유를 원하면MIT / Apache 2.0
  • 강한 오픈소스 커뮤니티를 지향하면GPL / AGPL
  • 부분적인 보호가 필요하면LGPL / MPL
  • 네트워크 기반 서비스까지 보호하려면AGPL

'소프트웨어 > 기초' 카테고리의 다른 글

2의 보수(Two’s Complement) 정리  (0) 2025.02.04
1의 보수(One’s Complement) 정리  (0) 2025.02.04
오픈 데이터 라이선스 정리  (0) 2025.02.01
시간 복잡도  (0) 2025.01.04
Big O 표기법  (0) 2024.07.13