월드 오브 워크래프트와 한국의 오픈 소스
블리자드에서 만든 월드 오브 워크래프트(이하 와우)라는 MMORPG 게임이 있습니다. 아마 KLDP에 오실 정도의 분이라면 이름 정도는 들어보셨거나 플레이 해본 분도 많으실 겁니다. 아니면 지금도 열심히 하고 계시거나요.
와우는 사용자 인터페이스(UI)를 XML로 정의한 개체와 개체의 이벤트, 그에 따라 동작하는 스크립트 언어(루아, Lua)로 구성했습니다. 거기에 더해 이를 사용자가 얼마든지 수정 할 수 있도록 하고 있습니다.
그런 이유로 수 많은 애드온(AddOn)들이 쏟아져나오고 있는데, 특별히 저작권을 표기한 애드온은 거의 없는 실정입니다. 그래도 대부분 공개적으로 소스를 참고하여 새로운 애드온을 만들고 기능을 업그레이드 하고 버그를 수정하며 지역화를 하고 있습니다. 그에 대해서 상업적인 목적이 아니라면 특별히 문제 삼지도 않는 분위기입니다.
네. 마치 MIT 해커 초기 공동체의 모습 그대로입니다.
그럼 이런 일이 외국에서만 일어나느냐? 아닙니다.
한국에서도 수 많은 개발자들이 애드온을 개발하고, 버그를 수정하며, 기능을 추가하고, 한글화를 하고, 이를 모아서 패키지(모음집) 형태로 제작하여 초보자들도 사용하기 편하게 도와주고 있습니다. 심지어 원 제작자가 개발을 중단하면 팬 업데이트라는 이름으로 해당 애드온 사용자가 직접 나서서 새로운 와우 버전에 맞도록 수정하기까지 합니다.
유명한 애드온 개발자는 게임 안에서조차 존경받고 많은 사람들이 게임 내외에서 감사를 표하며 그 유명세는 와우를 하는 사람들에게 널리 퍼져있습니다.
아~ 한국의 오픈 소스에서 그렇게도 바라던 오픈 소스 커뮤니티의 모습이 와우를 통해 이미 활발하게 나타나고 있군요.
거기에 더 나아가 유명한 애드온이나 모음집 제작자는 기업의 후원으로 제작에 나서기도 합니다. 물론 그 금액이 얼마인지는 모르겠습니다만 전업을 할 정도는 아니지 않을까 합니다.
만약 한국에서 기업 후원을 받는 전업 애드온 개발자가 나온다면 뉴스에 나올지도 모르겠습니다. 외국에서는 와우 애드온으로 비쥬얼드를 만든 사람이 있었는데, 팝캡 사에서 그를 고소하기커녕 아예 고용해서 와우용 비쥬얼드 애드온을 개발 시켰습니다. http://painnewsreport.blogspot.com/2008/09/besharded-bejeweled-to-invade-world-of.html
와우를 플레이 하는 사람들도 한국 사람인데 왜 일개 게임에서 활발하게 나타나는 오픈 소스 커뮤니티의 특징들이 왜 한국의 오픈소스에서는 그 성공을 의심받고 있을까요.
제 개인적인 생각으로 아마 이런 것 같습니다.
1. 재미의 차이 같습니다.
회사에서 평일 내내 코드에 찌들다가 주말에 집에 가서 또 디버깅을 하고 있다? 그런 상황이 재미있는 분은 소수라고 생각합니다. 오픈 소스에 관심있는 개발자 절대 다수가 그런 재미를 느낀다고 보기 힘들지 않을까 합니다.
와우는 기본적으로 게임 자체가 매우 재미있기 때문에 좀 더 와우를 재미있게 즐기기 위해 필요한 도구로서의 애드온이 가지는 가치가 크게 느껴집니다. 결국 애드온 개발 또한 와우 플레이의 연장선으로서 재미있게 느낄 수 있는 부분이 많다고 봅니다.
2. 명성입니다.
괜찮은 애드온이나 모음집은 그 즉시 커뮤니티로부터 반응이 나타납니다. 특히 게임 내에서 그런 명성을 느낄 수 있기 때문에 명성 하나때문에 게임 내에서 단순 반복 작업을 하는 것만큼이나 애드온 개발을 통해 얻는 명성의 가치가 작지 않다고 봅니다. 그런 것이 애드온 개발 및 수정에 참여하게 만드는 동기 부여가 크다고 봅니다.
3. 비폐쇄성입니다.
애드온을 개발, 수정, 번역 등의 작업을 하는데 있어 많은 피드백과 참조가 오고 갑니다. A 애드온의 일부 기능을 B 애드온이 흡수하여 발전하는데 그에 대해서 누구하나 비판적인 사람이 없습니다.
C 애드온의 버그나 기능에 대해서 사용자가 피드백을 남기면 금새금새 수정 반영됩니다. 더구나 그 피드백이라는 것이 버그질라처럼 어려운 것이 아니라 단지 해당 애드온 게시물에 댓글을 남기는 것으로 끝입니다.
외국 애드온을 한글화 하는 것도 복잡한 과정이 필요없습니다. 약간의 의사 교환만으로 바로 저장소의 로컬라이즈 파일을 수정하여 커밋하는 것으로 완료입니다. 그러면 공식 저장소에 한글화 파일이 들어가게 됩니다.
뭔가 와우 애드온 오픈 소스 커뮤니티에 참여하기 위해 거창하고 복잡한 단계와 절차, 그리고 배타성이 없다는 것입니다.
물론 애드온의 복잡성을 리눅스 커널과 같은 대규모적인 것과 일대일 비교하기는 어렵습니다. (유명한 개발 프레임워크인 Ace3가 18955 행 정도입니다.)
그러나 그 특징과 유형을 보았을 때 와우의 애드온 관련 커뮤니티는 한국의 오픈 소스 진영에서 눈 여겨 보아둬야 할 부분이 있지 않나 생각압니다.
와우 쪽 커뮤니티에서 배울 점과 한국 오픈 소스 진영과의 환경 차이, 그리고 어떻게 한국 오픈 소스 진영의 문제를 해결 할 수 있을지 서로 이야기를 나누어 보았으면 합니다.
PS> 이 글은 권순선님이 쓰신 글(http://kldp.org/node/99537)을 읽고, 와우에 한정해서는 오픈 소스라는 개념이 어느 정도 성공적인 단계가 아닐까 하는 생각이 들어 쓰게 됐습니다.
PS> 오픈소스 개발만으로 생계를 꾸리는데 충분한 돈을 버는 부분에 대해서는 저도 다소 회의적입니다. Just for fun 만으로도 오픈 소스가 활발한 와우를 생각한 것은 그런 연유입니다.
와우가 만들어진 후
와우가 만들어진 후 그 와우에 대해 오픈되었다는 것도 중요한 요인이라고 생각합니다.
그러니까 그 성공할 오픈소스는 처음부터 커뮤니티에 의존해서 크는게 아니고,
이미 만들어진 막강한 배경에서 손쉽게 접근할 수 있다는게 크다는거죠.
무슨 프로그램이든 오픈소스화 할 수 있으니만큼,
오픈소스로 성공하는것 보다는 성공할 만한 프로젝트를 오픈소스화 하여 시너지효과를 보는것이 조금은 더 가까운 길이라 생각됩니다.
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/
https://xenosi.de/
안그래도
안그래도 요즘 와우를 하면서 비슷한 점을 느끼고 몇 자 써볼까 했는데 먼저 써주셨군요.
1,2,3번 다 저도 공감되는 내용입니다.
와우 애드온 개발자들은 대부분 말씀하셨다시피 전형적인 오픈소스 개발자같은 행위를 하고 있고,
와우 애드온 개발자 포럼은 이상적인(?) 오픈소스 커뮤니티의 모델을 닮았음에도 불구하고,
오픈소스에 대한 지식이나 개념이 거의 없는 것은 둘째치고 라이세스에 대한 개념이 뚜렷하지 않은 분이
많은 게 인상적이더군요. 제가 사용하던 애드온(한국분이 개발한 간단한 애드온입니다)을 조금씩 수정해서 사용하다가
어느새 전혀 다른 애드온이 되어 있어서 공개를 해볼까 하고 원작자분께 소스의 라이센스에 대해 문의를 드렸습니다.
반응은 뭐.. 위에 썼다시피 "오픈소스 그게 뭔가효 먹는건가효 우걱우걱" 이었죠(.....)
결국 뭐 이런저런 이유로 그만뒀던 기억이 납니다.
그러다보니 또 하나 생각해 볼 점은, 이걸 이용해서 수익사업에 활용하는 업체가 생겨난 것이죠.
대표적으로 curse 를 들 수 있을텐데요. 얼마전까지만 해도 ace3 프레임워크에 기반한 애드온들은
개발/배포가 wowace 을 통해서 이루어졌지만 현재는 개발만 wowace 에서 이루어지고,
파일의 배포는 유명한 상업 게임 커뮤니티 사이트인 curse 를 통해서 이루어지고 있습니다.
물론 저를 포함한 사용자들은 애드온을 다운로드받으면서 광고를 보게 되고, 심지어 좀 더 편한
다운로드와 버전관리를 이용해 curse 의 전용 클라이언트를 사용하기도 하죠.
이러한 면은 앞서 이야기한 희박한 라이센스 개념과 연동시켜 생각할 수도 있겠지만,
또다른 "성공한 오픈소스 커뮤니티" 라는 점에서 주목해 볼 만하지 않을까 합니다.
개인적으로 저는 엔드유저에 해당하는 평범한 와우 플레이어들이 개발에 참여하게 된 계기나
과정을 더 주의깊게 보고 있습니다. 실제로 애드온 관련 포럼을 보면, 블리자드에서 애드온 프레임워크를
약간 변화시켰을 때의 오버헤드를 논하는 분들도 있지만, 프로그래밍의 F자도 모르는 분들(농담입니다)도
애드온 개발에 참여하기 위해 lua 를 익히려 하고 있으니까요.
덧붙임.
와우 애드온 모델의 활발한 발달은 Just for fun 말고도 "훌륭한 프로그램은 개발자 자신의 가려운 곳을 긁는 데서 시작한다" 라는
말이 엔드유저 단에서 실현된 것과도 관련이 깊지 않을까 싶습니다. 저 역시 wine 에서 와우를 돌리면서 한글입력이 안되서 영타로 입력하면
한글로 자동변환되는 애드온을 만들고 있던 적이 있고요(-_-;;) 더군다나 이러한 "가려운 곳을 긁기 위한 프로그램"들은 실제로
그것들이 해결되면 개발이 중단되고 있고요. TargetOfTarget 이나 Threat Meter 등이 대표적인 예가 아닐까요?