황치규 기자/ delight@zdnet.co.kr

오픈소스 소프트웨어 프로젝트에서 이름을 드날리는 개발자가 되고 싶다면 천리길도 한걸음부터라는 말을 떠올리는게 좋겠다. '참을인(忍)'이란 한자도 마음속에 새겨두는게 여러모로 괜찮을 것 같다.

 

얘기를 들어보니 코딩 실력만 출중하다고 바로 먹혀드는 곳이 아닌게 바로 오픈소스 소프트웨어 세계다. 모르는 사람들이 어울려 있는지라  매너도 중요하고, 가늘고 길게 가겠다는 마인드가 없다면 중간에 알아서 포기할 가능성이 높다. 

 

오픈소스 소프트웨어라는 분야, 보면 볼수록 알쏭달쏭한 동네다. 이렇게 알쏭달쏭한 동네에서 고생끝에(?) 자리를 잡은 개발자 6명이 모여 오픈소스 소프트웨어라는 동네에서 살아가는 경험담을 공유했다.
▲ OSS개발자 포럼 1주년 행사.

지난 18일 신촌의 한 모임 공간에선 OSS 개발자 포럼 1주년을 기념한 행사가 열렸다. 행사에선 오픈소스 소프트웨어 분야에서 활동하는 강대명(카카오 개발자), 진성주(KT 바스아이오 백엔드 서비스 개발자), 박민우(인모비코리아 솔루션 엔지니어), 윤종민(윈드리버 책임연구원), 이희승(트위터 개발자), 최현식(아파치 타조 프로젝트 설립자)씨가 돌아가면서 오픈소스 개발자 세계의 맨얼굴을 참가자들과 공유해 눈길을 끌었다.

 

들어보니 오픈소스의 세계에도 계급(?)이 있다. 크게 컨트리뷰터, 커미터, 기타로 나눠진다.  컨트리뷰터(Contributor)는 어떤 오픈소스 SW 프로젝트에 코드를 제공할수는 있지만, 그걸 결정할 권한은 없는 없다. 넣을지 말지 여부를 결정하는 것은 커미터(Committer)들의 몫이다. 커미터가 넣어도 좋다고 한 코드를 만든 사람이 컨트리뷰터가 되는 것이다.

 

컨트리뷰터를 몇년 하면 그냥 커미터가 된다고 생각하면 착각이다. 커미터가 된다는 것, 정말이지 어려운 일이다.  실력과 품성을 겸비해야 한다. 실력과 품성을 갖춰도 커미터가 못되는 이들도 수두룩하다.

 

타조와 레디스, 몽고DB 등 다수 프로젝트에서 컨트리뷰터로 뛴 강대명씨는 이제 커미터를 꿈꾸는 개발자다. 커미터에 대해 그는 다음과 같이 말한다.

 

"쉽게 될 수는 없어요. 꾸준히 지속적으로 그것도 성실하게 오픈소스 프로젝트에 참여해야 합니다. 패치말고 리뷰도 잘해주는 것이 좋아요. 실력를 떠나 프로젝트에 얼마나 오래 참여하는지가 중요합니다. 그렇게 하다보면 주변에서 신뢰가 쌓이는 거죠."

 

이렇게 해도 쉽지 않은게 커미터의 길이다. 특히 특정 회사에서 주도하는 오픈소스 프로젝트들은 해당 회사 직원들에게만 커미터 자격을 부여하는 경우가 많다고 한다. 이래저래 진입 장벽은 더욱 높아진다. 높아진 진입 장벽을 보면서 꿈을 접는 개발자들도 늘지 않을까 싶다.

 

오픈소스 소프트웨어 프로젝트의 특징 중 하나는 얼굴 모르는 사람들과 함께 개발한다는 것이다. 아는 사람하고 같이 일해도 신경쓰이는게 많은데, 모르는 사람하고 커뮤니케이션하다보면 별의별일이 다 생긴다.

 

"예의를 갖추는게 중요해요. 무슨일 당해도 상처받지 말고 쿨해질 필요도 있죠. 동양인의 경우 영어가 잘 안되다보니 상대적으로 상처를 많이 받을 수 있습니다."

 

아파치 유저그리드 프로젝트에서 커미터로 활동중인 진성주씨 얘기다. 본인도 욱하는 마음이 든 경우가 한두번이 아니었다고. 그래도 참고 또 참았단다. 속마음 감추고 가면도 수시로 썼다. 버티려면 얼굴이 좀 두꺼워질 필요가 있다는 얘기로도 들린다.

 

다시 말하면 커미터가 되려면 컨트리뷰터로서 열심히 또 열심히 활동해야 한다. 컨트리뷰터가 되는건 쉽겠지하는 생각은 금물이다. 자신이 만든 코드가 해당 프로젝트에서 받아들여지기까지의 과정도 만만치 않다. 심지어 로비를 해야 경우도 있다.

 

강대명씨와 진성주씨 모두 커뮤니티에 있는 이들과 친해질 것을 적극 주문한다. 메일링 리스트에 자주 이름을 내밀거나 틈틈히 댓글로 의견을 구하면서 인간적으로 친해질 수 있는 '거리'를 만들어야 한다는 것이다. 친해지면 코드가 잘 받아들여질 가능성이 높다고 한다. 사람사는 세상이란 어딜가나 똑같은 셈이다.

 

개발자들은 커뮤니케이션을 잘 못한다는 고정관념이 100% 틀린게 아니라면 친해지려고 먼저 다가가고, 맘에도 없는 칭찬(?)도 해가면서 컨트리뷰터나 커미터가 되기 위해 노력하는건 무척이나 고단한 일 같다는 생각도 든다. 사람 만나는 일하는 기자도 솔직히 자신이 없다.

 

집에서 쉬는게 아닌 이상, 회사 다니면서 오픈소스 세계에서 활동한다는게 그리 만만한 일은 아니다. 컨트리뷰터나 커미터로 뛰는 개발자들이 오픈소스 프로젝트에 얼마나 많은 땀과 에너지를 쏟아붓는지는 밖에서는 제대로 보이지 않는다. 외부에선 해당 개발자의 명성만 많이 보일 뿐이다.

 

그러나 이날 행사에 가서보니 오픈소스 개발 프로젝트에 참여하는 것, 정말로 아무나 할일은 아닌 것 같다. 우선 오픈소스 SW 개발자들은 새벽 1~2시까지 잠안자고 맘에 드는 프로젝트에서 활동하는건 기본이다. 그리고 다음날 아침 정상 출근한다. 이런 생활을 반복하다보면 몇년 후 어느날 컨트리뷰터도 되고 커미터도 되는 것이다.

 

사람인 이상 돈과 관련된 일이 아니라면 오랫동안 그것도 꾸준하게 활동하기는 쉽지 않다. '꾸준함'은 말하기는 쉬운데, 행하기는 어려운 것의 대표적인 말 중 하나다. 피트니스 클럽 끊어놓고 며칠하다 안가는 이들이 많은데, 오픈소스는 더하면 더했지 못하지 않아 보인다. 

 

당사자들의 얘기를 직접 들어보니 재미와 승부욕이 버무려지지 않으면 오픈소스 개발자로 롱런하기 쉽지 않아 보인다. '인정욕구'만으로는 역부족이다.

 

마지막으로 영어 얘기다. 오픈소스 커뮤니티의 공용어는 코드와 영어다. 개발자라면 코드를 짤줄 아니 영어가 관건이 되겠다.

 

결론부터 말하면 오픈소스 커뮤니티 활동에 대단한 영어 실력이 필요하지는 않다. 영어는 필요조건일 뿐이다. 강대명씨와 진성주씨 모두 영어를 잘한다와 못한다로 구분했을 때 스스로를 못한다쪽에 갖다놨다. 그런데도 컨트리뷰터나 커미터가 됐다는 것이다. 영어를 못해도 상관없다는 것보다는 영어 때문에 쫄지 말라는 뜻으로 받아들이는게 좋을 듯 싶다.

 

이날 행사에는 개발자 세계에서 영어 좀 하는 이로 통하는 박민우씨가 나와 '개발자와 영어'를 주제로 발표를 진행했다. 핵심은 업무와 영어 공부를 연동하는 것이다. CNN이나 영어 문법책 사지말고  IT뉴스나 기술 관련 팟캐스트 들으면서 정보도 얻고 영어도 배우는게 현실적이라는 것이다. 자세한 얘기는 발표 자료를 참고하기 바란다. OSS 개발자 포럼 1주년 행사 발표 자료 링크도 함께 공유한다. (강대명, 진성주, 박민우, 이희승)