TmaxOS 발표회 단상

by Joongi Kim

2009년 Tmax Window라는 걸 발표하고 거하게 말아먹은 전력을 뒤로 하고, 오늘 또다시 Tmax OS가 발표되었다. 국산OS를 만들겠다, 다중 표준을 수용하는 OS를 만들겠다 등 모토는 좋으나 내가 보고 내린 결론은 프레젠테이션의 총체적 실패다.

논문을 쓰면서 가장 어려운 게 바로 introduction 섹션을 쓰는 것이다. 사실 일단 풀어야 할 문제가 정해지고(교수님과 주변 동료로부터 동의를 얻으면) 실제 그 문제를 풀어가는 과정은 상대적으로 쉽다. 하지만 논문은 내가 일을 어떤 순서로 어떻게 일했는지를 쓰는 게 아니라, 이게 왜 풀어야 하는 문제인가부터 맥락을 잡아주면서 들어가야 하기 때문에 (전산분야 기준) 많은 사람들이 코딩과 논문작성 사이의 괴리를 느끼며 힘들어한다. 그리고 논문을 발표를 위해 presentation을 준비할 때는, 디테일보다는 "take-home message" 에 집중해서 사람들이 결국 이 논문을 통해 기억하길 바라는 핵심적인 포인트가 무엇인지 잘 짚어주어야 한다. 그래서 똑같은 내용의 연구를 가지고도 논문과 프레젠테이션을 구성하는 방법은 매우 다르고 어떤 부분이 중요하게 부각되는지도 상당히 다르다.

TmaxOS 발표회는 그런 관점에서 처절하게 실패한 발표였다. 이게 OS 강의인지, 잠재적 고객인 정부부처 공무원들에게 '우리 이만큼 열심히 했어요~' 라고 자랑하는 것인지, 일반인들에게 '우리 이만큼 대단한 거 만들었어요. 우와! 해주세요~' 하고 구걸하는 것인지 도무지 그 목적이 뭔지를 알 수 없었다. 이건 마치, intro가 없는 논문을 읽는 것 갈기도 하고 어설픈 연구과제 제안 발표를 보는 것 같기도 했다. 어떤 사람들은 ppt 내용 잘 만들었다고 하는 경우도 있는데, '있어보이기 위한' 발표자료에 충실했을 뿐 정확한 핵심 메시지가 전혀 드러나지 않는, 만약 랩미팅에 들고갔다가는 폭풍 까임을 당할 것 같은 그런 퀄리티였다.

발표한 내용들 중에 실제로 어떤 부분을 오픈소스의 도움을 받았고 어떤 부분을 자체 개발했는지 이런 게 좀 모호하게 제시된 부분도 여전히 사람들의 불신을 샀다. 어차피 현대의 소프트웨어 개발은 오픈소스에 의존하지 않고는 거의 불가능할 지경의 상황인데, 오픈소스를 가져다 썼으면 명확하게 ack해주고 대신 어떤 부분들을 어떻게 개선했는지(당연히 있는 그대로 가져다 써서 바로 돌아가지는 않았을 테니까) 언급해주면 더욱 진정성있고 신뢰가 가는 발표가 되었을 것이다.

대학원 초년생들이 쉽게 하는 실수 중 하나가, 다른 연구를 인용하면서 마구 난도질하는 것이다. '이 연구는 무슨 기능이 빠져있고, 저 연구는 무슨 문제를 빼먹고 풀었다.' 이런 식으로. 그러면 교수님들이나 박사 고년차들은 이렇게 고쳐준다. '이 연구는 어떤 기능들은 구현했지만 내 연구는 그와 다른 기능을 구현했고, 저 연구는 어떤 문제를 풀었는데 내 연구는 그걸 더 확장한 다른 문제를 풀었다.' TmaxOS의 발표회 후 사람들이 모아서 공유하고 있는 명언 리스트를 보면 바로 이런 종류의 대학원 초년생 실수들의 모음집 같다. 더군다나 이게 단순히 몰라서 하는 실수가 아니라 의도적으로 깎아내린다는 냄새까지 솔솔 풍기니...

Tmax에 아는 선후배들도 많이 가서 일하며 나름 힘들게 노력해서 개발하고 있다는 사실을 알기에, 그 사람들의 노력과 고생을 생각해서라도 프레젠테이션을 잘 했으면 하는 아쉬움이 크다. TmaxOS의 현재 개발상황과 품질이 정확히 똑같더라도 훨씬 나은 방법으로 프레젠테이션할 수 있었을 텐데. 내가 박대연 회장이었으면 절대 이렇게 안 했을 것 같은데- 하는 아쉬움.

만약 내가 이 발표회의 내용을 기획하고 조정할 수 있는 사람이었다면, 일단 키노트에서는 TmaxOS가 기존 OS의 어떤 부분을 수용하고 어떤 부분을 차별화하는지에 대한 핵심적인 메시지(왜 다중 표준 지원이 중요한가, 개인용도와 기업·기관용도 관점에서 보안 레이어의 차별점)를 전달하고 일반인들의 '우와!'를 이끌어낼 수 있는 key feature 시연에 집중했을 것이다. 예를 들면 사람들이 많이 하는 대중적인 게임(예: LOL)이 잘 돌아가는 걸 보여준다거나, MS조차 자사 맥용 제품에서 지원하지 못하는 파워포인트의 글꼴 임베딩 기능이라든가, ActiveX를 설치하고 공인인증서를 발급받는 과정이라든가. 그리고 실제 기술적인 내용에 대해서는 별도 세션으로 구성했을 것이다. 자체개발했다는 GUI 프레임워크는 어떤 구조이고 성능이 어떠한지, 다중 호환성 레이어를 결합하는 것에 의한 성능 오버헤드는 어떠한지, 티베로(DBMS)를 결합한 configuration manager API는 어떻게 생겼고 이것이 기존의 윈도 Registry나 WinFS에 비해 어떤 장점이 있는지, 윈도 바이너리를 그대로 실행하기 위한 PE loader를 BSD 커널과 TOP와 결합하기 위해 어떤 과정을 거쳤는지 등등. 이런 내용들을 좀더 자세히 공개한다고 해서 이게 누군가 단시간에 베껴서 만드는 것 자체가 매우 어려운 것들이다. 그렇게 어려운 일을 했으니 좀더 자신감을 가지고 보여준다면 그 안에서 일하는 개발자들의 사기도 올라가고 사람들도 이게 사기치는 게 아니라 정말 뭔가 만든 거구나 하고 믿어줄 테고. 당연히 개발 중인 제품이기 때문에 성능이 좀 떨어질 수도 있겠지만, 그게 어떤 지점에서 쓸만한 수준이 되는지 혹은 앞으로 어디까지 개선할 여지가 있는지 이런 것도 projection해서 보여주고.

한 기업에서 이만큼 리소스를 투입해서 이 정도 규모의 개발 프로젝트를 하는 것 자체가 쉬운 일이 아닌데, 들인 노력과 리소스에 비해 포장하는 방법이 너무 구려서 그저 안타까울 따름이다. 실제 제품이라도 쓸만하게 잘 나왔으면 좋겠는데 과연 어떨런지.