온라인 게임 혹 둠3와 같은 게임과 GPL 라이센스 관계 질문!
안녕하세요.
게임 프로그래밍 공부를 OPENGL로 하다가 문득 OPENGL하면 당연히 리눅스! 라는 생각이 떠올라 리눅스에서 돌아가는 opengl프로그래밍을 공부하려는 사람입니다.
리눅스에 대해서 알아보는 중, GPL라이센스라는 것을 알았는데요, 궁금증이 문득 2개가 떠올랐습니다.
1)
GPL라이센스가 궁금해 알아보고 있는 중인데요.. 만약 우분투나 오픈수스에서 wine같은 것이 아닌, 리눅스에서 NATIVE로 돌아가는 온라인 게임을 만들어, 계정 당 약 2만원을 지불해야 1달을 할 수 있는 게임을 서비스한다고 하면, 이것도 GPL에 따라 소스를 공개해야 합니까? (즉, 윈도우같은 요즘 리눅스들 위에서 native(sdl 포함)로 돌아가는 게임을 만들어 서비스를 제공하면 소스를 공개해야 합니까?)
2)위키에서 알아봤는데, 리눅스 커널조차 GPL을 따르고 있더군요. 그럼 그 커널을 이용하는 (커널과 같은 부분은 잘 모르니 개념이 틀리면 이해해주시기 바랍니다) 최신 리눅스와 같은 우분투나 오픈 수스역시 자동적으로 GPL를 따릅니까?
3) *****************가장 궁금한 질문이 3번*************************
마지막으로 둠3(약 2010년 소스 공개 예정)이나 퀘이크3(이미 공개됨)가 소스를 공개하는 이유는 윈도우에 이어 리눅스에서 돌아가는 버젼을 만들었기 때문입니까? 그리고 GPL에 따르면 상업 용으로 내놓는 프로그램은 반드시 소스를 공개해야 한다고 하는데, 왜 퀘이크3나 둠3같은 게임들은 나오고 약 6~7년 후에 소스를 공개합니까? 구두로(말로) 소스를 공개하겠다! 이렇게 언질을 해 놓으면 공개하기 전까지 7년간이나 상업적으로 이용해도 된다는 것 입니까?
*******************************************************************
4) 마지막으로, 게임프로그래머로써 리눅스에서 NATIVE 게임 프로그래밍을 하려면, 무엇을 공부해야 되는지 알려주세요. :)
SDL와 같은 크로스 플렛폼 아래에서 공부하고 싶지는 않습니다. MICROSOFT의 DIRECT X나 DIRECTINPUT, XAUDIO와 같이 한 운영체제의 NATIVE라이브러리를 공부하고 싶습니다(게임의 성능을 제일 중요시 하니까요, NATIVE가 SDL보다는 빠를테니까요)
그래픽은 OPENGL
오디오는 OPENAL
나머지.. 게임 서버(네트워크) 프로그램밍이나 윈도우의 MFC(API) 와 같은 비슷한 리눅스 NATIVE 라이브러리를 알려주셨으면 감사드리겠습니다.
감사드립니다, 많은 질문 죄송합니다.
수고하세요^^
1) native api 를
1) native api 를 사용하는 것과는 관계없습니다.
2) 역시 커널을 이용하는 것과는 무관합니다. 간단히 android를 보시면 설명이 되지 않을까요? 리눅스 커널을 이용해서 만들었지만 GPL은 아닌 것으로 알고 있습니다.
3) ID soft의 기술적인 자신감에 따른 전략이라 생각됩니다. GPL과는 관계없습니다. 실제로 공개되는 소스도 GPL이 아닐지도 모르겠군요.(확실치 않네요)
4) 일단 원하시는 플랫폼을 선택하셔야할 것 같습니다. 속도를 중시하시려면 directFB같은 것도 괜찮을 것 같고요. 선택한 플랫폼의 API를 공부하셔야겠지요.
가장 궁금한 부분에
가장 궁금한 부분에 대한 답변을 하자면
id Tech 4는 현재 GPL을 사용하고 있지 않습니다.
올해에 소스 코드 공개를 한다고 한 것은 라이선스를 GPL로 바꾸겠다는 의미입니다.
간단히.. 1)
간단히..
1) 아니오.
2) 우분투나 오픈 수세는 여러 소프트웨어의 묶음(배포판)입니다. 그 묶음의 구성요소에는 GPL을 따르지 않는 소프트웨어도 많습니다. 당연한 이야기지만 우분투/오픈수세의 커널은 GPL을 따릅니다.
3) 당연히 id software 는 소스 공개의 의무가 없습니다. 6-7 년이 지난 후 소스를 공개하는 건 그 정도 지나면 게임의 시장성이 없어졌다고 판단한 거 겠죠. 쉽게 말해 소스를 공개하는 건 id software 가 대인배라 그렇습니다.
4) 게임 개발 쪽은 잘 몰라서 패스.
개발할 때 라이선스 관련해서 주의하실 건, 개발에 사용하는 라이브러리의 라이선스 외엔 없을 듯 합니다.
4) 저는 별로
4) 저는 별로 공감가진 않습니다만 굳이 그렇게 선택하신다면
posix랑 berkley socket, gui는 gtk or qt 하시면 되겠네요.
근데 네이티브 api 찾으시면서 오디오는 왜 openAL이시죠? oss나 alsa가 아니고?
SDL쓰다 좌절한 것중
SDL쓰다 좌절한 것중 하나가
사운드 싱크가 안되더군요.
결국 딴 사운드 라이브러리 갖다 썼습니다.
나머진 뭐 큰 지장 없었습니다.
-----------------------
좋은사람한테 잘해라, 물어보자 남의 머리속을 볼수 없으니..
2010. 1. 20일을 기억하기를 바라며
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"