GPL 프로그램에 대한 plug-in 이나, 코드 확장을 한 경우 모두 소스를 공개해야 하나요?

freezm7의 이미지

Blender 라는 3D 그래픽 툴이 너무 훌륭해서,

이것을 기반으로 제가 하려는 일을 추가하려고 하는데, 이것은 Blender 본연의 기능과는 무관하고,

Input 과 Output 을 특수한 하드웨어를 기반으로 변경하는 것입니다.

이런 경우, Blender 가 GPL 이므로, Blender의 일반 사용자가 전혀 필요치 않은 부분이더라도 소스를 공개 해야 하는걸로 알고 있는데, 피해갈 수 있는 방법이 없을까요?

상용으로 개발할 것이라서, 라이센스 비용을 낼수는 있으나 소스 공개는 어렵습니다.

해결책이 없을까요?

권순선의 이미지

sangwoo의 이미지

http://www.blender.org/education-help/faq/gpl-for-artists/#c6711
여길 참고해 보세요. 아마도 plugin 도 GPL의 적용을 받는 거 같네요. 상용으로 판매하면 그 사람이 소스를 요청하면 꼭 줘야 합니다. 그 사람이 소스를 재배포하는 걸 막을 수도 없구요.
----
Let's shut up and code.

----
Let's shut up and code.

freezm7의 이미지

정확히 제가 했던 질문이 blender 사이트에도 나와 있었군요.

근데, 영어가 좀 쉽지가 않네요..
제가 해석하기론,

1. Can I sell my own version of Blender? 이라는 질문에 대해서는
Yes you can, but only if you provide this new version of Blender and the sources to your clients under the same GPL license.
The client then benefits from all rights the GPL offers; free to use it, or even distribute it when they wish.
"팔수는 있지만, GPL 라이센스에 적용을 받으므로 소스를 고객에게 줘야하고 [이 고객은 소스를 자유롭게 재배포할수 있다]"

이렇게 되는 것 같은데요..
논리적으로 말이 안되는게 1 copy 를 구매한 고객이라도 100만 copy 를 자유롭게 배포할 수 있다는 의미 같거든요. [ ] 안의 내용 말이죠.

그럼 실질적으로 상용으로 배포할 수 있다는 건 직접 판매한 고객에게만 해당하고 그 고객이 재배포 하는걸 못 막으면 상용으로서의 의미가 없을 것 같은데,
제가 영어가 미천해서 잘못 해석한 것인지...

그리고, 2번째 질문은 플러그인이 기존의 Blender 프로그램의 3D 모델링 기능과 전혀 상관 없는
특수한 하드웨어 기반으로의 I/O 를 지원하는 플러그인을 상용으로 만드는게 가능하냐에 대해서,,

2. Can I sell plug-ins for Blender?

Yes you can, but only if you provide the plug-in and the sources to your clients under the GNU GPL license. The client then benefits from all rights the GPL offers; free to use it, or even distribute it when they wish.

Only if the plug-in doesn't work within Blender as "acting as a single program" (like using fork or pipe; by only transferring data and not using each others program code) you have the full freedom to license the plug-in as you wish.

마지막 줄에 Only if the plug-in doesn't work within Blender as "acting as a single program" 이 제가 하려는 I/O 플러그인에 해당되어
GPL 의 면제를 받을 수 있을 것 같기도 한데.... 문장이 너무 어렵네요... only if 는 영화 제목 아니던가요 ㅋ

상용으로 개발하려다 보니,, 여간 신경 쓰이는게 아니네요.
3D Max 기반으로 하는게 더 나을지도 모르겠는데... 다만 이 경우에 3D Max는 소스가 없어서 중간에 막히면 해결책이 없기 때문에 Blender 로 가고 싶거든요.
아무래도 I/O를 확장하는거라 내부를 건드릴것 같아서요..

즐겁게 살아 볼까나~*

danskesb의 이미지

1번은 "논리적으로 말이 안되는게 1 copy 를 구매한 고객이라도 100만 copy 를 자유롭게 배포할 수 있다는 의미 같거든요." 이게 말이 됩니다. GPL은 재배포를 제한할 수 없으므로 일단 소스만 얻으면 그걸 어떻게 하든 통제할 수 없습니다.

---- 절취선 ----
http://blog.peremen.name

warpdory의 이미지

1번. 논리적으로 말이 됩니다
그래서 GPL 입니다.
"고객에게 돈 받고 파는 건 자유지만, 소스는 공개해라. 그리고, 그 소스를 고객이 다시 자유롭게 공개하는 것에 대해서는 못 막는다."

라고 간단하게 생각하시면 됩니다.

1copy 를 10원에 팔든 1000000 억원에 팔든 자유입니다. 하지만 GPL 을 이용했다면 소스 공개를 해야 합니다. 그리고, 그 소스를 고객이 가져가서 다시 팔든, 공개를 하든 그것은 그 고객의 자유입니다. 단, 그 고객 역시 GPL 적용이 됩니다.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

jick의 이미지

Only if [the plug-in doesn't work within Blender as "acting as a single program" (like using fork or pipe; by only transferring data and not using each others program code)] you have the full freedom to license the plug-in as you wish.

즉 [] 안에서 설명하는 방식으로 플러그인을 만들면 GPL에 구애받지 않고 맘대로 라이센스를 설정할 수 있다는 말입니다.

그렇게 하려면 Blender의 원래 코드를 고치지 않고 (혹은 고치더라도 고친 부분은 다 GPL로 공개하고) 새로 만드는 플러그인은 Blender와 전혀 코드를 공유하지 않고, 별도의 실행 파일로 동작하면서 pipe를 쓰거나 임시 파일을 이용하는 식으로 데이터를 주고받아야 합니다.

buelgsk8er의 이미지

freezm7님께서 블렌더를 확장(특수한 하드웨어 IO사용)해서 사용하실 자유를, freezm7님께서 확장하신 프로그램을 사용할 사람들에게도 똑같이 보장하라는 것이 GPL의 철학입니다.

물론 GPL의 범위는 링크된 프로그램에 한정되므로, 위의 Only if 구절이 말하는 것처럼 별도의 프로그램을 작성해서 블렌더와 pipe 등의 IPC로 통신하는 형태로 만든다면 이러한 GPL의 의무를 기술적으로 회피할 순 있겠지만, 본적으로 GPL의 철학에 동의하실 수 없는 상황이라면 블렌더를 사용하지 않는 것이 올바르지 않나 합니다요.

체스맨의 이미지

Quote:

GPL의 철학에 동의하실 수 없는 상황이라면 블렌더를 사용하지 않는 것이 올바르지 않나

buelgsk8er 말씀처럼, 간단히 이겁니다.
회피 같은 거 하지 마시고, 동의하지 않으면 쓰지 마시고, 직접 만들거나, 라이센스에 문제가 없는 다른 대용품을 구입하세요.

Orion Project : http://orionids.org

freezm7의 이미지

저는 GPL로 만들고 싶습니다.

다만,,, 회사가 저를 쫓아내겠죠 ㅋ

즐겁게 살아 볼까나~*

체스맨의 이미지

쫓아낸다기보다는
1. 대놓고 그냥 쓰라는 회사
2. 또는 은근 슬쩍 써도 괜찮지 않나하고 별말없이 일은 계속 하도록 종용하는 회사
같은 부류가 있을 수 있는데
둘 다 구리긴 마찬가지죠.

딱 잘라 안되는 건 안되는 걸로...
하는 게 맞다고 봅니다만,
제 과거의 경험으로도 그렇게 하는 건 쉽지 않았습니다.

아예 블렌더가 있다는 말도 꺼내지 마시고,
상용으로 얘기를 풀어가시는 게 좋다고 생각되네요.

Orion Project : http://orionids.org

freezm7의 이미지

넵... 감사합니다...

저도 일단 같은 고민 때문에 Blender 에 대해서는 말을 안한 상태입니다.
아무래도, GPL 얘기 했다가 "그거 왜 지켜?" 이런 반응일것 같아서 말이죠..

그래서 3DS MAX 의 Plug in 으로 할까 고민을 하고 있는데,
상용인 MAX는 제가 건드릴 수 있는 부분이 한정 되어 있다는게 제일 치명적이네요...

"쫓아낸다기보다는
1. 대놓고 그냥 쓰라는 회사
2. 또는 은근 슬쩍 써도 괜찮지 않나하고 별말없이 일은 계속 하도록 종용하는 회사
같은 부류가 있을 수 있는데
둘 다 구리긴 마찬가지죠."

이 부분은 정말 딱 공감 가는군요...

즐겁게 살아 볼까나~*

mycluster의 이미지

상용으로 개발할거면, 3DMax로 개발하고, 막히면, 3DMax 개발사에 돈 지불하고
필요한 내용을 고쳐달라고 하시는게 답일듯...

돈은 벌고 싶고, 길은 쉽게 가고 싶고... 나는 남의 것 가져다 쓰고 싶고, 내건 주기 싫고...
쉽지않은 길이죠.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

freezm7의 이미지

돈은 벌고 싶고, 길은 쉽게 가고 싶고... [나는 남의 것 가져다 쓰고 싶고, 내건 주기 싫고...]

[나는 남의 것 가져다 쓰고 싶고, 내건 주기 싫고...] => 이건 좀 아니네요...

제가 개인적으로 하는 일이라면 공개하고 싶어하는 편인데요,

오픈소스를 사랑하지만,, 회사에 속해 있는 프로그래머로써 상용으로 개발을 해야 하기에 지금 고민하고 있는 겁니다.

[내건 주기 싫고..] 약간 비꼬는 뉘앙스라서 짚고 넘어갑니다. 제가 개발하겠지만, 제것이 아닌 상황이 문제죠.

즐겁게 살아 볼까나~*

mogi의 이미지


Blender더 저작권자에게 라이선스비를 내고 상용개발 가능한지 문의 하는게 가장 빠를 것 같습니다.

GPL이라도 라이브러리를 링크하지않고 소켓 통신을 하거나 결과물로 나온 파일을 공유할 경우 GPL를 회피 할 수 있는 것으로 알 고 있습니다.

freezm7님께서 개발한 프로그램과 소켓통신, 혹은 결과물 파일을 공유할 수 있는 Blender플러그인을 만들어 Blender플러그인만을 공개 하면 될 거 같습니다.

이 경우 freezm7님께서 개발한 프로그램은 Blender와 상관없이 독립적으로 실행되는 프로그램이 되기때문에 GPL을 따르지 않으셔도 무방 할 것 같습니다.

mycluster의 이미지

회사원으로 편하게(?) 사시고 싶으시면

1. 상용프로그램을 기반으로 개발한다.
2. 필요한 상용프로그램은 전부 사서 할 때 드는 예산을 산정한다.
3. 상용으로 개발하다가 막히면, 상용회사에 돈을 지불하고 컨설팅 등 지원을 요청한다.

이렇게 하세요. 만약 이정도 비용을 제공하면서 개발을 하라고 할 회사의 여력이 안되거나,
그 돈을 지불하고 벌어들일 돈의 수익이 맞지 않아서 GPL 소프트웨어를 써야할 정도라면,
개발을 접는게 나을 듯 합니다.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러