아이폰 AVPlayer가 FFmpeg 라이센스를 위반했다는군요.

chmaron의 이미지

아이폰의 가장 골치거리였던 동영상 인코딩 없이 바로 동영상을 볼 수 있는 유로 어플을 한국 개발자가 만들어서 요즘 엄청 많이 팔리고 있습니다.

그런데 ffmpeg 라이브러리를 사용했는데 현재 LGPL 라이센스 위반 상태라고 하네요. 이미 여러 사람들이 개발자에게 소스코드 공개를 요청했는데 명확한 대응이 없는 상태인것 같습니다.

댓글에서는 ffmpeg에 라이센스 위반이 보고되었다고 하는데, 아직 메일링 리스트나 이슈 트래커에는 안 올라온것 같네요.

자세한 내용은 http://www.eplayworks.com/2010/10/avplayer-license.html 참조하세요.

ironiris의 이미지

LGPL 라이센스인데 왜 소스를 공개해야 하지요??

bootmeta의 이미지

^^;

cwryu의 이미지

LGPL도 LGPL인 라이브러리의 소스는 배포해야 합니다. (아예 배포하지 않는다면 모르겠지만.)

하승수의 이미지

제대로 모르고 쓴 글인 것 같아 지웁니다 ;;

chmaron의 이미지

AVPlayer는 FFmpeg을 static link해서 배포하고 있습니다. LGPL 라이브러리를 static link해서 배포하려면 라이브러리를 직접 호출하는 부분은 소스코드를 공개하고, 그 외 나머지 부분은 오브젝트 파일을 공개해야 합니다.

ironiris의 이미지

그랬군요.

Necromancer의 이미지

직접 호출하지 않는 나머지 부분도 다 공개해야 될텐데요. 소스까지 풀로.

공개 안해도 되는 부분은 통상적으로 말하는 별도 프로세스로 나뉘어진 경우입니다.
시스템콜이나 스크립트 등으로 엮여 돌게 한 경우 LGPL 라이브러리 static link한 실행파일 부분을 공개하고, 그것을 호출하거나 호출 받는 실행파일쪽은 안해도 됩니다.

Written By the Black Knight of Destruction

익명 사용자의 이미지

그건 GPL입니다

RedCarrottt의 이미지

허허 이런 라이브러리도 잘 보고 써야겠습니다.

preisner의 이미지

그러게요.. 중요한 문제인데 의외로 이런 문제를 사소하게 생각하시는 분들이 많으시더군요.
앞으로는 더욱 중요한 문제가 될것 같습니다.

JuEUS-U의 이미지

'LGPL을 사용하는 유료 어플리케이션'은 뭔가 느낌이 이상하군요.

나빌레라의 이미지

LGPL이건 GPL이건 소스공개만 한다면 유료로 팔아도 상관없지 않나요?

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

JuEUS-U의 이미지

상관이 없는게 맞습니다만,
소스를 공개하지 않고 계속 판다는게 마음에 들지 않습니다. 어디까지나 사적으로.

더군다나 코드를 정리해서 공개하겠다는 대사는 핑계로 쓰인적이 많습니다.
오픈소스라는게 지속적인 수정이 전제되는 프로젝트 방법론인데
굳이 코드를 다듬어서 공개하겠다는건 오픈소스에 대한 이해도 없을 뿐더러
그 생태계에 적극적으로 참여할 의사가 없다는 겁니다.
그러면서 오픈소스 라이브러리를 가져다가 수익을 내고있는데 좋은 눈으로 볼 수는 없죠.
소스코드가 아무리 더럽더라도 지금 당장이라도 압축파일을 올릴 수도 있는것 아니겠습니까.
그리고 무료로 repository 제공하는 서비스도 있는데 뭐가 어려울까요.

제가 보기에는 어떤 변명/해명이 나오더라도 비판을 피할 수는 없는 상황입니다.

upriser의 이미지

FFmpeg을 사용해서 만들었다면 나머지 부분에 특별히 공개 못 할 핵심기술이 있는 것도 아닐텐데...

결국 변호사에게 전화가 올때까지 버티다가 소스를 공개할 작정인가보죠?

쯔쯔...

hbell의 이미지

프로그램에 있어서
확실히 아이디어도 중요하긴 하지만
그 아이디어를 떠오르게 도와 준 선현(?)들에 대한 예의가 더 중요하다고 생각하는데...

-------------------------------------------
이번에 슬쩍 가입한 hbell입니닷 x.x;

eyeda99의 이미지

그래도 돈은 벌겠군요.그 개발자분(!)

If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut.
- Albert Einstein -

chmaron의 이미지

개발자 사이트를 보면 FFmpeg을 dynamic link해서 LGPL을 위반하지 않고 배포하는 방법을 찾고 있는것 같습니다. 아마도 본인의 소스를 공개할 의사는 없고, 문제가 된 라이센스 위반 사항을 해결하려는것 같네요. 암튼 라이센스 위반을 하던 말던 본인은 돈은 번거죠. 그리고 여러 사람들의 문제 제기가 없었다면 앞으로도 계속 그랬을거고요.

upriser의 이미지

shared library 가 없는걸로 알고있어요. 현재까지는...

애플이 지원하기 전까지는 방법이 없죠.

그래서 유명한 iPhone 용 Video Player인 AirVideo는 PC에서 FFmpeg을

shared library (dynamic link library)로 사용해서 인코딩하고

이를 iPhone 으로 전송하는 방법으로 GPL 위반을 피했죠.

Video Player 개발자 정도 됐으면 이런 사실을 모를리 없을텐데

"무인코딩" 이라고 자랑하면서 팔고 있는걸 작태를 보면 정말

비양심적이라고 하지 않을 수 없습니다.

--

전 처음봤을 때 무 인코딩이라길래 GPL 때문에 FFmpeg은 썼을리 없을테고 기술력이 상당하겠다고 내심 감탄했었는데...

developer0080의 이미지

아,제가 LGPL을 정확히 이해해지 못해 문제를 일으켰네요,

위반할 생각이 있었다면 처음부터 LGPL을 사용을 알리지 않았겠죠, 사실 이렇게 국내에서 많이 받으실줄은 전혀 몰랐거든요, 대부분은 그냥 아무런 관심을 받지 못하고 묻히게 되니까요,

LGPL에 대해서는 경쟁제품을 올려놓은 싸이트들 둘러보고는, 그중에 이미 오래전부터 판매되고 있는 OPlayer가 비교적 잘 언급해 놓은것 같아, 따라하면서 이렇게 하면 문제가 없는건 줄 알았습니다.

그리고 약간 사실과 다르게 작성하신 부분도 있는것 같습니다. 지금까지 딱 한분이 오브젝트를 요청하셨고 사이트를 보시면 아실수 있는데요, 계속 대응을 하고 있습니다.

Jammy라는 분이 ffmpeg의 소스와 avplayer의 obj코드(not source)를 요청하셨고, 제가 ffmpeg 받는 법을 알려드렸고, 다시 Jammy란 분이 object는 LGPL이라도 배포해야 한다라고 알려주시고 배포 방법 예제를 링크해 주셔서 같은 방법으로 빌드할수 있도록 해보는 중이었습니다. (그 이외에 ffmpeg이나 다른 그룹으로부터 위반사실을 통지 받거나 따로 소스를 요청하신분은 없었습니다.)

완전히 LGPL만 사용하였고 (몰래 GPL을 사용하지 않았기 때문에) 오브젝트 파일과 ffmpeg소스를 배포하여 빌드할수 있게하면 되는데요, xcode란 툴에서 icon과 xib 파일 없이는 빌드가 안되어서요, icon image들을 재배포 해도되는지 저작자와 확인이 필요해서요, 아니면 실행파일만 나오게 할수 있으면 깔끔할것 같은데요, 이부분에서 시간이 걸리고 있고 가급적 빨리 해결하려고 하고 있습니다.

LGPL이고 소스에 별다른 기술은 없지만, 사실 공개하기 부끄러운(날코딩) 부분이 많아 제 사이트 댓글에도 작성했지만 나중에 깔끔하게 정리할수 있으면 공개하려는 마음이 없었던건 아닙니다.

이유가 어떻든 제가 잘못한거니까 빨리 해결하겠습니다. 그저 개발자의 변병이었습니다.ㅜㅜ

아, 그리고 GPL이면 상용으로 만들수 없는것 아닌가요,

danskesb의 이미지

상용 프로그램이라고 해도 GPL을 적용할 수 없는 건 아닙니다. GPL의 '소스 공개'는 정당한 구매자에게만 하면 되는 것이기 때문에, 바이너리를 구매한 사람에게만 소스를 준다고 해서 GPL 위반은 아니라고 알고 있습니다. 그 대신 바이너리를 구매한 사람이 받은 소스를 재배포하는 것을 제한할 수는 없습니다.

unipro의 이미지

"그 대신 바이너리를 구매한 사람이 받은 소스를 재배포하는 것을 제한할 수는 없습니다."

위 조항 때문에 상용으로 팔 수 있다는 말이 무색해지는 것 같습니다.
순수하게 소프트웨어 판매로 수익을 얻으려는 기업이나 개인에게 "상용 판매를 제한하지 않는다"는 말은 실제로 거의 불가능한 이야기입니다.
많은 오픈소스들이 하드웨어 벤더, 컨설팅 업체, 서비스 업체들에서 지원하거나 듀얼 라이센스로 가는 것은 이와 같은 이유때문이 아닐런지요.

따라서, "GPL, LGPL은 상용 판매를 제한하지 않지만, 실제로는 거의 불가능하다."라고 말하고 인식이 되어야 한다고 생각합니다.
"GPL, LGPL의 적용을 받는 소프트웨어를 상용으로 팔 수 있다."라는 문구만 보면 사람들이 오해할 수 있습니다.
조금 심하게 말하면, 찌라시 언론이 종종 쓰는 수법으로, 거짓없는 사실을 말하면서, 일부의 내용을 생략하여 독자들을 기만하는 것과 비슷합니다.
비록 찌라시의 의도적인 행동과 다르게 그냥 순수한 언급이지만 결국 비슷한 효과를 내게 됩니다.

내 블로그: http://unipro.tistory.com

cwryu의 이미지

용어를 그렇게 해석하기 때문인데요. 흔히 국내 대부분의 사람들이 "상용"이라는 말을 독점적인 권리를 누리는 것으로 생각하는데, (L)GPL에서 허용하는 "commercial use"는 "proprietary"와 구분됩니다. 조건이 어떻든 돈을 받고 파는 것, 영리 회사에서 사용하는 것 다 상용이라고 합니다.

그리고 분야에 따라 다르겠지만 재배포를 제한하지 못하더라도 커스터마이즈된 소프트웨어라든지 서포트와 함께 공급되는 경우라든지 등등 (L)GPL 소프트웨어를 파는 것도 먹히는 분야가 많기 때문에 충분히 가치가 있습니다.

upriser의 이미지

계속 무대응으로 버티신건 아니라니 뭐 잠시나마 계발자로서 분노했던건 좀 사그러지는군요.

어찌되었건 조속히 해결하시기 바랍니다.

한국 소프트웨어가 Hall of Shame에 등록되는 일없었으면 합니다.

chmaron의 이미지

본인은 그렇게 생각하실지도 모르겠지만...

다른 사람(특히 개발자) 입장에서는 여러 개발자들의 노력으로 만들어진 오픈소스 코드를 라이센스 위반하면서 사용하셨고, 또한 현재도 계속적으로 수익을 올리고 계시며, 라이센스 위반이므로 소스코드를 공개하라는 요청에는 명확한 대응을 하지 않으신게 문제가 아닐까 싶네요.

개발자님의 사이트에서는 "공개할 의무가 없다; 잘못 알고 있었다; 방법을 찾고 있다; 시간을 달라"라고 대응을 하셨기 때문에 명확한 대응을 하지 않는다고 적었습니다. 그 밑에 댓글로 다른 분들이 명확한 해결 방법을 알려주셨는데 어떤 방법을 더 찾으신다는건지..

jkhl의 이미지

참고로 LGPL이나 GPL이라도 상용으로 만들 수 있습니다. 그러니까, avplayer로 다운로드 한 건당 얼마씩 돈을 번다고 해도 이건 라이센스 위반이 아닙니다. GPL이면 소스코드를 무조건 공개해야 하지만 LGPL이면 특정 조건 하에서 공개하지 않아도 됩니다.

배포를 할 때 라이브러리를 dynamic하게 분리시켜야 한다는 LGPL의 조항은 아마 우회가 가능할겁니다. 잘은 모르겠지만 예를들어 ffmpeg이 없는 avplayer를 앱스토어에 올리고 avplayer를 아이폰에서 실행하면 avplayer가 특정 웹사이트에 접속해서 ffmpeg 라이브러리를 다운받아 완전한 avplayer를 만드는 방법이 있지 않을까 싶습니다. 예를들어, 우분투에서처럼 mp3 재생기는 mp3 재생 라이브러리를 갖고 있지 않지만 (따라서 우분투 배포본은 mp3 재생 라이브러리의 배포권 제한에서 벗어나지만) mp3 재생기를 실행시키면 ok 클릭 한번으로 mp3 재생 라이브러리를 받아옵니다. avplayer도 같은 방법을 쓸 수 있는지 한번 알아보시길.

neocoin의 이미지

iOS는 static link 밖에 지원하지 않습니다. 말씀하시는건 dynamic link가 지원되어야 합니다.

LGPL 이니 구입한 분들에게 object 파일 공개 정도로 하시면 될듯하네요.

jkhl의 이미지

iOS가 그런 단점이 있군요. iOS는 BSD 기반이지 싶은데 어쩌다 dynamic link가 안되나요?

그렇다면 차선책으로 FFmpeg 원저자와 협의해서 ffmpeg을 상용 라이센스나 non-GPL 라이센스로 dual-licensing 하는 방법도 있지 않을까 싶습니다. ffmpeg 저작권자가 너무 많으면 이것 또한 문제가 있겠습니다만.

neocoin의 이미지


dynamic link 를 허용하지 않아서 바이너리간에 의존성이 없습니다.
최종 파일이 단일 실행 파일로 떨어지는 형태로 컴파일 됩니다. 이를 zip으로 묶어서 apple에 보냅니다.
덕분에 os에서는 이 파일 하나를 관리해서, 설치 삭제, sandbox 를 모델을 os에서 제공합니다.

이건 비단 iOS 뿐만이 아니라, Mac OS에서 일반 GUI 프로그램 들도 이런 경향이 많습니다.
(뭐 좀 많이 다르지만 ;;)
설치하려하면, 그냥 원하는 폴더에 복사하고 프로그램을 실행시키죠.

Mac OS 쓰면서 이런 설치 삭제가 가장 마음에 들더군요.

cwryu의 이미지

- FSF가 앱스토어에서 GNU go 삭제 요청 http://www.fsf.org/news/2010-05-app-store-compliance

- 앱스토어에서 VLC 기반 소프트웨어 삭제 요청 http://www.macstories.net/news/vlc-for-ios-may-soon-be-gone-from-the-app-store-due-to-videolans-complaint/

문제는 소스코드 공개가 아니라, 5개 이상의 장치에서 사용하지 못하게 제한하고 있는 아이튠즈의 DRM 때문입니다. 아이튠즈 이용약관에 쓰여 있고요. 복사를 제한하지 않는 GPL 조건과 정면으로 충돌하죠.

제가 이해하는 한, 애플에 보고하면 이 앱은 삭제될 겁니다.

danskesb의 이미지

ffmpeg의 이슈 트래커에 아이폰용 아프리카 프로그램도 올라와 있던데 이게 삭제된다면 그것도 같은 이유로 삭제될 수도 있겠네요. 또 국내에서 개발된 것 같은 yxflash라는 플래시 플레이어로 보이는 것도 이슈 트래커에 올라와 있습니다.

버그 트래커에 라이선스 위반을 따로 만들어 둔 것을 보면 심각하게 주의할 필요가 있어 보입니다.

* https://roundup.ffmpeg.org/issue2271 : 아프리카
* https://roundup.ffmpeg.org/issue1995 : yxflash
* https://roundup.ffmpeg.org/issue1934 : yxflash

jkhl의 이미지

조금 오해의 소지가 있네요. 기사를 읽어보니 애플은 여기서 앱스토어의 Terms of condition의 5개 복사본 제한을 고칠 수도 있었고 단순히 GPL 앱을 삭제할 수도 있었는데 애플은 여기서 GPL앱을 삭제하는 쪽으로 선택을 했다는 얘기입니다. FSF나 VLC쪽에서는 Terms of condition 변경을 원했던 것 같네요.

런맨의 이미지

주제랑 상관없는 글 적어서 우선 죄송합니다.

어떻게 해결되는지 궁금해서 댓글 달아 놓습니다.^^

kldp는 제가 보고 싶은 글 담아 놓기 이런기능 없죠??

인생은 도박이다.

하승수의 이미지

mirheekl의 이미지

https://kldp.org/node/122118

소스 코드 공개가 되어 있습니다. 오래전 일이긴 하지만 혹시 아직도 궁금하신 분이 계실까봐 올려봅니다. 이덕분에 무인코딩 재생기가 많이 늘었다고는 하는데 그들도 전부 소스코드 공개를 하고 있는지..

--