겨울이다.
산골짝의 다람쥐 아기다람쥐가 도토리 점심가지고 소풍을 가던 가을은 지나갔다. 곧 겨울이 올테고, 소풍 다니느라 나무에 도토리를 가득 채워놓지 않았다면 곧 아사餓死할 것이다. 가마솥에 쌀밥이 가득 들어 있다고 하여 밥을 퍼먹는 것에 정신이 팔리면, 쌀이 떨어지는 것을 알아챘을 때는 이미 눈이 한마당 쌓여 밖으로 나갈 수가 없게 된 후가 된다.
텍스트큐브 관련해서, 뜬금없지만 새벽마다 텍스트큐브 1.6 트리를 잠시 손에서 놓고 텍스트큐브 2의 기반 설계와 구성요소 드래프트를 손대는 중이다. 1.6을 내놓고 나면 바로 2.0을 만들 수 있을 것 같지만, 지난 1년을 교훈삼아 보면 그렇게 되지는 않는다. 1.6.1,1.6.2로 이어지는 유지보수 기간이 필요하다. (milestone의 유지보수 기간은 공식적으로 6개월이다) 유지보수에 신경을 쓰다가 보면 또다시 목표는 멀어진다. 텍스트큐브 2에 목을 매달고 있는 그라피티에님이나, 훨씬 나은 기반에서 새로 만들고 싶은 (스웨덴에서 시간이 넘치기 시작할) 아침놀님을 생각하면 계속 끌 수는 없는 일이다.
누군가 유지 보수를 맡는 동안 새로운 프로그램을 만드는 과정이 동시에 이루어지는 것이 가장 좋다. 하지만 새로운 프로그램을 만들 때, 설계와 재료가 준비되어 있지 않으면 결국 기반이 준비될 동안 많은 사람들은 할 일이 없어진다. 그렇게 되는 상황을 맞이하고 싶지는 않다.
올해 9월, 텍스트큐브 1.5가 발표된 후 이후의 문서화 과정에서 이미 그러한 상황을 한 번 겪었다. 그라피티에님이 개발 중인 문서화 전용 프로그램인 파피루스가 준비되지 않은 상황에서, 중복 작업을 막기 위하여 대부분의 문서화 작업과 국제화 작업은 정지하게 되었다. 멈춘채로 1주일을 기다리는 것은 누구나 할 수 있다. 그렇지만 3개월 가까이 아무 할 일이 없으면 열정은 식고 목표는 흐려진다. 파피루스는 2개월이 오버된 지금도 제작 단계에 있다. 문서화는 아직도 요원하다. 그 사이에 생긴 차이점이 하나 있다면, 처음에 문서화 및 번역에 나서겠다고 하신 분들의 이야기가 아직까지도 유효할 지 확신하기 힘들다는 점이다. 이후 텍스트큐브 2.0의 코드에 있어서 그렇게 되는 것을 막으려면, 기반 부분의 준비가 더 늦으면 안되겠다는 생각을 하였다.
올해 늦은 봄부터 만들고 싶은 것이 있었다. 굉장히 많은 peer를 기반으로 '공간'과 '트래픽'을 공유하는 데이터베이스이다. 언뜻 생각하면 peer-to-peer 파일 공유 서비스와 비슷해 보이지만, 이건 파일 공유가 아니라 하나의 거대한 데이터베이스를 만드는 것이다. 자기 수복성이 보장되어 있고, 자동으로 각 peer의 속도나 용량, 트래픽등의 성격을 분석하여 목적에 맞는 역할을 하도록 하는 클라이언트이다. 문제는 파고 들면 들수록 해결하기 힘든 점들이 늘어났고, GFS등이나 map-reduce등의 이미 알려지고 만들어진 것들과의 차이점이 불명확해지기 시작했다는 것이다.
항상 지식에 있어서 부족한 부분이 있었다. 여름 방학 아침 도서관에 들러 읽었던 여러 distributed data system들에 대한 서적들은 기본적으로 훨씬 넓은 범위의 데이터베이스에 대한 지식을 필요로 했다. 사람은 아는 만큼 생각의 폭을 넓혀 갈 수 있다. 그런데 그 부분이 너무나 약했다. critical phenomena는 수많은 이야기를 안주삼아 할 수가 있어도, DBMS에서의 prediction? 이 나오면 실제 'prediction'의 뜻이 어떻게 그 분야에서 쓰이는지 정확하게 파악하지 못하고 영단어 뜻 그대로 받아들여야 했다. 답답했다. 이번 학기에 좀 더 많이 배우기 위해서 'Advanced Topics in Data Management' 과목을 수강했다. 과목에서는 알고 싶었던 것들 보다 훨씬 더 근본적인 부분들에 초점을 맞추고 있었다. 모르면 배워야 한다. 수없이 되새김질 하며 일주일에 두 개씩 paper들을 읽었다.
그 과정에서 IT에서의 온톨로지에 대한 관심이 생겨 공부를 하게 되고, 온톨로지와 코드 저장소 모델을 섞어 엉성하게나마 데이터 모델을 만들었다. 지난 학기의 프로젝트 주제가, 이번 학기가 되어서야 그 얼굴이 만들어졌다. (지난 학기의 주제를 이번 학기까지도 들고 왔기 때문에 이 프레임웍이 동시에 과목 프로젝트가 된다. 교수님이 '취미생활 프로젝트'라고 하시면서도 ok 사인 내 주신 것에 감사드린다.) 가능하면 텍스트큐브 1.6에 살짝 끼워넣은 후에 1.6 개발 과정과 병행해서 개선시키고, 이후 텍스트큐브 2.0의 개발을 이 데이터 프레임웍 위에서 바로 하는 것이 목표이다. 그러면서 원래 목표이던 분산 데이터베이스를 구현해 보아야겠다. 논문들도 써 보면 좋을 것이고.
겨울이 온다. 박사자격시험으로 화려하게 문을 열 겨울이고, 그걸 넘어 쏟아질 연구, 논문 작성, 텍스트큐브, WoC, 여행 등등 할 일의 리스트도 쌓여가는 중이다. 나름의 방법으로 겨울을 준비하고 있다. 많아 보이지만 끝에 가서 아쉬움은 남기지 않도록 해야 하겠다.
'무엇이 세상을 움직이는가' 보다 훨씬 어려운 질문은 '무엇이 사람을 움직이는가' 라는 생각을 하는 요즘이다. 아마 마지막 질문은 '무엇이 나를 움직이는가' 가 아닐까.