얘기가 길어 질 것 같아서 답변으로 글을 달아 봅니다. 오픈소스에 대한 현실을 얘기해 보도록 하겠습니다.
1. 첫째, 오픈소스는 같이 만들고 같이 사용하는 것이다.
오픈소스의 가장 큰 장점이라 할 수 있겠죠. 이게 참 매력적인 이야기입니다. 같이 만들고 같이 사용한다... 그런데 이게 현실과는 좀 동떨어진 얘기입니다. 저는 메신저상으로 오픈 소스 개발자들과 간혹 얘기들을 하는데 그들도 얘기하는 공통점이 있습니다.
"원래 이바닥이 가져다 쓰는 사람들만 있지, 도움 주는 사람은 별로 없어요. 남들에게 도움받을 기대는 애시당초 하지 않는 것이 좋아요"
오픈소스를 가지고 협업을 한다는 것이 결코 쉬운 일이 아닙니다. 제작년에 오픈 소스로 프로젝트를 진행한 적이 있었는데, 처참한 실패를 맛보았죠. 실제로 프로젝트 실무에 투입될 자격이 되는 사람들은 일부밖에 되지 않습니다(이는 협업에서 쓸만한 개발자를 뽑기 어렵다는 얘기와 비슷하다고 볼 수 있겠습니다). 변수명, 함수명의 코딩 스타일이 제각각인 문제 정도는 서로 협의를 하면 되는 사소한 일이지만, 전체 설계, 세부 설계에서부터 부딪히는 일들이 많습니다. 회사 업무라면 강제성이라도 있지, 오픈소스 프로젝트에서는 팀장과 팀원들의 의견 조율이 쉽지가 않습니다.
2. 오픈소스에 참여할 여유가 없다.
이게 참 현실적인 얘기입니다. 오픈소스에 참여할 여유가 없다... 글쎄요... 물론 제로보드XE나 Asterisk 같이 회사차원에서 밀어 주는 오픈소스 프로젝트들도 있지만 대부분의 오픈소스 프로젝트는 개인적으로 진행하는 경우가 많습니다. 그들 대부분은 자신의 협업에서의 실무가 따로 있고, 그와는 별도로 주말이나 회사를 마치고 집에 와서 프로젝트를 진행하는 경우가 다반사입니다. 취미 활동으로 운동을 하는 사람은 영화를 볼 시간이 없고, 영화 보기를 즐기는 사람은 운동할 시간이 없는 것과 비슷합니다. 오픈소스도 마찬가지입니다. 시간이 날때 하는 것이 아니라 시간을 내어서 하는 것입니다.
3. 개발실력이 안되어서 참여하기가 힘들다.
오픈소스 프로젝트는 단순한 "코딩 작업"이 전부는 아닙니다. 기존의 오픈소스에 참여를 할 수 있는 방법은 무궁무진 많습니다. 예를 들자면, 오픈소스에는 소스의 작성 이외에 다양한 작업들을 필요로 하죠. Web, Email, CVS, SVN, Forum등의 서버 관리, 새로운 산출물에 대한 QA Test, 예제 및 문서 작업, 오픈 소스에 대한 홍보(여기 저기 웹사이트에 퍼나르기) 등 여러가지가 있습니다. 프로그램 소스를 작성하는 것 말고도 다른 방법으로도 오픈소스 프로젝트에 참여할 수 있는 방법이 많다라고 하는 것을 알아 두시면 좋을 겁니다.
4. 국내에서는 오픈소스 하기가 힘들다.
국내에서 오픈소스의 문화가 외국에 비해 좀 뒤쳐져 있는 것이 사실이지만, 점차 나아 지고 있는 것이 실정입니다. 좀 다른 얘기를 해 보겠습니다. 오픈소스는 원래 nationalism과는 궁합이 맞지 않습니다. 한글로 된 것은 한국에서만 사용될 수 밖에 없고, 일본어로 된 것은 일본에서만 사용될 수 밖에 없습니다. 기본적으로 오픈소스라 함은 전 세계 사람들이 사용할 수 있도록 하는 것이 맞는 말이고, 전 세계 공통어는 현재 영어이므로 가급적이면 모든 과정을 영어로 하는 것이 좋습니다. 이렇게 영어로 작업을 한다라고 가정을 하는 경우에는 지역적인 문제점을 없어 지게 되고, 그렇게 따지면 "국내에서는 오픈소스가 힘들다"라고 얘기하는 것은 별 상관이 없게 될 것입니다.
문화적인 차원에서 얘기를 해 보자면 한국 사람들은 직접 얼굴을 보면서 얘기를 하는 것은 중요하게 생각하는 반면에, 땅덩어리가 넓은 나라에서는 현실상 이렇게 직접 만다는 것이 힘들다 보니까 업무 활동의 중요한 수단으로써 온라인 매체(메일)을 선호하는 경우를 보게 됩니다(블랙베리가 널리 보급될 수 있던 것 이유중의 하나가 바로 이거죠). 아무튼 오픈소스에 관심이 있으시다면 처음부터 지역적인 한계성은 생각하지 않는 것이 좋을 듯 합니다.
한 예를 들어 보자면, 어떤 오픈소스의 프레임워크를 제작한 사람은 미국사람이고, 그 오픈소스와 연동이 되는 플로그인을 만든 사람은 유럽의 작은 나라 사람인데. 메신저상으로 그 두사람에게 서로 만나 본 적이 있냐고 물어 봤는데, 실제로 만나 본 적은 한번도 없다고 하더군요. 그래도 프로젝트 진행은 착착 잘 되더군요.
제가 생각하는 오픈소스를 하는데 있어서 필요하다라고 생각하는 것들을 마직막으로 정리해 봅니다. ^^
1. 정보공유에 대한 의지
2. 내개 무엇을 얻을 수 있을까라는 생각보다는 내가 무슨 도움을 줄 수 있을까 라는 생각
3. 영어
|
제가 아는 한에서 아주 정확하시군요..
위의 글 퍼가도 될까요??