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

OSS 라이선스 코드 공개 범위와 라이선스 조치사항 문의

2014.07.18

안녕하세요...

솔루션 개발시 오픈소스 라이선스에 따른 코드 공개 범위와 라이선스 조치사항에 대해 문의드립니다.

현재 솔루션 개발시 Maven Project를 통해서 사용되는 pom.xml에 첨부되는 라이브러리는 다음과 같습니다.

라이브러리

라이선스

asm-3.3.1.jar

BSD License

bridge-method-annotation-1.11.jar

MIT

License

commons-codec-1.5.jar

Apache

License 2.0

ecj-3.7.2.jar

Eclipse

Public License v1.0

hamcrest-core-1.3.jar

New

BSD License

hibernate-validator-5.1.1.Final.jar

GNU

Lesser General Public License

htmlunit-core-js-2.7.jar

Mozilla

Public License version 2.0

jackson-datatype-jsr310-2.3.1.jar

Apache

License, Version 2.0

GNU Lesser General Public License, Version 2.1

jandex-1.1.0.Final.jar

Apache

License 2.0

javassist-3.18.1-GA.jar

MPL

1.1

LGPL 2.1

Apache License 2.0

javax.persistence-2.1.0.jar

Eclipse

Public License v1.0

Eclipse Distribution License v. 1.0

javax.servlet-api-3.0.1.jar

CDDL

+ GPLv2 with classpath exception

jul-to-slf4j-1.7.6.jar

MIT

License

junit-4.11.jar

Common

Public License Version 1.0

logback-core-1.0.13.jar

Eclipse

Public License - v 1.0

GNU Lesser General Public License

mockito-all-1.8.4.jar

The

MIT License

mysema-commons-lang-0.2.4.jar

The

Apache Software License, Version 2.0

mysql-connector-java-5.1.6.jar

The

GNU General Public License, Version 2

nekohtml-1.9.14.jar

The

Apache Software License, Version 2.0

ojdbc6-11.1.0.7.0.jar

Oracle

Technology Network Development and Distribution License Terms

위에서 사용하는 라이브러리들 중에서 Copyleft 성격을 가진 라이선스들이 다수 포함되어 있습니다.

1. Maven pom.xml에서 사용하는 라이브러리들을 수정하지 않는 조건하에서 이 라이브러리들과 사용되는 응용프로그램의 결합여부를 링크로 봐야 하는 건지요? 아니면 독립된 프로그램으로 볼수 있는지요?

2. GPL은  소스코드 공개 범위가 전체 코드로 되어 있는데, 위와 같은 경우에도 응용프로그램의 전체코드를 모두 공개해야 하나요?

- GPL 사용 라이브러리만 공개하고, 응용 프로그램의 소스코드를 공개 하지 않으려면 어떠한 개발 방식으로 구현을 해야 하나요? (가이드라인 매뉴얼에 보면 독립된 프로그램으로 구현될때 응용프로그램 코드는 공개하지 않아도 된다고 하는데, GPL 사용 라이브러리들만 인터페이스를 만들어 이 인터페이스를 통해서만 응용프로그램과 통신을 하는 형태로 구현되면, 코드 공개 범위를 GPL 라이브러리들과 인터페이스로 한정할 수 있나요?)

3. 여러 라이선스를 사용하고 있는데, 이들과의 라이선스 호환성 문제를 고려해야 하나요? 예를 들면 apache 2.0과 gpl 2.0은 호환되지 않는 라이선스로 알고 있는데 , 이런 경우에 라이선스 조치사항은 어떻게 되나요?

- 별도로, 라이선스양립성문제관련하여 다른 제조사의 라이선스 사용 고지를 보면 GPL 2.0, MPL 1.1, Apache 2.0 등을 사용하고 컴포넌트들이 많은데, 이 경우 라이선스 양립문제는 어떻게 해결을 해야 되는 건지 알고 싶습니다.

(URL 참조 : https://www.lg.com/global/support/opensource/opensourceList?superOsCategoryId=CAT00000005&osCategoryId= : 라이선스 Notice 참조)

4. mysql-connector-java-5.1.6.jar, ojdbc6-11.1.0.7.0.jar 같은 경우  Commercial 라이선스 적용을 받나요? 맞다면, 이 라이브러리를 사용한다고 했을때, 상용 라이선스 구매를 할 필요가 있나요?

5. 그 밖에 고려해야할 라이선스 의무 사항이나, 알아야 할 라이선스 조치사항이 있는지도 함께 확인 부탁드립니다.

감사합니다.

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

OSS

안녕하세요.

문의하신 내용에 대한 답변입니다.

1. Maven pom.xml에서 사용하는 라이브러리들을 수정하지 않는 조건하에서 이 라이브러리들과 사용되는 응용프로그램의 결합여부를 링크로 봐야 하는 건지요? 아니면 독립된 프로그램으로 볼수 있는지요?

=> 링크로 보는 것이 맞습니다.

2. GPL은  소스코드 공개 범위가 전체 코드로 되어 있는데, 위와 같은 경우에도 응용프로그램의 전체코드를 모두 공개해야 하나요?

- GPL 사용 라이브러리만 공개하고, 응용 프로그램의 소스코드를 공개 하지 않으려면 어떠한 개발 방식으로 구현을 해야 하나요? (가이드라인 매뉴얼에 보면 독립된 프로그램으로 구현될때 응용프로그램 코드는 공개하지 않아도 된다고 하는데, GPL 사용 라이브러리들만 인터페이스를 만들어 이 인터페이스를 통해서만 응용프로그램과 통신을 하는 형태로 구현되면, 코드 공개 범위를 GPL 라이브러리들과 인터페이스로 한정할 수 있나요?)

=> GPL은 라이브러리 링크도 라이선스 범위에 들어가므로 모든 코드를 공개해야 합니다.

다만 해당 GPL 라이브러리를 별도의 프로세스로 작동하게 끔 인터페이스를 구현하실 경우(독립된 프로세스로 실행되도록 구현할 경우) 공개의무에서 벗어날 수도 있습니다.

3. 여러 라이선스를 사용하고 있는데, 이들과의 라이선스 호환성 문제를 고려해야 하나요? 예를 들면 apache 2.0과 gpl 2.0은 호환되지 않는 라이선스로 알고 있는데 , 이런 경우에 라이선스 조치사항은 어떻게 되나요?

- 별도로, 라이선스양립성문제관련하여 다른 제조사의 라이선스 사용 고지를 보면 GPL 2.0, MPL 1.1, Apache 2.0 등을 사용하고 컴포넌트들이 많은데, 이 경우 라이선스 양립문제는 어떻게 해결을 해야 되는 건지 알고 싶습니다.

(URL 참조 : https://www.lg.com/global/support/opensource/opensourceList?superOsCategoryId=CAT00000005&osCategoryId= : 라이선스 Notice 참조)

=> 별도로 해당 라이브러리의 라이선스를 고지해 주시면 될 것 같습니다. 호환성의 요지는 사용자가 MPL을 GPL로( 그 반대의 경우도)오해하도록 MPL을 GPL로 공개하지 말라는 것인데 각 라이브러리는 취사선택하여 사용할 수 있어서 고지만 적절히 하시면 호환성에 문제는 되지 않을 것 같습니다.

4. mysql-connector-java-5.1.6.jar, ojdbc6-11.1.0.7.0.jar 같은 경우  Commercial 라이선스 적용을 받나요? 맞다면, 이 라이브러리를 사용한다고 했을때, 상용 라이선스 구매를 할 필요가 있나요?

=> 오라클의 상용라이선스 정책에는 커넥터를 제공할 때 사용자가 선택의 여지 없이 mysql만을 사용해야 한다면 해당 프로그램 배포자가 상용라이선스를 구매해야 된다고 되어 있습니다.

5. 그 밖에 고려해야할 라이선스 의무 사항이나, 알아야 할 라이선스 조치사항이 있는지도 함께 확인 부탁드립니다.

=> GPL 2.0외에는 전부 수정 사용하지 않는 라이브러리 복제 사용이기 때문에 고지의 의무, 라이선스 원문 함께 배포, LGPL의 경우에는 라이브러리의 원 소스코드를 얻을 수 있는 출처(링크)를 함께 제공하시면 됩니다.

감사합니다.

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

댓글 0

첫 댓글을 작성해보세요!

댓글 작성

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