본문 바로가기

안녕하세요.  수고많으십니다.

 

다름이 아니라  회사에서  개발한 프로그램에서  GPL 프로그램의 바이너리를 불러서 사용하는데

GPL의 바이너리를  DLL 링크나 소스를 수정해서 포함시키는 방식이 아니고  단순하게 실행파일을 Call 해서

사용하는 방식입니다.  이런 방식의 프로그램은 GPL 라이선스를 따르지 않아도 된다고 하는데요..

 

문제는 설치본을 만들어서 배포시 GPL 바이너리를 포함하여 배포를 할 수 없는 것 같아서

GPL 프로그램은 별도로 웹서버에 올려놓고  회사의 프로그램 실행시  GPL 프로그램이 설치되어 있지 않으면

웹서버에서 자동 다운로드하여 설치후  불러서 사용하는 방식으로 구현을 하려고 합니다.

 

오픈소스SW 라이선스 가이드를 보면 독립된 프로그램으로 판단이 되는데요.

 

1) 개발 프로그램에서  GPL 프로그램을  command-line arguments 방식으로 호출하여  실행하는데

    실행할 PC에 GPL 프로그램이 없을경우 프로그램에서 자동으로 GPL 프로그램을 서버에서 자동다운로드 받아서

    설치후  실행시 GPL 라이선스 위배 여부

 

2) 가이드에 따르면 독립된 프로그램이면 GPL 프로그램과 동일한 매체에 같이 배포할 수 있다고 나오는데요.

    1번같이 자동 다운로드 설치가 아니고 하나의 설치본에 개발프로그램+GPL프로그램을 같이 넣어서  배포시 

    GPL 라이선스 위배 여부

 

일단 GPL 프로그램을 command-line arguments 형태 호출하여 실행을 해서 독립된 프로그램으로 생각이

되는데 배포시는 어떻게 하는게 GPL 라이선스에 위배가 안되는지 판단이 안되네요.

 

답변부탁드립니다.

 

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

오픈소스SW 라이선스 가이드 19Page~20Page

 3) 공개의 범위
GPL 2.0의 경우, GPL 프로그램의 소스코드를 개발자가 개발중인 프로그램 코드에 삽입하거
나 링크시켜 이를 배포하는 경우에 개발한 프로그램의 소스코드도 공개해야 한다. 다만, 원본
프로그램과 별개의 독립된 프로그램은 GPL 2.0 제2조 후단7)에 따라 GPL 프로그램과 단순히
동일한 매체에 저장하여 배포하는 경우 GPL 2.0이 아닌 다른 라이선스 조건에 의해 배포할 수있다.

 

􀓋 두개의 모듈이 동일한 실행파일에 포함되어 있거나 공유주소영역(shared address space)에서
링크되어 실행되도록 설계된 경우에는 원 프로그램에서 파생된 프로그램이고, 2개의 프로그램이
파이프(pipes), 소켓(sockets), command-line arguments 형태로 통신하는 경우에는 독립
된 프로그램이다.


􀓋 플러그인(plug-ins)의 경우 동적으로 링크되어 함수호출을 하고 데이터구조를 공유하는
경우에는 파생된 프로그램에, fork와 exec를 이용하면 독립된 프로그램에 해당한다.

 

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

*** 건의 사항입니다. 

 

GPL 라이선스가  쉬운거 같으면서도 회사에서 실제로 적용하려면 어려운 것 같습니다.

GPL을 위반하지 않고 상용 프로그램에서 활용하는 사례 (소스 공개를 하지 않고)  를  별도의 메뉴로 만들어서

사례를 올려주시면 이해하기가 쉬울것 같고  기업에서 오픈소스를 활용하는데 더 활성화가 될수도 있을것 같네요.

감사합니다.

 

 

 

 

 

맨 위로
맨 위로