Textcube를 떠나며...
이 블로그를 2007년부터 시작했으니 어느새 20년에 가까워졌다. 그동안 Textcube로 운영해 왔는데 이번에 블로그를 Textcube에서 정적 사이트로 마이그레이션했다.
처음에는 테터툴즈로 설치만 했다가 이후에 텍스트큐브로 바꿨던 걸로 기억한다. 언제 바꾸었는지까진 기억나지 않지만 내 개발 커리어에서 가장 잘한 결정은 개발 블로그를 시작한 것이다. Textcube와 거의 20년 가까이 지내다 보니 정이 많이 든 프로젝트가 되었다. 그래서 막상 떠나고 나니 아쉬움이 많이 남아서 추억을 남겨놓을 겸 Textcube의 히스토리를 정리해 본다. RetroTech 팟캐스트을 운영하면서 생긴 습관 같은데 언젠가 RetroTech에서도 이런 국내 프로젝트들도 다뤄보고 싶다.
Tattertools와 Textcube
2004년 3월 1일에 정재훈 님이 3달 동안 PHP로 만든 설치형 블로그 "테터툴즈"를 공개한다. 당시 버전은 0.9 버전이었다.

태터 툴즈는 '뜨개질을 하는 사람의 도구'란 뜻입니다. 글이라는 실과 키워드라는 바늘로 옷을 짜듯이 지식을 담는 스크립트를 만들고자 그렇게 이름을 짓게 되었습니다.

나는 그 흐름의 한복판에 있진 않았지만, 당시 블로그 도구들이 별로였는지 정재훈 님의 다음 글을 보면 배포 후 24시간 만에 큰 호응을 얻은 듯하다. 게시판 시대의 한국 웹에 제로보드가 있었다면 블로그 시대에는 테터툴즈가 있었다. 큰 맥락은 알고 있었지만, 세부 내용은 이번에 자료를 찾으며 알게 됐다.
테터툴즈는 엄청난 인기로 사용자층이 생기고 관련 글들을 찾아보면 사용자들이 자발적으로 테터툴즈를 홍보하고, 팁을 공유하고, 사이트를 만들며 커뮤니티를 키워가던 자유스러운 분위기였던 듯하다. 그런 분위기에서 1.0을 준비하던 2005년 테터툴즈의 개발과 배포를 지원하고 수익을 내기 위해 정재훈 님과 합의로 노정석 님이 TNC(Tatter and Company)를 설립한다. 개인이 가지고 있는 블로그를 연결해 주는 블로고스피어나 메타블로그가 인기 있었는데 테터툴즈 사용자를 연결해 주는 이올린도 TNC가 운영했다.
그리고 2006년 1.0이 GPL 라이선스를 선택하고 이후 개발이 부진해지자, 이에 항의하면서 커뮤니티 서버 권한을 받아 2006년 4월부터 포럼 형태로 테터툴즈 사용자들이 모이면서 TNF(Tatter and Friends)가 만들어지게 된다. 이후 똑같은 약자를 사용하는 Tatter Network Foundation에 대해 논의하면서 재단이 TNF의 공식 명칭이 된다.
2006년 TNC는 Daum과 협업해서 Tattertools를 서비스형으로 만들어서 Tistory를 공개하면서 직접 설치하기 어려운 사람들도 블로그를 운영할 수 있게 됐다. 처음에는 TNC와 Daum이 공동 운영을 했지만 이후 지분을 모두 넘기고 Daum이 Tistory를 전적으로 운영하게 된다.
오픈소스화된 테터툴즈는 2007년에는 inureyes님을 중심으로 TNF의 구체적인 실행 조직으로 Needleworks가 만들어져서 공식적으로 활동하기 시작했다. 이후 Tattertools는 Textcube로 이름을 바꾸었고, Needleworks와 TNF가 개발을 이어받고 Textcube 1.5가 정식으로 발표된다. 이후 마케팅을 주력으로 한 테터앤미디어(TNM)도 등장한다. 자세한 히스토리는 니들웍스 홈페이지에서 볼 수 있다.
이렇게 2000년대 중반부터 2010년대까지 국내의 웹서비스를 관통하는 중심에 테터툴즈가 있었다고 해도 과언은 아니라고 생각한다. 당시 나에게는 TNF, Niddleworks, TNC, TNM이 모두 로망 중 하나인 조직이었고(또 하나의 조직은 오픈마루 스튜디오였다.) 지금 돌아보면 더 대단하게 느껴지는 국내 오픈소스의 성공 사례다.(너무 조용히 일상처럼 지나가지 않았나 싶을 정도로...)
2008년에는 Blogger라는 플랫폼을 가지고 있던 Google이 TNC를 인수한다. 나의 로망과도 같은 생태계였기에 나도 이 당시에 TNC 인수에 대한 글도 썼다.
Textcube로 운영한 19년
Textcube는 나에게 블로그란 세상을 알려준 도구였다. 개발을 배우고 웹을 깊게 알게 되면서 블로그를 점점 더 좋아하게 되었고, 당시에 블로그를 중심으로 설계된 많은 기술은 여전히 좋은 접근 방법이라고 생각하는 편이다.
소셜 네트워크가 인기를 얻으면서 블로그의 인기가 줄어들었지만, 문서가 웹의 근본이라고 생각하는 나는 여전히 블로그가 좋다. 왜 인기 없는지 모를 정도의 RSS이지만 지금까지도 나는 RSS 리더로 수많은 글을 읽고 있으며 다시 RSS의 시대가 와야 한다고 생각하는 편이다. 소셜 네트워크의 소모적인 논쟁보다는 블로그에 글을 적어서 트랙백으로 서로의 글을 연결하는 방식은 훨씬 생산적인 방식이었다고 생각한다.(물론 시간이 지나면서 내 트랙백도 스팸으로 가득 차긴 했다. ㅠ)
그 시절 웹은 인터넷을 통해서 서로 연결하고 쉽게 찾을 수 있는 포맷을 많이 시도했는데 시맨틱웹을 포함해서 Microformats이나 Movable Type, XFN(XHTML Friends Network), OpenID같은 것도 Textcube의 개발자들이 워낙 뛰어나서 여기서 배운 것들이다.(여기서도 마찬가지로 오픈마루 스튜디오에도 이러한 신기술들을 자주 보여줬다.)
기본적으로 만족스러운 블로그 플랫폼이지만 2011년 이후 릴리스가 한참 없었고 소프트웨어도 시간이 지나면 녹슬기 마련이고, 내 요구사항도 달라지고 있었다. 나도 웹 개발을 하고 있었기 때문에 직접 고쳐서 쓰기 시작했다.
Textcube는 원래 WYSIWYG 에디터를 지원했는데 내가 Markdown에 익숙해지면서 WYSIWYG을 제거하고 다른 마크다운 플러그인을 나한테 맞게 수정해서 사용하기 시작하고 스킨을 작성하고 몇 가지 버그를 수정하면서 사용하게 됐다.
그러다가 마지막 릴리스 후 3년 만인 2014년에 1.9버전이 릴리스되고 곧이어 1.10.0까지 나와서 Textcube를 사용하는 나로서는 너무 반가웠다.
개발자분들이 돌아오셨을 때 PHP를 할 줄 몰라서 내가 해결하지 못하는 버그나 RSS 피드의 max 제한 문제 등은 이슈를 올리면 메인테이너분들이 정말 잘 대응해 주셨다. 물론 이때는 온라인으로만 뵈는 분들이었지만 지금은 종종 인사드릴 수 있는 사이가 되었다.
당시 2.0이 준비 중이었기 때문에 기대했지만 메인테이너분들이 바빠지신 관계로 2.0은 아직도 나오지 않았다.
그 상태로 스킨을 조금씩 수정하고 하면서 지금까지 사용하고 있다. 물론 지금까지 큰 문제 없이 운영하고 있다는 면에서도 잘 만들어진 프로젝트라고 할 수 있지만 완전 괜찮은 것도 아니었다.
가장 큰 건 아무래도 웹 기술이 발전하고 있다는 것이다. 이유는 모르지만 댓글 시스템은 멈춰버렸고 방문자 통계도 신뢰하기 어려워졌다. 또한 당시에는 멀티 파일 업로드를 Flash에 의존하고 있었지만, Flash는 이제 웹에서 사라진 기술이 되었고, Flash가 완전히 사라질 때 "이젠 파일 업로드 어떻게 하지?"하면서 고민했지만, 웹 표준 기술로 fallback이 잘 구성되어 있었다. 그래서 멀티 파일 업로드는 안 되지만 하나씩 여러 번 올리면 되기 때문에 괜찮았다. 귀찮다면 귀찮지만 난 그래도 이런 fallback까지 구성한 개발자들에게 감사함을 느꼈다.
이유는 모르겠지만 어드민 사이트도 로그인은 되지만 로그인 유지가 안 되어 수 분 내에 풀리기 시작했고, 글을 어드민에서 직접 작성하지 않고 Sublime Text에서 작성하고 복사만 해서 발행하기 때문에 이마저도 크게 문제는 안 되었다. 열심히 보면 해결할 수도 있지만 그냥 조금씩 고장 나는 상태에서 계속 버티면서 20년 가까이 쓰게 됐다.
이제는 도커라이즈도 하고 MySQL 백업 스크립트도 잘 작성해 두고 ansible 세팅도 해놔서 필요하면 로컬에서 테스트용 블로그를 띄워서 테스트도 할 수 있고 배포 인프라도 필요할 때 이사 가면서 운영할 수 있게 되었다. 여전히 요구사항은 많이 있지만 익숙해진 채로 계속 사용 중이었다.
남들이 보기에는 Textcube가 뭐야? 하면서 낡은 플랫폼이라고 생각할 수 있었지만, 나에겐 너무 소중한 플랫폼이었다.
내 Textcube의 기록
내 개발 커리어 전체를 함께한 막상 떠나려니 아쉬움이 더 이상 볼 수 없을 거 같아 스크린샷을 남겨둔다.







이번 글을 쓰면서 Tattertools 자료를 조사하면서 가끔 트위터에서도 인사도 드리던 Lunamoth님이 블로그에 2000년대 초반부터 세세한 기록을 많이 남겨두셔서 큰 도움을 받았다.
Comments