제로보드는 국내에서 게시판 소프트웨어의 대명사 격인 프로그램입니다. 제로보드가 얼마 전 XE(Xpress Engine)로 이름을 바꾸고 오픈 소스 프로젝트가 되었는데요. 이번 인터뷰에서는 제로보드 개발자이자 XE 프로젝트를 이끄는 고영수 님을 만나 보았습니다.
|
제로보드 4와 XE 사이의 제로보드 5는 비운의(?) 버전이 되어 버렸던데...
제로보드 5는 첫눈에서 일할 때 개발했던 버전입니다. 당시 첫눈에서 ‘검색 서비스는 풍부한 콘텐츠가 기반이 되어야 한다’라는 의견이 나왔습니다. 콘텐츠가 없으면 검색 기술이 아무리 좋아도 보여줄 것이 없으므로 제로보드 같은 프로그램을 이용해 콘텐츠를 잘 가꿀 수 있어야 하고 웹 생태계 발전을 위해 검색 회사에서 이를 지원해야 한다는 것이었죠. 덕분에 회사 일을 하면서 제로보드 5를 만들기 시작했습니다. 2003년 들어 제로보드 4 개발에 손을 대지는 못하고 있었지만 라이선스 문제라든지, 협업 문제, 프로그램 구조 문제 등 여러 가지 숙제가 있었습니다. 제로보드 5에서는 그런 문제들을 풀어 보려고 했는데 개인적으로 좀 힘든 시기가 오는 바람에 마무리를 제대로 짓지 못했습니다. 초기에 욕심을 부려 무리하게 진행하려 한 면도 좀 있었고요. 그러던 중에 첫눈이 NHN에 인수됐고 검색 개발 센터 업무에 매진하다 보니 흐지부지되어 버렸습니다. 하지만 제로보드 5가 없었으면 지금의 XE도 없었을 거라 생각합니다. 프로토타입으로서 충분히 가치 있는 버전이었다고 봅니다. |
 |
 |
|
제로보드 5에서 구상한 것 중 어떤 것들이 XE로 이어졌나요.
모듈 개념, 템플릿을 이용한 로직과 뷰 분리 같은 것들이 있습니다. 제로보드 5를 만들지 않았더라면 XE를 개발하면서 아직도 헤매고 있을 부분이 많았을 겁니다. 제로보드 4가 커스터마이징을 통해 완성해 가는 구조라면 제로보드 5는 자동 빌더와 비슷했습니다. 제로보드 5를 만들면서 두 가지의 장단점을 알았고 그런 경험이 XE 개발의 토대가 됐습니다.
|
 |
 |
|
흔히들 “다시 짜는 게 낫겠다”라고 하지만 막상 쉬운 일은 아닙니다. XE는 사실상 처음부터 다시 개발한 것으로 알려져 있는데 어렵지는 않았나요.
제로보드 4는 기반 지식이 많지 않을 때 만들어서 코드 자체는 간단했는데 사용자들이 저마다 커스터마이징을 많이 하면서 제가 유지 보수하고 관리하기가 힘들게 되어 버렸습니다. 새로 만들 수밖에 없는 상황이었죠. 앞서 말씀 드린 것처럼 제로보드 5 경험이 있었고 그 때 놓친 것들을 새로 만들면서 나름 재미있었습니다. 다양한 실험도 해볼 수 있었고요.
|
 |
 |
|
전에 혼자서 개발하던 시절에 비해 XE에서는 개발 방식에 변화가 있었나요.
PHP 4가 언어 자체에서 잘 지원해 주지 못하는 부분이 있어 원하는 만큼은 이루지 못했지만 어느 정도 구조화된 설계를 통해 XE 기반 위에서 개발하는 것이 편해지게끔 만들었습니다. 앞으로 PHP 5에 맞춰 코드 리팩터링을 준비 중인데 그렇게 되면 더 나아지리라 예상합니다.
|
 |
 |
|
그러고 보면 PHP는 애증의 언어라는 생각이 듭니다.
PHP는 처음 배울 때는 쉬운 언어입니다. 변수 선언이 없어도 되고 타입에 신경 쓸 필요도 없고요. 그래서 마구 쓰기는 좋은데 나중에 그게 발목을 잡습니다. 개발자가 수많은 예외 상황에 대해 일일이 신경을 써야 하고 검증 코드를 넣어도 완벽히 검증되지도 않습니다. PHP 4는 특히 더 심하죠. 세련되지 못한 부분이 많습니다. 정말 뭔가 말로 하기 힘든 애증이 있을 수밖에 없는 언어죠. 다른 PHP 사용자들도 비슷한 생각을 할 겁니다. PHP 인프라가 워낙 많기 때문에 PHP를 쓰지만 요즘 나오는 다른 언어에 비해 답답한 부분이 있는 건 사실입니다.
|
 |
 |
|
PHP 4 같은 레거시 때문에 XE 보급이 더딜 수도 있겠군요.
XE가 씨앗이라면 그 씨앗을 뿌리는 곳이 호스팅 회사들일 겁니다. 한국은 호스팅 회사 수도 많고 사용료도 저렴한 편인데요. 그런 회사들과 잘 연계해야 할 필요가 있습니다. 호스팅 회사들을 인정하지 않고 XE만 좋은 걸 바라보고 멀리 달려 나가봐야 소용이 없으니까요. 사용자•인프라와 XE가 호흡을 잘 맞춰 나가야 하는데 아직은 대화 채널이 없습니다. 현재 제로보드나 텍스트큐브 설치를 지원하는 호스팅 회사가 많아서 XE가 PHP 5로 옮길 때쯤이면 자연스럽게 지원될 것 같기는 한데 좀 더 긴밀한 대화 채널이 생겨 의견을 조율할 수 있으면 좋겠습니다. 또 국내의 PHP 기반 오픈 소스 프로젝트들끼리 PHP 버전 문제 등에 대해 이야기를 좀 더 나누면 좋을 것 같아 쉽지는 않겠지만 준비해 보려 합니다.
|
 |
 |
|
다양한 오픈 소스 CMS가 있는데 CMS로서 XE에서 가장 주안을 두는 부분은 무엇인가요.
웹이 생긴 이후로 홈페이지, 게시판, 카페, 미니 홈피, 블로그 등 서비스 형태가 다양하게 바뀌어 왔지만 그 중심에는 항상 콘텐츠가 있었습니다. 좋은 콘텐츠가 잘 관리되고 오래 살아남아 가치를 내게 하는 것이 중요하다고 생각했습니다. 제로보드에서 XE로 이름을 바꾸면서 CMS를 표방한 것도 그 때문인데요. XE는 처음 설계할 때 내부를 모듈 단위로 나누어 특정 디자인에 구애 받지 않게 하고 로직에서 콘텐츠를 잘 만들고 발행하고 유통할 수 있게 하는 데 중점을 두었습니다. 블로그는 기술적으로 정해진 부분이 있지만 CMS는 정보를 잘 관리하는 다양한 방법을 시도하고 도입할 수 있다고 봅니다.
|
 |
 |
|
검색 측면에서 보면 구조적이고 의미적으로 맞는 콘텐츠에 대한 중요성이 더 커지고 있습니다. XE에서는 이에 대해 어떤 구상을 하고 있는지 궁금합니다.
첫눈 시절 검색 엔진 개발자들과 함께 일하면서 느낀 것이지만 검색이란 것이 참 어렵다는 생각이 듭니다. 무언가를 잘 찾아 보여주어야 하는데 그 기준이 저마다 다르거든요. XE가 검색에 도움이 된다는 것은 결국은 XE로 만든 콘텐츠를 그것을 필요로 하는 사람들이 쉽게 찾을 수 있어야 한다는 것인데요. 보통 검색이라고 하면 검색 로봇이 웹 페이지를 긁어 모아 패턴 분석 등을 거쳐 인덱싱을 하는 과정을 거치는데 제로보드 4는 내용과 디스플레이 부분이 섞여 있어서 검색하는 분들이 고생을 많이 한다는 이야기를 들었습니다. XE에서는 내용을 명확히 분리해 검색 엔진에서 쉽게 활용할 수 있도록 하는 것이 1차적 목표입니다. 예를 들어 예전 제로보드에서는 제목을 아무 태그로나 표현했는데 XE에서는 의미적으로 맞는 태그를 쓰도록 바꾸고 있습니다. 의미적으로 맞는 태그만 써도 검색 엔진에서 정보를 수집, 분류하기가 훨씬 쉬워집니다. 그 다음에는 현재 준비 중인 발행(syndication) API를 통해 검색 로봇이 소모적으로 크롤링을 하지 않아도 XE를 쓰는 사이트에서 업데이트되는 내용이 검색 엔진에 수집될 수 있게 할 계획입니다.
|
 |
 |
|
공부할 겸 만들어 본 소프트웨어가 자신의 개발 경력의 상당 부분을 차지해 버린 경우를 종종 보는데요. 제로보드를 만들지 않았다면 어땠을 거라 생각하시나요.
좀 애매한데 예전 회사들, 첫눈을 거쳐 NHN에 올 때까지 제로보드를 만들었다는 걸 이력서에 적어 본 적은 없습니다. 다만 제로보드를 통해 웹 개발을 좋아하고 잘 하게 된 계기와 원동력이 된 것 같습니다. 사실 회사에서 전업 오픈 소스 개발을 제안 받았을 때 고민을 좀 했습니다. 아시다시피 경력 관리라는 면에서 밟아야 할 단계가 있는데 갑자기 전혀 예상 못한 길로 온 셈이니까요.
|
 |
 |
|
말씀대로 선뜻 결정하기 쉽지 않았을 텐데 제안을 받아들이신 계기는 무엇인가요.
제로보드 4에서 못한 것을 정말 하고 싶었고 또 제가 좋은 선례를 남길 수 있겠다는 생각이 들었습니다. 국내에서 NHN 같은 큰 회사에서 가시적으로 전업 오픈 소스 개발 지원을 하는 경우는 흔치 않던 시기라서 제가 첫발을 디디면 저와 같은 일을 하고 싶은 사람들에게 길이 생길 거라는 좀 거창한 생각을 했습니다.
|
 |
 |
|
검색 개발에도 여전히 흥미가 있으신가요.
검색도 흥미로운 일이지만 만약 XE 이외의 다른 일을 한다면 서버 쪽보다는 UI 분야 일에 관심이 많이 갑니다. 섣부른 판단일지도 모르지만 초창기 웹이 서버에서 처리된 결과를 보는 것이었다면 요즘은 UI 측에서 개발하는 요소가 늘고 있습니다. Ajax, 플래시, 실버라이트가 대표적인 사례인데요. 그런 측면에서 좀 더 동적인 클라이언트 단 기술을 좀 더 공부해 보고 싶습니다. 다행히 XE는 둘 다 해야 해서 더 재미있습니다. (웃음)
|
 |
 |
|
시골 생활은 어떻게 시작하셨나요.
경기도 광주시 초월읍 용수리라는 곳에서 살고 있습니다. 아이가 아토피가 너무 심했어요. 병원을 다니며 치료를 받아도 별 차도가 없더군요. 그러다 가족끼리 여행을 갔는데 공기 좋은 곳에서 며칠 쉬니 아이 피부가 보통 사람들처럼 바뀌더군요. 그래서 아내와 상의 후 이사를 갔습니다. 옮기고 나서 아이 아토피가 많이 나았습니다. 도시를 떠나 산다는 게 불편한 점도 있고 가끔 그립긴 한데 가족 간의 생활은 좋습니다. 이사 간 후로는 아침 여섯 시면 잠이 깨서 일어나 운동하고 출근해 회사에서 일하다 퇴근하는 식으로 자연스럽게 최적화(?)가 됐습니다. (웃음)
|
 |
 |
|
‘가정적인 개발자’라는 평을 들으시던데 퇴근 후 가족과 어떻게 시간을 보내시나요.
주변에 개발자들을 보면 자기 생활이 없는 걸 볼 때가 있는데요. 개발이 좋아서 퇴근 후에도 생각날 정도인 사람들도 있고요. 저는 시골에서 살아서인지 (웃음) 집에 도착하는 순간 회사 일은 잊게 되더군요. 퇴근 후에는 컴퓨터를 거의 켜지 않습니다. 컴퓨터를 쓰지 않으면 시간이 많이 남는데 그 시간을 가족과 보내려고 노력합니다. 아이와 정원 일을 한다든지, 아이에게 책을 읽어준다든지 하는 식으로 시간을 보내는데 참 좋습니다. 목말 태워주는 사소한 것도 아이에게는 크게 와 닿는지 다른 집은 아이와 아버지 사이에 거리가 있다던데 다행히 저희 아이는 그런 게 없습니다. 남는 시간에 집안일도 같이 하고요. 좀 서툴지만 기념일도 잘 챙기려고 노력 중입니다. (웃음)
|
 |
 |
|
제로보드부터 현재 XE까지 내년에 10주년이 되는데 준비하시는 것이 있나요.
XE가 가치 있는 오픈 소스 도구가 되었으면 합니다. 다시 말하면 사용자들이 XE를 가지고 가치 있는 정보를 쉽게 만들 수 있게 하는 것이 목표인데 이런 목표를 이루는 데 필요한 기능을 저나 제가 속한 팀이 아무리 열심히 일해도 다 만들 수는 없습니다. 그 부족한 부분을 채울 수 있는 것이 오픈 소스 프로젝트라고 생각합니다. 그래서 저희 팀에서는 웹 표준 같은 기본적인 부분, UX, 쉽게 만들 수 없고 전문성이 필요한 모듈처럼 외부 참여자들이 하기 어려운 부분의 기초를 더 정교하게 다지려고 합니다. 오픈 소스 참여의 기본적인 동기는 재미인데 이와 같은 것들은 어렵고 힘들거든요. 이런 준비가 되면 참여자들이 원하는 기능을 좀 더 손쉽게 추가할 수 있으리라 기대합니다. 또 관심 있는 분들이 간담회 같은 자리에서 서로 의견을 교환하고 피드백을 받는 자리를 만들어 볼 계획입니다.
|
 |
 |
|
|
 |
|
[고영수 소개] XE(Xpress Engine) 오픈 소스 프로젝트 매니저 중 1인이다. 현재 NHN에서 풀 타임 오픈 소스 개발을 하고 있는 오픈UI 기술팀을 맡고 있다.
|
| 이 문서 북마킹 하기
|
 |
 |
 |
 |
|
[지난 인터뷰 보기]
|
 |
 |