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

OpenJDK License 문의

2017.02.03

안녕하세요.

OpenJDK 사용 관련하여 모르는 내용이 있어 문의드립니다.

현재 Oracle JDK 대신 OpenJDK 사용을 검토중인데,

OpenJDK의 VM은 GPL v2를, OpenJDK의 class library들은 GPL v2 + Classpath exception으로 라이센싱 되어 있습니다.

1. OpenJDK 사용시 VM 위에서 수행되는 모든 코드를 공개해야 하나요?

구글 검색으로는 OpenJDK 소스코드 수정이 없는 경우 코드 공개는 불필요한 것으로 보이지만,

확인차 문의드립니다.

http://stackoverflow.com/questions/4143635/do-i-need-to-open-my-source-code-if-i-use-openjdk-as-jvm

2. OpenJDK 수정시 수정된 OpenJDK 부분만 open 하면 되나요?

아니면 해당 API를 사용하는 모듈의 전체 코드를 공개해야 하나요?

감사합니다.

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

안녕하세요.

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

1. JVM 자체는 GPL 2.0 라이선스를 따르지만, 외부 연동을 위한 API들은 Classpath Exception 라이선스가 적용되므로 VM 위에서 수행되는 코드에 대한 공개의무는 없어보입니다.

2. OpenJDK 자체를 수정할 경우 OpenJDK Assembly Exception(

http://openjdk.java.net/legal/assembly-exception.html

) 라이선스의 적용을 받습니다.

OpenJDK의 소스코드를 독립 모듈과 링크(정적, 동적 모두)시킬 경우에는 모두 GPL 2.0의 적용을 받습니다.

※ 단, Sun이 라이선스를 부여한 Designated Exception Modules(

http://openjdk.java.net/legal/exception-modules-2007-05-08.html

)에 명시한 모듈에 대해서는 OpenJDK와 링크 후에도 해당 모듈들은 각자의 라이선스를 유지합니다.

문의하신 경우는 OpenJDK에서 제공하는 라이브러리를 일부 수정하여 귀사에서 개발한 프로그램에 포함시키는 경우로 이해됩니다.

GNU GPL v2 with the Classpath Exception(

http://openjdk.java.net/legal/gplv2+ce.html

) 라이선스 하단에 위치한 Classpath Exception 조항을 보시면 귀사에서 수정한 라이브러리 버전에 대해서도 Classpath Exception 조항을 확장 적용시킬 수 있다고 하고 있으므로(하단 원문 푸른색 폰트 참고) 귀사의 모듈을 공개할 의무는 없어 보입니다.

[참고]

"CLASSPATH" EXCEPTION TO THE GPL

Certain source files distributed by Oracle America and/or its affiliates are

subject to the following clarification and special exception to the GPL, but

only where Oracle has expressly included in the particular source file's header

the words "Oracle designates this particular file as subject to the "Classpath"

exception as provided by Oracle in the LICENSE file that accompanied this code."

Linking this library statically or dynamically with other modules is making

a combined work based on this library.  Thus, the terms and conditions of

the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you

permission to link this library with independent modules to produce an

executable, regardless of the license terms of these independent modules,

and to copy and distribute the resulting executable under terms of your

choice, provided that you also meet, for each linked independent module,

the terms and conditions of the license of that module.  An independent

module is a module which is not derived from or based on this library.

If

you modify this library, you may extend this exception to your version of

the library, but you are not obligated to do so.

If you do not wish to do

so, delete this exception statement from your version.

감사합니다.

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

댓글 0

첫 댓글을 작성해보세요!

댓글 작성

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