답변
답변 |
답변일 : 2014.03.14 |
안녕하세요. 위원회 SW보호팀 이석창 주임입니다.
모듈간의 결합 관계는 각 라이선스에서도 정의하는 바가 다르기 때문에 어떤 라이선스를 결합할 것인지 우선 확인하는 것이 좋습니다.
엄격한 조항을 가지는 GPL 2.0에서도 예외조항으로 "자바의 가상머신 및 컴파일러에서 사용되는 핵심 라이브러리를 사용한 독립된 SW는 GPL2.0으로 배포할 필요가 없다"고 인정하였습니다.
따라서 GPL 2.0조건의 자바 플랫폼(Java SE, Java EE)을 이용한 응용프로그램은 결합관계를 따지지않고 소스코드를 공개하지 않고 배포할 수 있습니다.(소스코드 공개를 하지 않고 GPL2.0으로 배포)
추가로, SGI 번들이 GPL 2.0으로 파악되는데 Java SE, EE가 아니기 때문에 독립된 프로그램인지, 파생된 프로그램인지는 구현방법 따라(아래 참고) 결합유무를 파악하셔야 할 것으로 보입니다.
* 참고
독립된 프로그램과 파생된 프로그램인지는
- 두개의 모듈이 동일한 실행파일에 포함되어 있거나 공유주소영역에서 링크되어 실행되도록 설계된 경우는 : 파생된 프로그램
- 2개의 프로그램이(오픈소스와 내가 만든프로그램)이 파이프, 소켓, 명령행 인자 형태로 통신하는 경우는 : 독립된 프로그램
- 플러그인의 경우 동적으로 링크되어 함수호출을 하고 데이터구조를 공유하는 경우 : 파생된 프로그램
- 플러그인의 경우 fork와 exec를 이용하면 : 독립된 프로그램
- 인터프리터나 컴파일러의 경우 원칙적으로 컴파일된 결과물과는 분리된 것으로 보지만, 컴파일 과정에서 라이브러리나 클래스가 결과물에 추가된 경우에는 라이브러리 또는 클래스와 결과물은 하나의 프로그램
감사합니다.
|