2020.11.26
안녕하세요.
프로그램을 개발하던 중 라이선스관련 의문이 생겨 질문드립니다.
개발중인 프로그램은 C++로 개발중이며 서버 PC에 있는 MySQL에 접근하기 위한 방법으로
MySQL Connector 라이브러리를 사용했습니다.
그런데 MySQL Connector 라이선스가 GPL이라고 하여 소스코드 공개 우려로 인해
다른방법을 찾아보던중 MariaDB Connector의 라이선스가 LGPL이어서 이를 사용하려 합니다.
질문1)
프로그램 소스에 MySQL Connector 라이브러리를 include하여 개발할 경우,
이 프로그램을 배포 시 소스코드 공개를 해야하나요?
질문2)
프로그램 소스에 MariaDB Connector 라이브러리를 include하여 개발할 경우,
이 프로그램을 배포 시 소스코드 공개를 해야하나요?
질문3)
프로그램 배포 시 MariaDB Connector 라이브러리 파일을 포함할 경우,
이 프로그램의 소스코드 공개를 해야하나요?
답변 주시면 감사하겠습니다.
------ 댓글 -------
License 관리자
안녕하세요
OSS 라이선스 관리자입니다.
문의주신 내용 답변드립니다.
질문1)
MySQL Connector의 경우 GPL-2.0으로 include할 경우, 예외 적용 범위가 아니라면 전체 프로그램의 소스코드에 대한 공개의무가 발생할 수 있습니다.
GPL-2.0의 예외 적용 사항으로 GPL-2.0의 프로그램과 개발하시는 프로그램의 2개의 프로그램이 파이프(pipe), 소켓(socket), command line arguments 형태로 통신하는 경우에는 GPL-2.0이 개발하시는 프로그램에 적용되지 않습니다.
질문2, 질문3)
MariaDB Connector 라이브러리를 라이브러리 링킹 사용하는지 검토가 필요합니다.
만약 라이브러리 링킹되어 결합한다면 LGPL-2.1 라이선스에 따라 MariaDB Connector 라이브러리에만 공개의무가 발생하고, 개발하시는 프로그램의 소스코드 범위에는 공개의무가 발생하지 않습니다.
다만, 라이브러리 링킹이 아닌 파일 사용, 함수 호출 등으로 결합한다면 GPL-2.0이 적용되어 전체 프로그램의 소스코드에 대한 공개의무가 발생할 수 있습니다.
고맙습니다
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
------ 댓글 -------
답변 감사합니다.
답변주신 내용중에 궁금하게 생겨서 한가지만 더 여쭤보겠습니다.
라이브러리 링킹이라는 것이 어떤것을 의미하는지 잘 모르겠습니다.
현재 c++에서 라이브러리 파일을 include 하여 함수를 호출하는 형태로 사용중입니다.
이 경우에는 라이브러리 링킹이라고 볼 수 없나요?
------ 댓글 -------
License 관리자
dll 파일(동적링킹)이나 lib 내에 위치(정적링킹)한 라이브러리가 포함되고,
라이브러리의 헤더파일을 include하는 경우를 라이브러리 링킹이라 볼 수 있습니다.
고맙습니다
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
댓글 0
댓글 작성
댓글을 작성하려면 게시글 작성 시 입력한 이메일과 패스워드를 입력해주세요.