본문 바로가기

LGPL-3.0(2.1) 라이브러리를 사용하여 작성한 자사코드 배포 관련 문의

hhij2 게시글 작성 시각 2021-11-02 16:42:32 게시글 조회수 1965

아래의 오픈소스 라이브러리를 import 하여 작성한 자사 프로그램을
exe 확장자 형태의 실행 파일로 배포하려고 합니다.
(import한 라이브러리는 임의로 수정하지 않고 그대로 사용하였습니다.)
(자사의 소스코드는 User 에게 공개되지 않아야 합니다.)

 

이를 위해 pyinstaller 를 이용하여 exe파일과 dll, pyd 라이브러리로 구성된 형태로 배포하고자 하는데, 
해당 방식이 LPGL 라이선스 (혹은 다른 라이선스)의 내용과 관련하여 제한되는 사항이 없는지 검토하고자 합니다. 

아래의 질문에 대한 답변해주시면 감사하겠습니다.

 

Q1)
"LGPL-3.0은 파생저작물에 대해서도 소스코드 공개할 것을 요구한다"는 항목이 있습니다.

(출처: <https://sktelecom.github.io/guide/use/obligation/lgpl-3.0/>)
자사의 소스코드를 공개하지 않기 위해서는 파생 저작물로 보지 않는 경우를 충족시켜야 할 것으로 보입니다. ("LGPL-2.1 라이브러리를 Dynamic Link하여 사용하는 프로그램")

위에서 말씀드린 pyinstaller 를 사용하여 dll 파일을 만드는 방법이 이 조건에 해당하는 것이라고 볼 수 있는지 궁금합니다. (아니면, "LGPL 라이브러리를 Static Link하여 생성한 실행파일(Executable)을 배포하는 경우"에 해당하는 것인지?)
 

Q2)
자사의 코드가 파생저작물이 아니라고 판단된다면, 공개의무가 있는 라이선스를 가지는 라이브러리에 대한 소스코드'만' 제공하면 되는 것이 맞는 것인지? (궁극적으로 자사코드는 LPGL 3.0의 의무사항을 지키지 않아도 되는 것인지)
 

Q3) LGPL 의무사항 중,
        ○ 사용자가 공개된 LGPL 라이브러리의 소스 코드를 빌드하여 동일한 라이브러리를 만들 수 있는 빌드 환경을 제공한다. 여기에는 다음 사항이 포함된다.
            § Tool chain 정보
            § 빌드 스크립트
            § 빌드 방법 (README)
        출처: <https://sktelecom.github.io/guide/use/obligation/lgpl-3.0/> 
    와 같은 내용이 있는데, 예를 들어 PySide2 라이브러리를 사용자가 직접 빌드할 수 있는 빌드 환경을 제공해야 한다는 의미인지?

Q4) LGPL 의무사항 중, 3.0 에서 추가된 설치 정보제공 의무에 대해 자세히 알고 싶습니다.
검색해본 바로는 아래와 같이 확인하였습니다.
        ○ 라이브러리를 User Product와 배포한다면 설치 정보(Installation Information)을 제공한다.
            § User Product : 전자 기기와 같은 Embedded Device
            § 설치 정보(Installation Information) : 사용자가 소소 코드를 빌드하여 다시 제품에 설치하기 위해 필요한 모든 정보 및 방법
        ○ 사용 제한
        대부분의 User Product는 보안상의 이유로 설치 정보를 제공하는 것이 불가능하다. 따라서, User Product로 배포하는 소프트웨어에는 LGPL-3.0의 오픈소스를 사용하지 않아야 한다.
        
출처: <https://sktelecom.github.io/guide/use/obligation/lgpl-3.0/

맨 위로
맨 위로