소프트웨어 라이선스 (Software License)

소프트웨어의 사용, 수정, 배포에 대한 권리와 제한을 정의하는 법적 도구
라이센스는 크게 오픈소스 라이센스와 상용 라이센스로 나눌 수 있다.

라이센스 종류주요 특징소스코드 공개 의무상업적 사용특허권 보호대표적인 소프트웨어
GPL v3가장 엄격한 카피레프트필수가능있음Linux Kernel, GCC
AGPL v3네트워크 서비스도 소스 공개필수가능있음MongoDB(~2018)
LGPL v3라이브러리 링크 허용수정시에만 필수가능있음FFmpeg
MPL 2.0파일 단위 카피레프트수정시에만 필수가능있음Firefox
Apache 2.0특허권 명시적 허용선택적가능있음Android, Spring
MIT가장 자유로운 라이센스선택적가능없음jQuery, Node.js
BSDMIT와 유사한 허용적 라이센스선택적가능없음PostgreSQL
Proprietary모든 권한 제한불가제한적있음Windows, Oracle

라이센스들의 주요 특징

  1. GPL (GNU General Public License)

    • 가장 엄격한 카피레프트 조항을 가진 라이센스이다
    • 소프트웨어를 수정하거나 배포할 때 반드시 같은 라이센스로 소스코드를 공개해야 한다
    • 파생 저작물도 같은 GPL 라이센스를 따라야 한다.
  2. AGPL (Affero General Public License)

    • GPL을 기반으로 하되, 네트워크 서비스에 대한 조항이 추가되었다
    • 네트워크를 통해 서비스를 제공할 때도 소스코드를 공개해야 한다
    • 클라우드 서비스에서 많이 고려되는 라이센스이다
  3. LGPL (Lesser General Public License)

    • GPL보다 덜 제한적인 라이센스이다.
    • 라이브러리를 링크하여 사용하는 경우 소스코드 공개 의무가 없다.
    • 라이브러리 자체를 수정할 때만 소스코드를 공개하면 된다.
  4. MPL (Mozilla Public License)

    • 파일 단위로 카피레프트가 적용된다.
    • 수정한 파일만 소스코드를 공개하면 된다.
    • 다른 라이센스와의 호환성이 좋다.
  5. Apache License

    • 특허권에 대한 명시적인 허용을 포함한다.
    • 상업적 이용이 자유롭다.
    • 수정 사항에 대한 표시만 요구한다.
  6. MIT License

    • 가장 단순하고 자유로운 라이센스이다.
    • 저작권 표시와 라이센스 사본만 유지하면 된다.
    • 상업적 이용을 포함한 모든 사용이 자유롭다.
  7. BSD License

    • `MIT와 유사한 허용적 라이센스이다.
    • 원저작자의 이름을 홍보에 사용하지 못하도록 하는 조항이 있다.
    • 자유로운 사용과 수정이 가능하다.`
  8. Proprietary License

    • 모든 권한이 저작권자에게 있다.
    • 사용, 수정, 배포에 제한이 있다.
    • 일반적으로 유료로 라이센스가 제공된다.

라이센스 선택 시 고려해야 할 사항

  1. 프로젝트의 목적
  1. 법적 보호
  1. 호환성
  1. 비즈니스 모델

참고 및 출처