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
댓글 작성
댓글을 작성하려면 게시글 작성 시 입력한 이메일과 패스워드를 입력해주세요.