[완료]이럴땐 GNU라이센스가 어떻게 되죠???
글쓴이: hwiorb / 작성시간: 목, 2008/08/14 - 2:44오후
가령 "A"란 프로그램을 만들었는데, 이 프로그램이 "B"라는 GNU 프로그램의 C라는 유틸을 변형한 프로그램을 사용합니다. 이런 경우, "C"라는 유틸 소스를 공개하면서, 그 내부를 참조하는 A라는 프로그램도 같이 공개해야 되나요??
또, "병"이라는 GNU프로그램이 있는데(이 프로그램은 플러그인을 사용합니다), "을" 이라는 플러그인을 만들어서 끼웠습니다. 그런 경우에, "을" 이라는 플러그인도 같이 공개해야 되는 건지요. 플러그인의 구조상, 다른 플러그인들과 비슷할 수도 있고, 자기만의 특색을 넣어서 바뀐 경우 일수도 있고, 독자적으로 개발한 경우도 있을텐데, 어떻게 해야 하는지 궁금합니다.
가령, 상용 코드를 가지고 변형해서,위와같이 GNU 프로그램이랑 엮이게 되면, 어떻게 해야 하는지요..
(제 경우가 아니라, 갑자기 그런 경우도 발생할수도 있겠구나 싶어서요)
명쾌한 해답부탁드립니다.
Forums:
GNU 라이센스라는
GNU 라이센스라는 라이센스는 없습니다. 아마 GPL이나 LGPL을 말씀하시는 듯하네요.
그리고 GNU 프로그램이라고 하면 보통 GNU에서 배포하는 프로그램들(gcc등)을 가리킵니다. 아마 GPL이나 LGPL로 배포되는 프로그램을 말씀하시는 듯하네요. 이하 글은 질문하신게 GPL에 대한 것이라고 간주하고 적습니다.
'유틸을 변형한 프로그램'이란 조건은 애매합니다. 예를 들어 A에서 C를 독립된 프로세스로 실행한다면(즉 C와는 독립적으로 작동한다면) GPL을 적용하지 않아도 되지만, C를 빌드시에 링크하여 이용한다면 GPL이 되어야 합니다.
플러그인에 대한것은 GPL FAQ의 플러그인 항목을 참고하시면 될것 같습니다.
"""하지만, 만약
"""하지만, 만약 프로그램이 플러그인과 다이나믹하게 링크되는 형식으로 실행되어 서로 함수를 호출하고 자료 구조를 공유하게 된다면 이는 하나의 프로그램을 형성하게 된다고 볼 수 있으므로 플러그인은 메인 프로그램이 확장된 것으로 간주되어야 합니다. 이것은 플러그인에도 GPL이나 GPL과 호환되는 라이선스를 적용해야 한다는 것을 의미합니다."""
위의 플러그인 부분을 찾아서 본것입니다. 만약 그렇다면,예를 들어 파이어폭스에서 그냥 프로그램을 실행시키는 경우엔 공개 안해도 되지만, 파이어폭스 내부의 객체를 참조하는 순간부터, 그 플러그인의 코드를 공개해야 한다는 것인가요???
nil.
'파이어폭스에서
'파이어폭스에서 프로그램을 실행시킨다'와 '파이어폭스 내부의 객체를 참조한다'는게 무슨 뜻인가요?
GPL인걸 가져다 쓰되 GPL을 피하는 방법은, 프로그램 자체가 그것에 의존하지 않게 하는수밖에 없습니다.
이것은 굉장히 미묘한 문제일수도 있기때문에, 추상적으로 뭉뚱그려서 말하는게 아니라, 좀더 구체적인 예를 들어서 질문하셔야 할것같습니다.
지난번에도 말씀드렸듯이, 링크하여 빌드한것이냐, 독립되있느냐가 가장 큰 구분점이 될것입니다.
음...
파이어폭스에서 프로그램을 실행시킨다는 말은 파이어폭스와 B라는 독립적인 툴을 말한것이었습니다.
파이어폭스 내부의 객채를 참조한다는 말은 ...
예를 들어, 윈도우에서 dll을 통한 참조, 비쓰무리한걸 말한것이었습니다.
결국엔, 프로그램이 GPL과 아무 상관이 없는 프로그램(만들어진 목적이 다르지만, GNU프로그램에 도움될것같아서 가져다가 붙인...)임에도,
단지, 그 함수를 런타임에 참조하게 되면, 그 코드를 공개해야 되는지를 말한것이었습니다.
...런타임에서 참조(플러그인) 조차 GPL이 얽혀드는 것이라면... 쩝...
nil.
파이어폭스와 B라는
파이어폭스와 B라는 독립적인 툴이 있는데, 파이어폭스 실행시키고, B를 실행시킨다는 뜻인가요? 여기에선 GPL이전에, 그냥 프로그램 두개를 따로 실행시키는것이므로, 아무것도 문제될게 없지 않나요?
dll을 링크한 경우라면 당연히 GPL입니다. 그런데, 런타임시에 심볼리졸브하면서 dll가져다 쓰는건 좀 애매합니다. 이경우는 저도 확실히 모르겠습니다.
위에도 말씀하셨지만
위에도 말씀하셨지만 GNU 라이센스라는건 없습니다.
아마 GPL일 확률이 클텐데 이 경우 얘기하신 두개의 케이스 모두 소스를 공개 해야 합니다.
'변형' 이란 단어가 좀 아리까리 하지만 그런 표현을 하고 라이센스 걱정을 하는 점과
소스에 알고리즘도 그 범위안에 두는 수준이기 때문에 소스를 전체적으로 왕창 뜯어 고친 정도가 아니라면,
둘다 GPL을 적용하여 소스 공개를 해야 할겁니다.
GPL에서의 플러그인의 예외는 exec 나 fork 에 한한듯 한데요.. 그 마져도 데이타를 공유하는 부분이 있으면 GPL 이라고 하는것을
보아 두개 다 걸리겠네요...
말이 오픈소스지 GPL 정도면 상용프로젝트 할때는 피곤합니다.
만약 GPL소스라면 안쓰는게 좋을듯 싶네요..
=================================
:: how about a cup of tea ? ::
=================================
=================================
:: how about a cup of tea ? ::
=================================
어렵죠 GPL 라이센스... :)
이 GPL 라이센스라는 녀석이 법적으로 강제성이 있다 없다에서부터, 보는 사람에 따라서 혹은 자기의 입장에 따라서 다르게 해석하는 경우도 많고, 누구는 손해봐가면서 열심히 지키는가 하면 대한민국 최고의 대기업에서도 그냥 대충 생까면서 넘어가기도 하고.. 참 요지경이죠.
GPL은 잘 모르겠고, 그 아래에 플러그인 말씀 하시니까 생각난건데요, 요새 통합 환경의 대세로 떠오르고 있는 이클립스가 그렇게 플러그인 형태로 다양한 기능을 지원합니다. 그리고 IBM을 비롯한 많은 회사들에서 이클립스용 상용 플러그인을 만들어서 소스 공개 없이 제공하는 것으로 봐서는 플러그인 형태라면 소스 공개 너무 염려하지 않으셔도 될 것 같다는 짐작입니다. 다만 이클립스의 라이센스가 GPL인지 아니면 뭔가 다른 건지는 확인해보지 않아서 잘 모르겠네요.
-----------------------
Never Stop Exploring...
이클립스 GPL
이클립스 GPL 아니예요.
댓글 달기