악성코드 잡는 ‘울타리’ 만든 개발자 권용휘
“realization of dream” 꿈은 이루어진다.
“잘 돌아가던 PC 가 갑자기 느려 졌다면…” 악성 코드 침입을 의심해 볼 필요가 있다. 침입 형태도 다양해 무료 백신을 가장한 악성 코드가 넘쳐 난다. 실수로 설치라도 하는 날엔 시스템 전체에 영향을 미친다. 제거에 들어가는 비용도 만만치 않다. 이런 사용자를 위해 무료 악성 코드 제거기를 만들어 배포하는 개발자가 있다.
오픈 소스 개념이 출현한 뒤로 소프트웨어 환경에 큰 변화가 생겼다. 소스 포지를 잘만 검색하면 원하는 기능을 갖춘 프로그램을 공짜로 얻는다. 단, 오픈 소스 특성상 여럿이 개발하다 보니 릴리즈나 피드백이 지연되게 마련이다. 악성 코드를 제거하는 ‘울타리’, 시스템 최적화 프로그램인 ‘클릭투트윅’을 만들어 배포한 권용휘씨(24)는 ‘업데이트 좀 그만’ 해 달라는 다소 황당한 피드백을 받는다. 혼자서 공개 프로그램을 만들다 보니 협업에 들어가는 자원이 필요 없다. ‘realization of dream (<https://rodream.net)’> 사이트로 사용 반응을 체크했다가 릴리즈에 반영한다. 많게는 한 달에 일곱 번이나 릴리즈를 했다.
경북 문경이 고향인 그는 중학생 때부터 공개 프로그램을 개발했다. 우연한 기회에 서점에서 발견한 마소지가 발단이 됐다. 1998년 4월호에 비주얼 베이직 5.0 체험판을 부록으로 준다는 말에 주저 없이 구입했다. 한번은 개발 도구 3~4종을 5천원에 판다는 줄 광고를 보고 송금했다가 CD를 못 받은 적도 있다. 그만큼 CD 구하기가 힘든 시적이었다. “마소를 사 놓고 몇 개월간 잊고 지냈어요. 6개월 쯤 지나서 방학을 이용해 집중해서 읽었어요. 딱 한번 마소 신간을 사러 간 일 외에는 대문밖에 나가질 않았죠. 샘플 프로그램을 완성했을 땐 세상을 다 얻은 기분이었다. 동굴에서 ‘한 줄기 빛을 본 느낌’ 이었다고 당시 소감을 대신했다. 그 후로 프로그래밍에 재미가 붙어 뭐든 계속 만들어 보고 싶었다. 뚜렷한 목표가 없던 차에 정보 올림피아드가 눈에 띄었다. 코딩엔 자신이 있었지만 정보 올림피아드는 별도로 알고리즘 지식이 필요했다. 대신 공모전 응모로 목표를 수정했다. 학업과 공모전 준비를 병행해 정보 올림피아드 공모전에서 입상을 했다. 공모전에 대한 열정은 대학까지 이어졌다. 건국 대학교 컴퓨터 공학과에 입학하자마자 소프트웨어 공모전에 응모했다. 심사 위원단 앞에서 발표를 하던 중 한 심사 위원의 안색이 안 좋아 보였다. “순간, 저 사람만 설득하면 승산이 있겠다고 판단했어요. 그 사람만 뚫어져라 쳐다보고 발표했죠. 나중에 알게 된 사실이지만 졸음이 와서 그랬다고 하더라고요.(웃음)” 그에게 있어 프로그램 개발이란 매 순간 모든 것을 던질 만큼 양보할 수 없는 가치였다.
현실과 이상
대학에 입학한 그는 항공대에 다니는 한 살 터울인 형과 함께 일산에서 자취를 했다. 하지만 독립하고 싶은 마음에 부모님이 납득할 만한 알리바이를 고민했다. 소프트웨어 멤버십에 합격해 멤버십 공간을 쓰거나 학교 기숙사에 들어가는 것. 둘 다 안 되면 몰래 집을 구하려던 차에 멤버십 합격을 통보 받았다. 초보자를 위한 프로그램 개발 도구로 지원을 했다. 기존 방식과 달리 사용자가 필요한 명령을 찾아서 선택하는 방식으로 고등학교 시절부터 만들어 오던 프로그램이다.
그는 한 줄씩 직접 코딩하며 머릿속 생각을 만들어 보는 스타일이다. 같은 과제라도 2~3달씩 몰입해서 푸는 일이 많아 남들보다 작업 속도가 느린 편이라고 했다. 알고 싶은 분야가 생기면 직접 공부하거나 물어 보는 스타일이다. “교양 프로그래밍 시간에 연산자 우선순위 문제를 풀었는데 오답으로 나온 적이 있어요. 직접 돌려보니 문제가 없었어요. 곧바로 교수님을 찾아가 주말 내내 문제에 대해 대화를 나눴죠.” 요즘은 휴학하고 병역 특례 중이지만 프로그램 개발은 멈추지 않았다. 실무 경험이 쌓이면서 사용자 니즈가 명확한 프로그램을 만들어 보기로 했다. 클릭투트윅 이후로 나온 울타리나 ‘개꿈 라디오’ 같은 프로그램은 사용자 요청으로 탄생했다. 초기엔 함께 개발한 사람을 찾기 위해 배포할 때 코드를 공개했지만 생각만큼 피드백이 많지 않았다. 혼자서 개발하는 것도 이런 이유에서다. 직접 회사 생활을 해보니 업무가 과중해 현실과 이상 간의 거리감이 큰 것 같단다.
프로그래밍, 그 본질에 대한 탐구
그는 주로 시스템 쪽이나 애플리케이션 프로그램을 개발한다. 굳이 한쪽을 고집하는 이유를 묻자, 본질에 대한 탐구 정신이라고 답했다. “아키텍트가 말하는 설계 방법론을 보면 좋은 아키텍처 서적을 보고 설계 기법을 익히라고 하지만, 과연 제대로 된 방식인지 의구심이 들었어요. 내가 만들 줄 안 다음에 설계하는 게 합리적이라고 생각했어요. 물론 다 만들어 볼 순 없겠죠.” 무조건 애플리케이션 프로그램만 고집하는 건 아니다. 변화 추이를 외면하지 않는 대안을 제시했다. 웹 기반 애플리케이션의 경우 콘텐트 제공자가 최적화되지 않은 콘텐트를 제공해 속도가 느려 지거나 원하는 정보를 정확히 전달하지 못해 문제라고 했다. 애플리케이션 프로그램들이 이런 웹 기반 정보들을 재가공하고 최적화해 주는 보완재 역할을 해 준다고 했다. 그의 꿈은 프로그램을 개발하는 교수가 되는 것이다.
글 | 마이크로소프트웨어 문경수기자 사진,동영상 | 한국마이크로소프트 황선영