History

  • [2026-01-13 Tue 14:02] 오픈소스 소프트웨어 라이선스 체계 추가
  • [2025-06-20 Fri 10:29] 인공지능 윤리 도덕 확장
  • [2025-05-27 Tue 20:16] 중요한 개념

오픈소스 소프트웨어 라이선스(Open Source Software Licenses)

[2026-01-13 Tue 14:10]

오픈소스 라이선스는 소프트웨어의 사용, 수정, 배포 조건을 정의합니다. 크게 허용적(Permissive) 라이선스와 카피레프트(Copyleft) 라이선스로 나뉩니다.

허용적 라이선스(Permissive Licenses)

상업적 사용, 수정, 재배포가 자유로우며 수정 코드의 공개 의무가 없습니다.

MIT License

  • 가장 단순하고 제약이 적은 라이선스
  • 상업적 사용 자유
  • 라이선스 고지와 저작권 표시만 필요
  • 예: jQuery, Rails, Node.js

Apache 2.0 License

  • MIT보다 명시적인 특허권 보호 조항 포함
  • 상업적 사용 자유
  • 수정 사항 명시 의무
  • 예: Home Assistant, ESPHome, Android, Kubernetes

BSD Licenses (2-clause, 3-clause)

  • MIT와 유사하나 약간 더 명시적
  • 3-clause는 저작자 이름의 무단 사용 금지 조항 포함
  • 예: FreeBSD, OpenBSD

카피레프트 라이선스(Copyleft Licenses)

수정된 코드를 배포할 때 동일한 라이선스로 공개해야 합니다.

GPL (GNU General Public License)

  • 가장 강력한 카피레프트 라이선스
  • 수정 코드 전체를 GPL로 공개 의무
  • 상업적 사용 가능하나 소스 공개 필수
  • 버전: GPLv2, GPLv3
  • 예: Linux Kernel(GPLv2), Git(GPLv2)

LGPL (GNU Lesser General Public License)

  • GPL보다 완화된 버전
  • 라이브러리로 링크만 하면 전체 공개 의무 없음
  • 라이브러리 자체 수정 시에만 공개 의무
  • 예: Qt (일부), FFmpeg

AGPL (Affero General Public License)

  • GPL의 네트워크 서비스 버전
  • 네트워크를 통한 서비스 제공도 배포로 간주
  • 클라우드 서비스에도 소스 공개 의무
  • 예: MongoDB(과거), Nextcloud

라이선스 선택 가이드

목적추천 라이선스이유
최대한 자유로운 사용MIT가장 단순, 제약 최소
특허 보호 필요Apache 2.0명시적 특허권 조항
오픈소스 생태계 유지GPL수정 코드 공개 의무
라이브러리 개발LGPL상업적 사용 허용, 수정 시 공개
클라우드 서비스 보호AGPL네트워크 서비스도 공개 의무

라이선스 호환성(License Compatibility)

  • MIT/BSD/Apache → GPL: 가능 (단방향)
  • GPL → MIT/BSD/Apache: 불가능
  • GPL + LGPL: 조건부 가능
  • Apache 2.0 + GPLv2: 호환 불가
  • Apache 2.0 + GPLv3: 호환 가능

듀얼 라이선스(Dual Licensing)

상업적 라이선스와 오픈소스 라이선스를 동시에 제공하는 전략:

  • Qt: LGPL + Commercial
  • MySQL: GPL + Commercial
  • 개발사는 수익 창출, 커뮤니티는 오픈소스 혜택

참고자료

KEYWORDS