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