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

GPL v3.0 라이센스 관련 문의

2021.01.07

안녕하세요.

GPL v3.0 라이센스 관련 문의드립니다.

GPL v3.0 라이센스가 적용된 A라는 JAVA 오픈소스 소프트웨어를 사용하여 상용소프트웨어(WEB)를 개발하려고 합니다.

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

1. A 소프트웨어에서 제공하는 라이브러리(Jar) API를 이용하여 상용소프트웨어(WEB)를 개발하는 경우 소스 공개 범위와 대상은 어떻게 되나요?

2. A 소프트웨어에서 제공하는라이브러리(Jar) API를 이용하여 Adapter 라이브러리(jar)를 개발하여상용소프트웨어(WEB)에서 사용하는 경우 소스 공개 범위와 대상은어떻게 되나요?

3. A 소스프트웨어는 독립적으로도 실행가능하도록 할 수 있습니다. 그래서 A 소프트웨어를 독립적으로 실행하고 A 소프트웨어의 환경설정 파일과 Data Table에서 직접 조회 및 등록, 수정하는 상용소프트웨어(WEB)를 개발할 경우 소스 공개 범위와 대상은 어떻게 되나요?

4. 만약 3번 문의과 같이 개발한 경우 상용소프트웨어(WEB) 배포시 A 소프트웨어를 포함해서 배포해도 되나요?

5. 만약 개발한 상용소프트웨어(WEB) 소스를 제공해야 한다면 고객이 요구할 때만 제공해도 되는지요?

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

감사합니다.

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

License 관리자

안녕하세요

OSS 라이선스 관리자입니다.

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

1, 2) "A 소프트웨어에서 제공하는 라이브러리(Jar) API를 이용하여 상용소프트웨어(WEB)를 개발하는 경우"는 상용소프트웨어(WEB)에 A 소프트웨어의 GPL-3.0이 적용되지 않을 것으로 판단되지만, API와 상용소프트웨어(WEB)이 어떤식으로 동작하는지 확인이 필요합니다.

일반적으로 파이프(Pipe), 소켓(Socket), 명령행 인자(Command-line Argument)로 통신하거나, 플러그인을 실행하기 위해 Fork나 Exec를 사용하는 경우는 GPL의 영향을 받지 않는 독립저작물로 보고 있습니다.

소스코드 공개 대상은 배포한 대상에게만 준수하시면 됩니다. 예를 들어, 상용소프트웨어(WEB)을 "홍길동"이라는 개인에게 배포 하였을 경우에는 "홍길동"에게만 소스코드 공개의무가 발생합니다.

3) 상기 질문과 마찬가지로 A 소프트웨어와 상용소프트웨어(WEB)이 독립적으로 실행가능한 형태라면, A 소프트웨어의 라이선스인 GPL-3.0이 상용소프트웨어(WEB)에 영향을 미치지 않습니다.

즉, GPL-3.0은 A 소프트웨어에만 적용되며 A 소프트웨어에 대한 소스코드 공개의무와 배포한 대상에게만 그 의무를 이행하시면 됩니다.

4) A 소프트웨어를 포함해서 배포해도 되나, A 소프트웨어는 GPL-3.0가 그대로 적용되며 A 소프트웨어 범위에 대해서는 GPL-3.0의 조건을 준수하셔야 합니다.

5) 배포 시, (3년 간 유효한) 소스코드 요청 시 소스코드를 제공하겠다는 소스코드 제공약정서(Written Offer)를 제공하여 소스코드 공개의무를 이행할 수 있습니다.

고맙습니다.

※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.

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

안녕하세요.

1, 2 번의 추가 문의 드립니다.

1번의 내용은 아래와 같이 상용소프트웨어(WEB)에서 A 소스트웨어를 import해서 api 호출하는 것입니다.

Import a.xxxx.domain.TestDomain

Import a.xxxx.service.TestSerivce;

public class Test {

public void getData() {

TestSerivce testService = new TestSerivce();

TestDomain testDomain = testService.getData();

}

}

2번의 내용은 아래와 같이 Adapter 라이브러리(jar)를 작성하고

package web.data;

Import a.xxxx.domain.TestDomain;

Import a.xxxx.service.TestSerivce;

Import web.data.doain.ADataDomain;

public class AData {

public ADataDomain getAData() {

TestSerivce testService = new TestSerivce();

TestDomain testDomain = testService.getData();

ADataDomain adata = new ADataDomain();

adata.setId(testDomain.getId());

return adata;

}

}

상용소프트웨어(WEB)에서는 Adapter 라이브러리(Jar)를 아래와 같이 호출하여 사용하려고 합니다.

Import web.data.AData;

Import web.data.AData.ADataDomain;

public class Test {

public void getData() {

AData adata = new AData();

ADataDomain adata = adata.getAData();

}

}

이 경우 소스 공개 범위는 어떻게 되는지요?

감사합니다.

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

License 관리자

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

1, 2번의 경우 모두 GPL-3.0이 상용소프트웨어(WEB)에 영향을 미칠 가능성이 높습니다.

A 소프트웨어에서 제공하는 라이브러리(Jar)가 GPL-3.0일 경우 Java에서 Import는 컴파일 시 링크를 생성하기 때문에 GPL-3.0에 따라 하나의 파생저작물로 볼 수 있습니다.

Adapter 라이브러리(jar)를 개발하여도 GPL-3.0이 Adapter 라이브러리(jar)에 영향을 미치며, Adapter 라이브러리(jar)는 다시 상용소프트웨어(WEB)에 GPL-3.0이 영향을 미칠 것으로 판단됩니다.

A 소프트웨어가 무엇인지 말씀해주시면 좀 더 상세히 답변드릴 수 있을 것 같습니다.

고맙습니다.

※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.

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

안녕하세요.

답변 감사합니다.

A 소프트웨어는 SymmetricDS입니다.

관련 사이트 주소는

https://www.symmetricds.org/

입니다.

감사합니다.

댓글 0

첫 댓글을 작성해보세요!

댓글 작성

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