스물두줄

컴퓨터시스템응용기술사 · 소프트웨어 공학 및 아키텍처

오픈소스 라이선스

오픈소스 라이선스는 소스코드의 사용·수정·배포를 허용하는 이용 허락 조건이다. 무상으로 쓸 수 있어도 조건은 남는다. 자유 이용과 준수 의무가 함께 있다. 소프트웨어는 작성과 동시에 저작권이 생긴다. 라이선스는 그 이용 조건을 밝힌 문서다. 구성요소는 허용 권리, 준…

주요 장면

  1. 0:02 정의
  2. 0:22 구성요소
  3. 0:48 퍼미시브와 카피레프트
  4. 1:13 준수 절차
  5. 1:40 가상 사례: GPL 결합
  6. 2:15 시험 포인트
  7. 2:42 정리

대본

정의

오픈소스 라이선스는 소스코드의 사용·수정·배포를 허용하는 이용 허락 조건이다.

무상으로 쓸 수 있어도 조건은 남는다. 자유 이용과 준수 의무가 함께 있다.

소프트웨어는 작성과 동시에 저작권이 생긴다. 라이선스는 그 이용 조건을 밝힌 문서다.

구성요소

구성요소는 허용 권리, 준수 의무, 책임 제한의 세 묶음으로 나뉜다.

허용 권리는 사용·복제·수정·배포 권한이며 모든 FOSS 라이선스가 가진다.

준수 의무는 저작권 고지, 라이선스 사본 첨부, 변경 표시다.

공개 의무는 파생물 배포 시 소스 공개 여부로 라이선스마다 다르다.

퍼미시브와 카피레프트

라이선스는 의무의 강도에 따라 퍼미시브와 카피레프트로 나뉜다.

퍼미시브는 고지 의무 중심이다. MIT, BSD, Apache 계열이 여기에 속한다.

카피레프트는 파생저작물에도 같은 조건을 전파하는 원리다. GPL이 대표적이다.

약한 카피레프트는 적용 범위를 좁혀 상용 소프트웨어와 결합할 여지를 남긴다.

준수 절차

준수 절차는 사용 대상 오픈소스와 라이선스 종류를 식별하는 것에서 시작한다.

라이선스 원문과 저작권 고지를 유지하고, 수정하면 수정 사실과 일자를 표시한다.

배포 형태에 따라 공개 의무 범위를 판단하고, 사용 목록은 SBOM으로 관리한다.

신규 오픈소스가 추가되면 처음 절차로 돌아가 다시 확인한다.

가상 사례: GPL 결합

가상의 사례다. 한 기업이 GPL 라이브러리를 자사 상용 제품과 정적 결합해 배포하려 한다.

GPL은 파생저작물 전체에 같은 조건을 전파하므로 제품 본체 소스를 공개해야 할 가능성이 크다.

그래서 결합 구조를 바꾸거나 LGPL 대체 라이브러리를 검토해야 한다. 판단 순서는 아래와 같다.

시험 포인트

퍼미시브와 카피레프트는 소스 공개 범위와 상용 결합 가능성에서 뚜렷이 다르다.

시험에서는 이 차이를 표로 비교하고, 고지와 공개 의무를 나누어 쓰는 것이 좋다.

가장 흔한 실수는 오픈소스를 무료 사용으로만 설명하는 것이다. 의무 조건을 함께 써야 한다.

라이선스 양립성은 의무가 동시에 충족될 때만 결합 배포가 가능하다는 점을 기억하자.

정리

정리하면 오픈소스 라이선스는 자유로운 이용과 준수 의무가 함께 있는 이용 허락 조건이다.

고지 의무, 공개 의무, 책임 제한을 항목별로 확인해야 한다.

퍼미시브와 카피레프트를 구분하는 것이 기본이다.

여러 라이선스를 결합할 때는 양립성을 먼저 확인한다.

같은 장의 영상