Turbo Player와 ffdshow

eungkyu의 이미지

vod를 보다가 Turbo Player란 것을 설치하게 되었는데요. 설치 화면을 보고 있는데 ffdshow.ax 파일 이름이 쓱 지나가더라구요. (일단 열심히 vod를 본 후) 시스템을 뒤져보니까 정말로 system32 디렉토리 밑에 ffdshow.ax 파일을 복사해놓았네요.

ffdshow는 다들 아시겠지만 GPL로 개발되고 있는 DirectShow decoding filter입니다.
http://sourceforge.net/projects/ffdshow

그렇다면 분명히 Turbo Player가 ffdshow 필터를 내부적으로 사용하고 있다는 뜻인데 이거 GPL 위반 아닌가요? 전 Turbo Player의 소스를 구할 수 있는 방법을 얻지 못한것은 물론 Turbo Player에서 ffdshow에 대한 언급조차도 본 일이 없는듯 합니다.

참고로 뒤져보니 Turbo Player는 Future Valley라는 회사에서 만든 것이네요.
http://www.futurevalley.co.kr

tankgirl의 이미지

GPL 위반이라고 따지고 들면 '당신이 뭔데 그러냐'는 식으로 나올겁니다. 그리곤 오리발을 내밀겠죠.

1. 소개
TURBO PLAYER는 대용량의 멀티미디어 컨텐츠( 영화, 게임, 애니메이션, 만화 등 )를 인터넷상에서 즐길 수 있는 인터넷 컨텐츠 전송 서비스 프로그램입니다.

2. 설치 및 삭제
TURBO PLAYER SETUP 창에서 ‘다음’ 버튼을 누르시거나 엔터 키를 치시면 절차에 따라 명령에 응답하시게 되고 TURBO PLAYER를 설치하시게 됩니다. TURBO PLAYER를 삭제하시려면 윈도우 제어판의 프로그램 추가/삭제 창에서 TURBO PLAYER를 선택하시고 삭제하시면 됩니다.

3. 보안
TURBO PLAYER는 이용자의 개인 정보를 안전하게 유지하는데 주의를 기울입니다. 따라서 TURBO PLAYER는 산업 표준 소프트웨어를 사용하고 사용자의 개인 정보를 보호하는 절차를 사용하고 있습니다. 또한 이용자의 컴퓨터와 TURBO PLAYER의 전송 네트워크 사이의 통신과 컨텐츠 요청과 관련하여 암호화 처리하고 있습니다.

4. 이용자의 PC 자원 활용
TURBO PLAYER는 대용량 컨텐츠를 더욱 원활히 전송하기 위해 이용자가 온라인 상태일 때 PC의 자원을 일부 활용할 수 있습니다. 또한 이용자가 서비스를 받으시는 동안 PC 사양 정보와 네트워크 정보를 중앙 서버에서 취합하여 통계 수치화 할 수 있습니다.

5. 고객지원
VOD 서비스의 웹페이지를 통해 TURBO PLAYER의 사용법에 대한 정보를 제공합니다. TURBO PLAYER에 대한 문의 사항이나, 기타 신고하시고자 하는 문제가 있을 경우, 이용자 의견 페이지로 문의해 주시기 바랍니다.

TURBO PLAYER는 대한민국법의 적용을 받으며 분쟁이 발생하는 경우 그 관할법원은 민사소송법에 따르기로 합니다.

터보 플레이어 사용자 약관입니다. 맨 마지막에 민사소송법을 따른다는 말이 어떤 의미인지 잘 모르겠군요.

4번. 이용자의 PC 자원 활용 부분이 있죠. 아무래도 p2p 처럼 구성해서 스트리밍 서버에 부하를 줄여주는 방식인듯합니다. 전 이부분이 맘에 안들어서 터보 플레이어 설치도 안합니다. 네이버 TV뉴스만 안보면 되니까요. 퓨처밸리 이 회사가 네이버 꺼죠. 정확히 말하면 nhn 이지만요. 여튼 맘에 아주 안들던 차에 더욱 맘에 안드는 정보군요. :twisted:

네이버가 퓨처밸리를 작년에 현금 52억에 인수 했었는데 터보플레이어 가격은 얼마나 될지 모르지만 흠... ....

advanced의 이미지

정말 GPL 위반 이라면 어떻게 해야 하나요?

이 경우 뿐 아니라 만약에 다른 경우라도 GPL 위반을 발견했을 경우

어떻게 해야 하는지 궁금합니다

친고죄라 개발자가 신고 해야하는건가요?

아니면...

yohlee의 이미지

플레이어관련 개발 작업을 도와주다가 저도 관심이 있어서 살펴봤었습니다.

TurboPlayer은 ffdshow의 컴포넌트를 있는 그대로 사용한 것이니까 TurboPlayer자체의 소스를 공개할 필요는 없는 거겠지요. (제가 아는한 GPL은 상업용으로도 사용할 수 있으니까요. 물론 사용했다라는 명시는 해야 겠지만...)

Gom 같은 경우는 ffmpeg 소스를 가져다가 자기네 자체 필터를 만들었기 때문에 자체 필터에 대한 소스는 공개하고 있네요.

* 저작권 정보
- 이 프로그램에 포함된 비디오 디코더는 FFmpeg(http://ffmpeg.sourceforge.net/)을 수정하여 제작하였으며, FFmpeg의 라이선스는 LGPL을 따릅니다. LGPL 라이선스는 설치 디렉터리의 LGPL.TXT를 참고하시기 바랍니다. 수정된 FFMPEG의 소스는 http://gomdevel.ipop.co.kr 을 통해서 다운로드 받으실 수 있습니다.

반가워요~

offree의 이미지

제가 알기로도 yohlee 님 말씀처럼. 가져다 쓴 소스에 대한 수정에 대해서 공개해야 하는 것으로 알고 있습니다.

그대로 쓰면서, 다른 프로그램을 만들었다고, 그 만든 프로그램 전체에 대한 소스까지 공개하는 것은 아닌것으로 알고 있습니다.

제가 맞게 이해한 것이죠?

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

ez8의 이미지

약간 애매하군요.

FFmpeg 은 LGPL 이라고 나와있고, ffdshow 의 경우 GPL 이라고 나와있습니다.

제가 윈도우의 방식은 잘 모르겠지만, 라이브러리가 GPL인 경우

같이 공개해야 되는 걸로 알고 있습니다. ( http://www.gnu.org/licenses/gpl-faq.ko.html#IfLibraryIsGPL )

eungkyu의 이미지

GPL의 경우 바이너리만 가져와서 쓴다 할지라도 소스 공개를 해야 하는거 아니었나요? 저도 처음에 LGPL이 아닐까 하고 ffdshow 홈페이지에 가봤는데 GPL이더군요.

ddoman의 이미지

중요한건 링크 여부입니다.
ffdshow를 수정했다면 공개하는건 당연하고,
수정을 하지않아도 GPL의 경우 GPL소스가 링크가 된 부분을
공개해야합니다.

LGPL은 링크는 허용하고, 수정의 경우는 공개해야합니다.
glibc를 예로 들수있겠죠.

만약 glibc가 GPL이면 printf만 써도 소스공개를 다 해야겠죠.( 리눅스에서 ) :)

seldom의 이미지

의외로 LGPL 과 GPL 의 차이를 모르시는 분이 많군요.
ffdshow 가 GPL 이라면 링크를 공개하는 것이 아니라(링크가 뭘 말하는 건지 모르겠지만)
ffdshow 를 이용해 만든 프로그램 또한 GPL 을 따라야 합니다.
다시말해 프로그램의 모든 소스를 공개해야 한다는 것이죠.

LGPL 의 경우 상업적으로 '이용'하는 것은 문제가 없지만
원래의 소스(LGPL)를 수정하게 되면 해당 부분을 공개해야 합니다. 물론
공개된 것 또한 LPGL 이 되는 겁니다.
하지만 프로그램의 소스는 공개하지 않아도 괜찮습니다.

권순선의 이미지

turbo player가 gpl인 ffdshow 프로그램을 링크하고 있다면 turbo player는 gpl이 되어야 합니다. 그렇지만 만약 turbo player는 ffdshow를 링크하지 않고 실행시 소켓이나 파이프 등의 형태로 ffdshow를 이용한다면 turbo player는 ffdshow와는 분리된 프로그램이라고 볼 수 있기 때문에 gpl이 되지 않아도 됩니다.

요는 지금 이야기되고 있는 두 개의 프로그램이 정확히 기술적으로 어떤 관계를 가지고 동작하는가가 관건입니다.

권순선의 이미지

Advanced wrote:
정말 GPL 위반 이라면 어떻게 해야 하나요?

이 경우 뿐 아니라 만약에 다른 경우라도 GPL 위반을 발견했을 경우

어떻게 해야 하는지 궁금합니다

친고죄라 개발자가 신고 해야하는건가요?

아니면...


정말 gpl위반이라면 일단 해당 gpl 소프트웨어 원작자에게 알려 주고, 아울러 fsf에도 같이 통보해 주면 됩니다. http://www.gnu.org 에 이런 부분에 대한 이메일 주소가 있을 것입니다.
neoctrl의 이미지

코덱의 경우 그 특성상 라이센스는 재배포의 문제로 보아야할 것입니다...

흔히 코덱이라 칭하는 것은 DirectShow( MS의 미디어플랫폼 )의 필터를 얘기합니다.. ffdshow 역시 마찬가지구요..

이 필터의 특성을 본다면 링크의 문제는 아닐 듯 합니다..

필터는 다양한 종류가 있습니다.. 파일을 읽어오거나, mms로 데이터를 받는 것, WMV, DivX, MP3등을 디코딩하는 것, 화면출력 및 오디오 출력을 하는 것 등...

이 모든 필터는 COM으로 구성되어 있으며, 컨텐츠를 재생하기 위해서는 렌더라는 과정을 거칩니다..
이 렌더 과정에서 어떤 코덱들이 이용될지가 결정되는데, DirectShow가 소스에서 오디오, 비디오까지의 필터들을 모두 찾아 연결합니다..

각각의 코덱이 특정 형태의 디코더로 등록이 되게되면 플레이어와는 무관하게 처리가 되게되는 거죠..

일례로 DivX을 미디어플레이어로 볼 때 ffdshow가 이용됩니다.. 하지만 미디어플레이어가 ffdshow의 GPL 라이센스를 따라야한다고 할 수는 없을 것 같네요..

fibonacci의 이미지

제 생각에도 프로그램 외부에서 컴퍼넌트로 불러와서 작동하는 codec 혹은 필터는 프로그램의 바이너리의 일부로 보기 보다는 플러그인 혹은 그 비슷한 것으로 이해를 해야 되지 않을까 하네요. 지금 케이스와 반대로 생각한다면 GPL 플레이어로 으로 많은 종류의 non-GPL codec 을 이용할수도 있을테니까요.

No Pain, No Gain.