LGPL을 이용한 프로그램의 상용화에 대해서..

geekforum의 이미지

미안합니다.
이런 종류의 글이 이미 많이 올라왔던걸로 기억합니다.
그러한 글을 모두 읽어 봤지만, 답을 얻지 못했습니다.
다시 한번 물어보겠습니다.
GPL소스는 영원한 오픈 GLP소스로...이건 맞지요?
제가 알고 싶은건
LGPL을 이용한 소스공개없는 상용프로그램의 제작이 가능한지요?

익명 사용자의 이미지

LGPL에 대해서 무언가 오해(잘못 이해)를 하고 계시군요. LGPL과 GPL의 차이점은 이것입니다.

독점 소프트웨어 사용자들이 리눅스용 바이러니를 만들 수 있도록 GNU의 LGPL이 적용된 라이브러리를 사용해 단지 컴파일할 수 있도록 한 것입니다.

LGPL이 아닌 GPL의 적용을 받는 라이브러리일 경우,
독점소프트웨어 소스를 가지고 "컴파일"조차 허용되지 않습니다. 아예 사용을 못하게 막아 놓은 것입니다.
만약 독점 소프트웨어가 GPL라이브러리를 사용하게되면, 그 독점 소프트웨어까지 GPL의 적용을 받게 되어 있는게, GPL라이센스입니다.

LGPL의 소스를 개작해서 공개하지 않아도 된다는 말이 아닙니다. 역시 LGPL의 적용을 받는 라이브러리를 수정했다면, 그 라이브러리의 소스를 공개해야 합니다.

차이를 분명히 아시겠는지요 ?

익명 사용자의 이미지

가능합니다. 다만 저도 약간 헷갈리기는 하지만 내용을 읽어보면
static link를 하지 못하도록 하고 있습니다.

만약 static link를 허용한다면 library를 고쳐서 링크하고,
고친 library를 공개하지 않을 수 있게 되겠죠.

LGPL을 사용하는 별도의 S/W는 별도의 라이센스를 적용할 수
있지만, 고친 라이브러리는 그대로 LGPL에 따라서 공개해야
한다고 알고 있습니다.

from Marzio Lee

익명 사용자의 이미지

한마디로 얘기하면 답은 가능합니다.

리눅스 상에도 상용 어플리케이션이 적잖히 있습니다.
아래아 한글이나, 코렐드로우, 리얼 비디오 서버 등등..

여러 마디로 얘길 하자면 대표적인 LGPL은 libc가 있겠지요.
libc를 GPL로 해 놓았다면 어떤 상황이 벌어질까요?

리얼 플레이어같은 경우를 한번 보지요.
[nakyup@nakyup nakyup]$ ldd /usr/X11R6/bin/realplay
/lib/libNoVersion.so.1 => /lib/libNoVersion.so.1 (0x40015000)
libc.so.6 => /lib/libc.so.6 (0x4002a000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40111000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40127000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40135000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40184000)
libm.so.6 => /lib/libm.so.6 (0x40253000)
libdl.so.2 => /lib/libdl.so.2 (0x40271000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40274000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40287000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40290000)

glibc가 GPL 이었다면 realplay가 GPL이 되야 하겠지요.
glibc가 GPL 이었다면 realplay는 리눅스용이 나오지 않았을테고요.

기업에 입장에서 다른 운영체제에서 돌아가는 어플리케이션을
리눅스로 포팅한다거나 하는 것은 상상도 할수 없을테고요.

LGPL는 스톨만의 철학에 정확히 부합하지는 않지만 어느정도 양보한
것이라고 이해를 할수도 있겠지요.

익명 사용자의 이미지

.