본문 바로가기

LGPL3.0 관련 재문의

shim139 게시글 작성 시각 2022-12-22 11:38:38 게시글 조회수 815

아래 게시글 1075 번에서 문의한 답변에 대해 재문의 댓글을 알았는데 혹 확인이 안되셨을지 몰라 재작성합니다.

 

=================================================================

1075 문의글

 

c기반 프로젝트에서 오픈소스 LGPL3.0인 bitpolymul(https://github.com/fast-crypto-lab/bitpolymul) 을 사용하고 있습니다.

c기반이다 보니 '헤더파일+동적라이브러리' 구조로 사용하고 있는데요.

헤더파일은 동적라이브러리를 사용하기 위한 인터페이스와 같은 역할이고요.

여기서 헤더파일을 동적라이브러리를 사용하는 동적링크로 보고 함께 빌드되는 다른 소스코드는 공개하지 않아도 되는것인지 문의드립니다.

==============================================================

답변

 

안녕하세요.
공개소프트웨어 라이선스 관리자입니다.


문의주신 내용 답변드립니다.


말씀해주신 헤더 파일이 bitolymul의 헤더 파일이 아닌
동적라이브러리를 사용하기 위한 헤더파일로 파악됩니다.
즉, LGPL-3.0의 라이브러리를 동적링킹 형태로 사용하시는 것으로 보입니다.
LGPL-3.0을 동적 링킹 시 함께 빌드되는 다른 소스코드는 공개하지 않아도 됩니다.


다만 bitpolymul GitHub 리파지토리에 들어가보면 COPYING에 GPL-3.0 전문이 포함되어 있는데 혹시 bitpolymul 파일 중 GPL-3.0이 적용된 파일이 있는지 확인이 필요해 보입니다.

 

==================================================================

 

재문의

 

'말씀해주신 헤더 파일이 bitolymul의 헤더 파일이 아닌
동적라이브러리를 사용하기 위한 헤더파일로 파악됩니다.' 가 아닙니다.

헤더파일에 'This file is part of BitPolyMul.' 문구와 LGPL3이상 이라고 명시되어 있습니다.

bitpolymul에서 산출한 .so파일을 사용하기 위한 헤더파일에는 GPL 은 없고 라이선스가 명시된 파일에는 아래 문구가 포함되어 있습니다.

/*
Copyright (C) 2017 Ming-Shing Chen
 
This file is part of BitPolyMul.
 
BitPolyMul is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
 
BitPolyMul is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public License
along with BitPolyMul.  If not, see .
*/

이때에도 bitpolymul의 헤더파일이 동적링킹으로 볼 수 있나요?


[이해 돕기 위해 아래와 같이 상세설명 추가합니다.]

1. mit인 libOTe(https://github.com/osu-crypto/libOTe) 를 사용하는데 libOTe에서 bitpolymul(https://github.com/fast-crypto-lab/bitpolymul) 를 사용하고 있어 libOTe, bitpolymul 소스를 다운로드 받아 libOTe는 정적라이브러리(.a)로 bitpolymul동적라이브러리(.so)로 빌드함

2. 1에서 다운로드한 헤더파일과 빌드한 라이브러리를 내 프로젝트에 포함.

   '헤더파일+동적라이브러리' 구조여서 라이브러리 파일(.a, .so)을 사용하기 위해서는 헤더파일이 꼭 있어야함. 

   libOTe에서는 bitpolymul를 사용하기 위한 헤더파일을 하나 만들어 그 파일에서 bitpolymul의 헤더를 include하는 형태로 libOTe의 헤더파일외에 내가 개발한 소스에서는 bitpolymul을 사용하지 않음.

   참고로 bitpolymul의 헤더파일은 파일내 bitpolymul 저작문구(LGPL3) 포함되어 있음

3. 내 프로젝트를 빌드시 1,2 방법으로 포함된 라이브러리를 묶은 .so파일과 실행파일로 빌드되어 배포됨

 

맨 위로
맨 위로