이 누리집은 대한민국 공식 전자정부 누리집입니다.

LGPL 3.0 라이선스 문의

2022.12.21

c기반 프로젝트에서 오픈소스 LGPL3.0인 bitpolymul(

https://github.com/fast-crypto-lab/bitpolymul

) 을 사용하고 있습니다.

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

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

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

------ 댓글 -------

License 관리자

안녕하세요.

공개소프트웨어 라이선스 관리자입니다.

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

말씀해주신 헤더 파일이 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파일과 실행파일로 빌드되어 배포됨

댓글 0

첫 댓글을 작성해보세요!

댓글 작성

댓글을 작성하려면 게시글 작성 시 입력한 이메일과 패스워드를 입력해주세요.