'태터툴즈'에 해당되는 글 13건
- 2007/08/24 XHTML과 웹표준과 텍스트큐브와 사람들 8
- 2007/07/09 태터툴즈.. 아직도 어려워요. 2
- 2007/07/05 오픈소스 참여의 길 1
- 2007/06/27 태터툴즈 흑역사 (1) 11
- 2007/06/07 혼란 / 태터툴즈 프로젝트를 회고하며 6
- 2007/05/31 호환성 유지하기 2
- 2007/05/17 플러그인 생각 4
- 2007/03/15 하나의 매듭 : 태터툴즈 1.1.2 5
- 2007/02/28 태터툴즈 3주년 3
- 2007/02/27 TNF 블로그 개편 / 항해 5
XHTML과 웹표준과 텍스트큐브와 사람들
따뜻한 이야기 2007/08/24 13:18
일주일 전은 묘한 의미가 있는 밤이기도 했습니다. 워낙 많은 일이 그 날 있었기 때문에 참 설명하기 어렵습니다만, 머릿 속에서는 이어지지 않을 것 같은 고리들이 하나로 이어지는 날이었습니다.

관리자 화면의 XHTML 1.1을 모두 맞춘 날입니다. 저 마크엔 다른 의미들이 많이 있습니다.
16일 새벽은 "멀리 돌아갈 수 있는 길은 다 돌아가보았던" 작년 그 태터 1.1 멤버들이 끝까지 살아남아 밤을 새워가며 달린 날이었습니다. 그 중 겐도님이 '시맨틱은 어쨌든간에 관리자 화면도 XHTML 규격은 드디어 맞춘 것 같다' 고 말을 꺼내신 날이기도 했었지요. 작년 4월, 한 중국집에서 처음 모였던 TNF의 분들 중 웹과는 거리가 있어 보이시던 그라피티에님이 '태터툴즈 관리자 화면을 XHTML 1.1로 다시 짜 보고 있는데요' 하고 말을 꺼낸지 16개월이 되는 날입니다.
개인적으로 굉장한 의미를 두고 있습니다. "PHP가 다 뭐냐 CGI는 무조건 C" 로 웹 프로그래밍을 대했었고 태터툴즈는 사용자 입장에서 가끔 깨작거리던 저에게, 태터툴즈 0.94 RC 시절 "PHP라는 것도 본격적으로 소스 한 번 들여다 봐야겠다"고 마음을 굳히게 만든 계기가 XHTML 1.0 transitional 을 맞춰보려고 했을 때 였으니까요. 그게 벌써 2004년 연말이었는데, 어느새 시간은 2007년 말을 향해 달려가고 있습니다.
재미있는 점입니다. 저나, 파란만장한 그라피티에님이나, 돌아보면 코드는 목적이 아니라 수단입니다. 그것도 남이 보면 "쟤네 미쳤나?" 스러운 목적을 위한 수단입니다. 처음에 XHTML 1.0 transitional을 맞춘 이유가, 그 때의 글을 보면 적혀있는 '모든 사람이 신체적 부자유와 도구의 제약에 관계없이 자유롭게 웹을 사용하는 그날을 위해서' 였습니다. 그라피티에님도 그 부분에 대해서는 거의 강박적이십니다. 니들웍스에서 첫 장비 신청이 시각장애 보조 프로그램인 '센스 리더' 셨죠. 그렇게 시작한 사람들이라, 8월 16일은 텍스트큐브 1.5가 발표된 날이면서 다른 큰 의미가 있었더랬습니다.
얼마전 제 라이프로그에 기록해 놓았던 말이 있습니다. "언제나 하나의 끝은 다른 것의 시작이고, 다른 말로 하면 다른 것을 하기 위해선 하나를 끝내야 한다." 모든 것이 있게 해 준 웹표준 준수에 한 방점을 찍었다면, 그 다음은 이제 시맨틱이겠습니다. 축배와 함께 묵념을. :)
태터툴즈.. 아직도 어려워요.
머리아픈 이야기 2007/07/09 00:21태터툴즈를 처음 알게된건 작년(2006년) 1월이었습니다.
그러고보니 벌써 1년 반동안 태터툴즈를 써오고 있었네요.
이제 곧 텍스트큐브라는 이름으로 다가오게 되겠지요.
태터툴즈에서 텍스트큐브로 넘어과는 과정에서의 글이라 어떠한 영향을 미치게 될지는 잘 모르겠습니다.
니들웍스의 일원이지만, 그 보다 태터툴즈를 사용하는 한 유저로 적어봅니다.
'나를 세상에 표현하는 가장 간단하고 예쁜방법'
간단한 것인가 쉬운 것인가.
이는 분명히 다릅니다.
작년 여름쯤부턴가 SVN[footnote]오픈소스 코드 관리 툴[/footnote]을 알게 되어 태터툴즈 개발자 버전이나, 베타, 알파 버전이 나올때마다 업데이트하여 사용하고 있습니다.
때론 그 결과로 블로그에 댓글이 달리지 않는다던가, 특정 기능이 작동하지 않는건 흔한일이고, 망가져 열리지 않아 애를 태운적도 여러번 있었습니다.
어쩌면 그렇게 에러나면 또 복구해보고 하는데 재미를 붙이는것일지도 모르겠습니다.
근데 요즘같이 무더운날에는 은근히 짜증이 나기도 합니다.
잘 되면 좋을련만, 아주 좋은 기능임에는 확실하나..
초보자분과 여러유저의 편의성과 다양성을 위해 존재하는 기능들이 간혹 뒷통수를 때릴 때가 있습니다.
태터툴즈 Q/A게시판에, '이전의 블로그에서 데이터를 백업해와서 이전을 하려고 하는데 복구가 안된다'는 글을 종종 보게 됩니다.
그 글 내용은 핵심은 '몇번째 줄이 올바르지 않습니다'가 대부분일 듯 싶습니다.
백업해온 블로그는 이미 없어지고 달랑 백업/복구 기능만을 찰떡같이 믿고 있던 유저에게 위와 같은 메시지는 청천벽력일수 밖에 없습니다. 저도 몇번 당해보니 눈앞이 캄캄해지더라구요.(사실 오늘도 저는 이 메시지를 봐야만 했습니다. ㅠㅜ)
여기저기서 들은 건 있어가지고 </comment>가 정상적으로 막아지지 않아 발생한다 라든지 막막한 내용만 알고 있는 저를 포함해 아무것도 모르는 유저는 에디터로 백업된 xml파일을 열어보지만, 오래된 블로그 일수록 그 xml파일의 크기와 라인수는 엄청나기 때문에, 오랫동안 작성한 포스트를 손도 못써보고 날려야한는 결과를 초래하기도 합니다.
텍스트큐브의 슬로건 중,
'TTXML' 포멧을 통해 이용자가 블로그에 올린 모든 데이터들을 클릭 한번으로 PC에 백업할 수 있고, 이를 다시 문서파일이나 인터넷 게시판, 혹은 다른 블로그 서비스에 쉽게 옮길 수 있다
가 있습니다.
물론 이전에 태터툴즈초기부터 있던 기능이긴하나 정말로 아무런 문제를 범하지 않고 정상작동 할수 있도록 하는 부분에서도 많은 노력을 필요하지않나 싶습니다.

오픈소스 참여의 길
즐거운 이야기 2007/07/05 02:05제가 텍스트큐브의 커미터가 되기까지 있었던 일을 적어 보는 것이 오픈소스 프로젝트에 어떻게 참여 할 수 있는지에 대한 하나의 예가 될 수 있을 것 같아서 적어봅니다.
먼저, 저는 제 블로그를 만들기 위해 태터툴즈 0.9x 버전을 사용하고 있었던 블로거였습니다. 2005년 당시 수정 블로그와 태터툴즈가 거의 비슷한 선택상황에 있었지만, 왠지.. 아무 이유없이 태터툴즈를 선택했고, 남들 다 하는(?) 블로그를 열었습니다.
그러다가 1.0이 나온다더군요. 아무 생각없이 1.0을 설치했고, 스킨이나 플러그인들을 조금씩 내려 받아 설치 해봤습니다. 거 재밌더군요.
아무 생각없이 또한 블로그 API라는 것을 알게 되었습니다. RSS가 외부에서 읽기 전용이라면, 블로그 API는 외부에서 쓰기까지 가능한 것이었고, 전 이것이 태터툴즈에는 아직 구현되지 않았으나, 로드맵을 보니 곧나올 1.1인가 1.2인가에 들어 있는 것을 확인하였습니다. 6월인가에 나온다더군요. 그러다가 요거 함 개발해보자하고, 플러그인만 손대면 될 것 같아서 남들 소스를 분석하면서 BlogAPI를 플러그인으로 개발하였습니다.
당시 블로그 API를 위해서 XMLRPC를 처음 봤고, 굥장히 흥미로워서 Blogger API, MetaWeblog API, 최근에 MovableType API까지 조금씩 채워넣기 시작했습니다. 이렇게 릴리즈한 것들이 태터툴즈 기본 기능으로 넣으면 어떻게냐는 제안이 와서 흔*쾌*히 그러죠라고 했습니다. 소스의 sandbox에 커밋권한이 주어졌고, 다른것은 어떻게 돌아가는지 전혀 모르지만, 플러그인과 컴포넌트들을 알게 되었습니다.
그러다가 OpenID가 나올때도 비슷했고, 니들웍스가 만들어질때도 그러했습니다. 흥미를 느끼고 플러그인으로 시작한 것이 태터툴즈 전반을 알게 되는 일들로 이어져갔습니다.
누구나 오픈 소스를 시작할 때, 평소에 자주 사용하는 툴을 자기 입맛에 맞게 고치다가 덜컥하게 됩니다. 거창하게 오픈소스에 기여할 뭔가를 찾으면서 시작하는 사람은 없고, 모두 재미로 고치다가 적절한 권한이 주어지게 됩니다.
오픈소스 태터툴즈(텍스트큐브)가 주는 매력은 PHP를 알면 쉽게 플러그인을 만들 수 있고, PHP를 알지 못해도 스킨을 만들 수 있도록 진입장벽을 아주 낮췄다는 것에 있는 것 같습니다. 참여가 쉬워지면, 재미는 두 배가 됩니다. 자신이 재밌게 되면 많은 사람들이 재밌게 됩니다.
쉽게 접근해서 발 뺄 수 없게 만드는, 어딘선가 어떤 방식으로든 이 툴들로 인해 중독되는 사람들을 보면, 태터툴즈는 "향정신성 오픈소스 프로젝트"입니다.
태터툴즈 흑역사 (1)
머리아픈 이야기 2007/06/27 22:21텍스트큐브 1.5가 이제 베타 페이즈가 눈앞입니다. 그 전에 태터툴즈에 관련된 여러 이야기는 하고 넘어가야 될 것 같다는 혼자만의 걱정? 으로 태터툴즈의 비사秘史를 적어볼까 합니다. 절대 지난 글에서 '너무 솔직했다' 고 면박을 많이 당했기 때문에 적는 것은 아닙니다.
여러분들이 보고 사용하는 태터툴즈의 경우 순백?의 태터툴즈이지만, 그 개발 이면에는 태터툴즈를 구성하는 수많은 프로젝트들을 둘러싼 짤림과 연기와 논쟁의 흑역사가 있었습니다. 기전체로 적느냐 편년체로 적느냐하는 쓸데없는 고민은 잠시 접어두고 타자 가는대로 한 번 적어 봅시다.
하나. project lint.
비운의 프로젝트이면서 네번째 구현이 얼마전에 토의되는, 눈물없이는 들을 수 없는 스토리를 가진 프로젝트입니다. 프로젝트의 역사가 TNF의 역사와 거의 궤를 같이하고 있습니다. 작년 중순, 태터툴즈의 다중 사용자 모드에서 전체 글들을 볼 수 있는 '센터'를 추가하기 위한 프로젝트로 시작한 lint는, 담당하겠다고 하신 분이 배를 땅에 묻어 버리는 바람에 6개월간 소강 상태에 있었습니다. 태터툴즈 1.1의 변화가 너무 많았고, 동시에 잘라 나가는 부분도 워낙 많아서 다른 참여자들이 lint를 돌아볼 여력이 없었지요.
결국 lint는 WOC[footnote]Winter Of Code의 약자입니다.[/footnote]의 프로젝트로 제안이 되었고, 지원하신 분들 중 한 분이신 corgan님이 구현을 맡아 만드셨습니다. 문제는 이후에 있는데, corgan님이 구현해 오는 여러 방법들이 전부 마음에 들지 않았던 것이었습니다. 독립 프로그램 형식으로 제작되었던 첫번째 구현과, 라이브러리를 공유하는 방식으로 만들어지고 기존의 스킨 시스템을 사용할 수 있도록 만들어진 두번째 구현이 전부 '죄송합니다' 가 되었지요. 이후 다양한 확장성을 위하여 센터 플러그인의 스키마를 그대로 가지고 가기로 하고 만들어진 세번째 구현도, 스킨 호환성에 영향을 준다는 치명적인 문제가 있어 그대로 좌초 되었습니다.
이후 지금의 형태까지 왔습니다. j.parker님과 의논하길, 좀 폭이 넓은 사이드바...형태로 가면 어떻겠느냐 - 그 경우 2단 처리를 어떻게 할 수 있겠느냐 - 등등의 의견이 오가서, 아직 결론을 못 짓고 있는 부분이지요. 머릿속에 형태가 잡히지가 않는 그런 단계입니다.
둘. project drizzid
이건 일단 묵념.
셋. project patchworks
이름의 역사가 좀 있습니다. 원래 호환성을 최대로 하는 설치형 위젯 시스템으로 계획된 patchworks는 quilt로 이름이 바뀌고, 이후 전체 프로그램을 모듈화하는 프로젝트의 이름으로 patchworks가 재사용 되었습니다. WOC와 동시에 시작된 TOP의 시범 케이스로, lifthrasiir님께서 우선 에디터와 포매터를 밖으로 떼어 냈지요.
새로운 포매터와 함께 (대전 태터캠프에 오신 분들께서는 실컷 졸면서 들은 그 프리젠테이션의 내용입니다) 도입될 예정이던 patchworks는 예상외의 부분에 직면해 있습니다. 다양한 포매터를 지원할 경우, ttxml형태의 백업을 어떻게 만들어 낼 수 있겠는가 하는 부분입니다. 전부 HTML로 포매팅을 할 경우, 이후 불러와서는 갤러리등의 경우 편집을 할 수 없게 됩니다. 하지만 포매터의 문법을 그대로 내보낼 경우, 다른 '프로젝트 태터툴즈' 프로그램들에서의 호환성이 보장되지가 않지요. 몇가지 고려를 해 보고 있는 중입니다. (lifthrasiir님 어디가셨나; )
넷. project guild
작년 중순부터 차기 목표로 계획되었지만 역시 짤린 케이스. 이올린을 이용하여 여러개의 블로그를 주제로 묶은 블로그를 만들 수 있게 하자는 프로젝트였습니다. 작년 이맘때 굉장히 토론이 많이 되었었던 부분이었지요. 결정적인 약점 때문에 그 길었던 논의에 비하면 잘리는 건 빨랐습니다.
이상적으로 보이지만 수요가 없습니다. 언뜻 생각하기에는 블로그들을 묶어 블로그로 보여 주는 것으로는 블로그를 커뮤니티적인 성격으로 승화시킬 수 있는 것 처럼 보였습니다. 그렇지만 막상 구현 단계를 고려해보니 단순히 묶는 것 만으로는 아무런 새로움이 없었습니다. 친구들간의 커뮤니티를 묶어서 보여준다거나, 주제에 따른 커뮤니티를 구축할 수 있는 가능성이 있었지만, 결정적으로 이올린 등의 서비스 의존성이 있으면 참여 동인이 줄어듭니다. '지속성'의 문제가 생기고, SNS로서는 매력을 빨리 상실하게 되지요. 서비스형 게시판이 순식간에 퇴색된 이유이기도 합니다.
그래서 drizzid가 시작되었지만, 산으로 가다가 지금은 텍스트큐브 1.5에 밀렸습니다. 굳이 필요하면 라지엘님이 만드신 설치형 블로그 센터인 Wing을 쓰면 되니 이후 Wing의 라이트버전을 텍스트큐브에 통합하는 쪽으로 나갈지도 모르겠네요. 또는 Wing의 구현을 일부 원용해서 drizzid를 구현하게 되겠지요.
목록 여덟개 중 나머지는 (2)로 아껴두고 일단 여기서 마무리 합니다. :)
혼란 / 태터툴즈 프로젝트를 회고하며
머리아픈 이야기 2007/06/07 00:34지나가는 이야기.
어떤 일이든 시간이 지나면 역사가 생긴다. 태터툴즈도 돌아보면 3년이 넘은 프로그램이고 프로젝트이다. (위키백과에 정리되어 있는지 모르겠지만) 정재훈님이 시작한 프로그램이 '태터앤 컴퍼니'라는 회사를 탄생시키고, 이후에 다시 GPL로 공개되면서 '태터앤 프렌즈'라는 사용자 커뮤니티가 개발에 참여하게 되고, 얼마 지나지 않아 데이터 형태의 개인 창조물이 창조자가 아닌 기업에 일방적으로 종속되는 것을 반대하는 '태터 네트워크 재단'이라는 개념이 이야기 되며 개발의 대부분을 담당하게 되고, '태터 네트워크 재단'의 주장을 펼치기 위한 구심점이 약한 점을 개선하고자 니들웍스가 구성될 때 까지 거의 쉬지 않고 달리고 있는 중이다.
태터툴즈가 한 단계에서 다음 단계로 넘어가는 과정을 들여다보면 재미있는 현상들을 발견할 수 있다. 그 중 한가지는 단지 3년간의 변화가 '오픈소스 소프트웨어 업계'의 기나긴 역사를 굉장히 압축해서 보여주고 있는 점이다. 개인의 "필요"가 소프트웨어가 되고, 그러한 "필요성"을 공유하는 사람들이 많아지고, 사용자가 늘어나게 되면 회사가 생기게 된다. 이후 사용자 참여와 우군을 확보하기 위하여 GPL을 선택하게 되고, 자발적으로 사용자 중 개발에 참여하는 사람들이 생기게 된다. 이후 기업은 엔터프라이즈 사업, 서비스 사업 또는 기존의 기술에 기반한 새로운 사업에 진출하며, 오픈 소스 프로젝트는 커뮤니티에 맡겨지고 기업과 공생관계를 맺게 된다.
저 과정의 중간 단계에서 사라지거나 지지부진해지는 오픈소스 프로젝트들이 많다. 필요성을 공유하는 사람들이 많지만 개발을 전담하는 기업 또는 조직이 생기지 않을 경우, 사용자의 필요성을 계획성있게 적당한 시기에 반영하지 못하게 된다. GPL을 선택하지 않고 소스 단계에서 공개될 수 밖에 없는 스크립트 언어 기반의 프로그램을 공개할 경우 사용자 참여 대신 소스를 다른 기업등에 넘겨주기만 하는 자선단체가 된다. 프로그램이 공개된다는 특징 때문에 적당한 시기에 이를 기반으로 할 새로운 사업을 찾지 못할 경우 기업의 존폐가 영향을 받게 된다. 오픈 소스 진행 주체가 명확해지지 않으면 새로운 사업에 집중하는 기업의 리소스 부족과, 사용자가 늘어날수록 그에 비례하여 늘어나는 요구사항을 컨트롤하기가 힘들어지게 되고, 적어지는 사용자 참여로 인하여 프로젝트가 죽게 된다.
그 과정을 태터툴즈는 훌륭하게 넘어왔고, TNF/니들웍스, TNC는 그 다음을 향해 달려가고 있다.
초창기부터 태터툴즈를 사용해왔고, GPL과정을 흥미롭게 바라보고 처음 불만을 터뜨렸었고, 지금은 태터툴즈/텍스트큐브가 삶의 한 부분이 된 사람으로서 지난 3년 (그리고 그 중 15개월) 은 여러 의미가 있다. 태터툴즈의 개발 과정과 주체, 변화가 저렇게 속도감을 가지고 달려온 저변을 생각해본다.
'타산지석'이라는 말이 있다. 많은 오픈 소스 프로젝트들의 명멸이 태터툴즈의 방향을 정해 나가는 것에 도움이 되었다. 많은 프로젝트들이 있지만 로드맵을 세워 나가며 많이 고려했던 프로젝트는 '페도라', '모질라' 와 '베릴' 프로젝트였다. 그 셋은 각기 다른 굉장한 개성을 가지고 있다. 구태여 설명하는 것이 사족일 정도이다.
수많은 프로젝트들이 도움이 되지만 특히 그 세 프로젝트들의 생성과 진행, 역사는 '거대한 목표를 가진 프로젝트' 가 어떠한 시점에 어떠한 결단이 필요한지에 대한 통찰의 재료가 된다. 프로젝트들의 실패나 느려짐이 어떠한 상황에서 발생했었는지, 어떨 때 프로젝트가 '바람직한 방향'으로 흘렀는지에 대한 예는 찾아보면 끝이 없다. (역시 이야기하는 것이 사족이 될 것이다.) 적당한 타이밍에 다음 단계로 나가야 한다고 생각했고 태터툴즈를 '도구를 넘어선 어떤 것'으로 사랑하는 분들과 함께 계속 앞으로 나아가고 있다.
이제 얼마 후면 공식적으로 태터툴즈는 텍스트큐브의 모태가 되며 텍스트큐브 1.5가 태터툴즈를 대체하게 될 것이다. 그 결단을 내리기 위해서 고려해야 했던 수많은 시나리오와 가능성이 있다. 수많은 이름 상의 혼란, 기존에 만들어진 브랜드의 포기, 개발 주체들의 관계에 대한 수많은 억측의 가능성등, 어떤 시나리오도 부작용이 없는 경우가 없었다. 하지만 수많은 다른 프로젝트의 예들에서 얻은 결론이 그래야 할 순간이라고 말하고 있기 때문에 그렇게 결정했다.
텍스트큐브로 이름을 바꾸는 것은 단순히 이름의 변경을 의미하는 것은 아니다. 혼란을 충분히 감내해야 할 이유가 뒤에 자리잡고 있다. 간단하게는 외국인들에게 '태터툴즈'가 가지는 영어 어감이 좋지 않음에 대한 지적이 여러번 있어왔다거나 하는 실질적인 이유가 있다. 그렇지만 네이밍의 변경이 의도하는 것은 개발 주체와 상표의 재정의, 그리고 그로 인한 의미가 정확히 전달되는 것이다.
태터툴즈는 TNC의 상표이다. 로고는 상표권이 있고, 엄밀하게 로고와 트레이드 마크는 GPL은 아니다. 설사 TNC가 해당 상표를 자유롭게 사용하도록 하더라도 전체 소스 코드의 얼굴이 되는 상표는 소속이 있는 상태이다. 텍스트큐브로 전환하며 그 부분에 대한 메세지를 내부에 담으려고 하고 있다.
텍스트큐브 로고는 GFDL로 배포될 것이다. (국내 상표의 경우 자유로운 상표 사용을 위하여 TNC를 통해 등록 할 수 밖에 없었다. 이 나라는 개인이 '리눅스'를 상표등록해서 소송 걸기도 하는 나라 아닌가.) 공개되는 소스는 이제 상표까지 온전히 GPL을 따르게 될 것이다. 지금까지 데비안 패키징을 시도해보지 못했던 이유[footnote]GPL 하에서 데비안 패키징을 하기 위해서는 GPL의 결격 사항이 없어야 한다.[/footnote]가 사라지게 될 것이다.
그 과정을 통해서, 그 다음 단계로 나아가기 위한 시작을 밟아 나가려고 한다. 당장은 복잡해 보이는 과정이겠지만 실은 더 간단해 지기 위한 시작이며, 태터툴즈-이젠 텍스트큐브-라는 프로그램을 사용하는 것만이 아니라 프로그램에 대한 소유감과 함께 애정과 책임을 느끼는 사람들이 많아지는 세상을 꿈꾸고 있다.
지나가는 이야기라 하고서 너무 오래 머물렀다. 이제 그만 저장하고 안녕~
호환성 유지하기
머리아픈 이야기 2007/05/31 13:54좀 규모가 되는 프로그램들을 짜보신 분들은 알겠지만 하위 호환성을 잘 지원한다는 건 정말 어려운 일입니다. 이 일은 프로그램 자체 기능들의 하위 호환성을 유지하는 것과, 프로그램이 돌아가는 환경과 프로그램의 하위 호환성을 유지하는 것으로 나눠볼 수 있는데, 전자는 사실 그렇게 어려운 건 아닙니다. (물론 그 프로그램이 Windows 정도 되는 OS라면 또 얘기가 달라집니다만..)
문제는 후자의 경우입니다. 사실 태터툴즈가 굉장히 많은 버그를 떠안게 된 것도 그런 연유이죠. 사실 이 문제는 모든 '배포형 웹프로그램'에서 나타나는 현상입니다. 서버 환경 자체가 워낙 다양하기 때문에, 또 같은 환경(같은 php 버전, 같은 mysql 버전, ...)이더라도 설정을 어떻게 했느냐에 따라 동작이 달라지기도 하죠. (특히 php의 경우 그것이 두드러집니다)
PHP 5와 MySQL 4.1 이상 환경이 사실 처음 태터툴즈 소스를 만지게 된 우리가 가장 이상적으로 봤던 환경입니다. OOP도 좀더 제대로 사용할 수 있고, UTF-8 문자열도 문제없이 처리할 수 있고 등등요. (참고로 말하자면 MySQL 4.0과 4.1에서 꽤 많은 변화가 있었습니다. utf-8 지원도 그렇고, password 함수의 알고리즘 변경 등이 있었는데, 특히 password 함수가 바뀐 덕분에 제로보드와 호환성 문제가 발생하게 되어 많은 호스팅업체가 4.1 이상으로 넘어가지 않는 결과를 초래하고 말았죠. 사실 mysql 데몬을 띄울 때 옵션을 줄 수 있긴 합니다만..)
한때 내부에서는 태터툴즈를 Python으로 만드는 게 어떻겠냐는 의견도 나왔었습니다. PHP 언어의 한계나 인터프리터 구현의 버그 등으로 인해 우리 입맛에 맞게 쓰는 게 매우 힘들었죠. (특히나 OOP 방향으로 개발하면서 더욱 php에 실망을 많이 했습니다.) 제가 Python을 본격적으로 접하게 된 건 그보다 뒤의 일입니다만, 현재 만드는 사이트는 웬만하면 Python + Django 프레임웍 조합을 사용할 정도로 그 편리함과 깔끔함에 빠져 있습니다. (needlworks.org도 Django 기반입니다. 물론 아직 기능은 별 것 없지만...-_- 참고로 구글도 Python으로 많은 수의 웹페이지를 구성하고 있습니다. Django를 쓴다거나 그런 건 아니고 자체적으로 Python 및 웹서버 구조를 커스터마이징했을 거라고 추측됩니다.)
언어의 깔끔함이나 그런 걸 제쳐두고라도, Python의 경우 상당히 오랫동안 안정화가 되었기 때문에, 더 이용하려고 했던 점도 있습니다. (근본적인 언어 설계의 차이에서 오는 것도 크지요.)
그러나 Python의 Django, PHP의 CakePHP, Ruby의 Rails 등을 쓸 경우 가장 큰 문제는 배포입니다. 사이트 하나를 구축하기 위해서 사용할 때는 매우 편리한 환경을 제공하지만, 그 환경을 설정할 때 root 권한이 필요한 경우도 있고 웹서버의 설정을 건드려야 하는 경우도 있어서 배포용 프로그램에는 적합하지 않죠. 그 점에서만큼은 아직 PHP를 따라올 만한 것이 없습니다. (가장 많은 웹호스팅에서 지원하고 있기도 하구요.)
요즘 학교에서 Key 인증서버 구축을 완료한 덕분에 Windows Vista Enterprise 64bit용을 써보고 있는데, Microsoft가 독점이니 뭐니 해도 하위호환성만큼은 정말 잘 지켜내고 있다는 생각을 금할 수 없습니다. (물론 일반사용자 입장에서 보면 아니라고 할 수 있겠지만, 개발자의 입장에서 보면 정말 대단합니다.) 64비트 환경에서 32비트 프로그램을 실행할 수 있도록 모든 시스템 dll들을 32/64비트 버전을 따로 제공하고 있는 점, 기본으로 접근할 수 있는 Internet Explorer 7을 일부러 32비트용으로 해놨다는 점(Flash player 등은 아직 64비트에서 동작하지 않습니다) 등은 정말 Microsoft 급의 규모가 아니면 하기 힘든 일입니다. Windows 3.1에서 95로 넘어올 때 심시티 2000이 제대로 실행되게 하기 위해서 메모리 해제 함수를 특수 모드로 동작하게 했다는 이야기도 있죠.
Windows의 그 막강한 하드웨어 호환성도 Linux를 여러 번 설치해본 사람이라면 매우 부러워할 만한 부분입니다. 역설적으로 거의 독점하다시피 하는 Microsoft이기에 가능한 부분이기도 하죠. 얼마 전 동아리 서버가 뻑나서 새 CPU와 메인보드를 구입해 Linux를 설치하다가 호환성 문제로 3일 내내 삽질하고 쥐쥐쳤던 걸 생각하면 정말...ㅠ_ㅠ;
아무튼, 웹 환경에서 배포용 프로그램을 개발할 때의 가장 난점이 호환성입니다. 상위호환성은 거의 불가능하다 치더라도 하위호환성을 맞추는 것도 쉽지 않습니다. 태터툴즈의 경우는 PHP와 MySQL 버전이 낮은 환경에서도 잘 실행될 수 있도록 하기 위해 성능을 희생한 부분이 꽤 많습니다. (티스토리의 경우는 서비스이기 때문에 서버 환경을 마음대로 정할 수 있으므로 이런 부분에서 꽤 많은 성능을 끌어올린 것으로 알고 있습니다.) 개인적으로는 제로보드가 그 막강한 시장 영향력(?)을 잘 행사해서 웹호스팅 환경의 꾸준한 업그레이드를 유도해왔다면 훨씬 개발이 편했을 거라는 생각도 해봤지요.
개인사용자용 TextCube에서는 크게 고려할 만한 부분은 아니지만, 요즘 겐도님의 글과 최재훈님의 글을 보면서, 또 Vista를 쓰기 시작하면서 아키텍처와 호환성에 관해 이런저런 생각이 많이 듭니다. (Flickr가 PHP 4와 MySQL 4를 이용하고 있다는 점이 특히 놀라웠습니다. ^^;)
플러그인 생각
머리아픈 이야기 2007/05/17 10:45태터툴즈 에서의 플러그인 개념이 나타나게 된 것은 아마도 작년 초쯤 태터툴즈 1.0이 배포되면서 활성화 되었습니다. 처음에는 그리 보이지 않게 움직였던 플러그인 들이 지금은 플러그인 게시판 기준 용도에 따른 다양한 플러그인이 420건 정도 됩니다. 현재 플러그인 게시판에 처음 등록되어 있는 것은TENMA님의 '댓글RSS 플러그인'이고, 최근 등록되어있는 것은 팀블로그로 유명하신 차칸아이님의 '포스트 부분 비밀글 만들기 플러그인'입니다. 이렇듯 많은 플러그인이 배포되고 사용되고 있습니다.
사실상 플러그인을 만든다고 하는 것이 스킨 만드는 것 보다 어렵게 생각할 수도 있습니다. 스킨은 html 구조로 속한 치환자만 잘 배치하면 된다고 쉽게 여기십니다. 하지만, 제가 생각하기엔 스킨 만드는 것이 더 어려운 것 같습니다. 뭐랄까 디자인 요소도 배제할 수도 없기 때문이 아닐까 합니다. 플러그인 텍스트큐브 기반 프로그래밍이 PHP입니다. PHP를 배우거나 독학하지 않았다면 플러그인 역시 어렵게 생각 될 수 있습니다. 하지만, 기 배포된 플러그인을 보거나, 플러그인 관련 설명문을 참고 하신다면 크게 어렵게 생각 안 해도 될 것입니다.
처음부터 어렵다고 생각하는 부분이 있기 때문에 막상 만든다는 것이 어려울 수도 있지만, 설치형 블로그의 강점 이기도 한 플러그인을 내가 원하는 것으로 만들어 보는 것도 재밌는 도전입니다.
요즘은 플러그인에 대한 여러 가지 아이디어들을 메모하고 있습니다. 워드프레스에는 있고 텍스트큐브에는 없는 것, 여러 사이트를 서핑 하다가 재밌을 것 같아 보이는 것, 간혹 흘려듣는 블로거분들이 하시는 이런 플러그인이 있으면 좋겠다고 하는 것 등.. 여러 아이디어를 모으고 있습니다. 생각 날 때마다 하나씩 만들다가 개인 업무에 치어 한 동한 잊혀진 대기 중인 플러그인도 많이 있고, 생각은 넘쳐나는데 역량 부족으로 아직 손도 못되고 있는 플러그인도 많이 있는 것 같습니다.
가끔 이런 생각을 자주 하곤 합니다. "어찌하면 플러그인으로 하여금 텍스트큐브가 유용하게 사용 될 수 있을까?"라는.. 혼자 생각한다고 해결될 것은 아니지만, 태터툴즈에서 텍스트큐브로 넘어오면서 뭔가 큰 변화를 줘야 한다는 생각이 뇌리에 자주 남고 있습니다. 생각해보면 아무 것도 아니라고 단정 지으면 될 것 같은데, 그게 잘 안되는 듯 합니다.
아마도 needlworks에서의 역할이 있어서 일지도 모른다는 생각이 듭니다. 오픈소스에 참여하게 된 것은 이번이 처음이지만 잘 헤쳐나 갈수 있을지... 앞으로 부딪혀야 할 난관들이 더 많을 것인데 힘찬 마음보다는 근심이 앞섭니다.
하나의 매듭 : 태터툴즈 1.1.2
따뜻한 이야기 2007/03/15 02:02잡담 하나.
언제부터인지 모르겠지만 항상 이 때가 되면 긴장감이 든다. 만든 것을 내놓고 판단을 기다리는 일은 굉장히 부담스럽다.
이번 판올림만큼 부침이 심한 판올림도 없었다. 원래 1월중에 나왔어야 할 1.1.1.1이 몇가지 사정들이 겹쳐서 계속 밀렸다. (다들 죄송) 결국 1.1.2와 요건이 겹쳐지고 말았다. 개인적으로는 TNF의 하는 일들을 정리하고 다음을 내다보는 시간이었던 동시에, 다 접어버릴까 하는 생각이 들던 시간이기도 했다.
가장 근본적인 철학의 부분이었다. 태터툴즈를 계속 만들어서 과연 '컨텐츠는 생산자에게 완전히 귀속되어야 한다'는 목표를 이룰 수 있을지 회의가 들었다. 개싸움이라는 말이 있다. 공부를 즐기면서 생각을 업으로 살던 사람이 이건 아닌것 같다고 바로잡고 싶다고 생각하기 시작한 사회와, 그 첨단을 달린다는 IT 업계는 개싸움판이었다. 엎치락뒤치락. 뭐가 그렇게 먹고 살기 바쁜 사회인 것일까. 사람은 먹기 위해 사는가? 그렇다. 우습지만 그런것 같다. 당장 자신도 내일 밥이 없다면 밥찾아 삼만리를 떠날테니까.
TNF는 태터툴즈가 개인에게 컨텐츠를 돌려주고 그로 인해 민주적인 힘을 웹 위에서 행사할 수 있도록 하는 것을 목표로 한다. 그렇지만 그 안에서 대표로써 밖을 상대하며 겪어야 했던 여러가지 일들은 그다지 즐거운 일이 아니었다. 코드와 제작자간의 문제가 아니라 "사람 사이의 일" 이라는 것이 어떻다는 것을 배우게 되었다. 나름 목표를 이루기 위해 돈으로도 살 수 없는 시간을 희생하고 있는데, '목표의 실현이 과연 가능한 것인가' 라는 가장 근본적인 부분에서 회의가 오게 되면 사람이 괴로워진다. 모든게 돈이다. 돈돈돈. 자유롭고 민주적이라는 웹도 결국 금전에 의해 좌우된다. 웹 위에서의 개인이 정말로 자유를 찾을 수 있겠는가?
믿고 있고, 반드시 그래야만 한다고 생각하면 움직여야 했다. 코드 한 줄은 세상을 바꾸지 못할지도 모르지만 코드를 만드는 것은 사람이고, 그걸 사용하는 것도 사람이다. '모두가 정당한 권리를 가지는 웹'을 원한다면 그러한 일을 대신 이루어줄 코드를 만들고, 그렇게 권리를 찾을 사람들과 함께 해야 하는 것이다. 무엇인가를 바꾸고 싶다고 믿으면 그 사람부터 먼저 "Power of one"을 믿어야 하는 것이었다.
이제 한가지를 확실히 안다. "현실은 항상 좌절스럽다." 거기서 좌절하면 끝이고, 좌절하지 않으면 보통은 실패하겠지만 가끔은 무엇인가를 변하게 할지도 모른다.
사람은 무엇으로 사는가- 에 대한 수많은 답들이 있다. 답을 얻고 살아가는 사람들이 있고, 고민하다 포기하는 사람들도 있다. 답들도 천차만별이다. 이제 20대의 중후반이다. 아직 답을 구하지 못했다. 1년 후, 2년 후, 5년 후, 10년 후에 무엇이 될 것이고 무엇을 해야 하는가에 대한 계획은 서 있지만 그런 계획이 '삶의 목표' 가 되는 것은 아니다. 사실 건방진 것이다. 20대에 자신이 무엇이 될 것인지 결정한다는 행위는. 목표는 가질 수 있지만 확신할 수는 없는.
전공인 물리학과 물리학 연구를 좋아한다. 그리고 1년이 살짝 못 되는 사이에 태터툴즈와 TNF의 많은 분들도 그만큼 좋아하게 되었다. 그래서 일단 가기로 했다. 목표를 이룰 수 있을지 없을지는 결과가 말해주는 것이다. 가보지도 않은 길을 예단해서 뭐하리. 대나무같은 사람이 되고 싶었고 되고 싶다. 눈을 보지 못하고 지나간 겨울동안 대나무에 마디가 하나 생긴 기분이다.
잊지말자.
미래에 기다리고 있는 것이 무엇인지 말해주는 것은 현재가 아니라 꿈이다.
갑시다. 캐논.
태터툴즈 3주년
즐거운 이야기 2007/02/28 20:59TNF 팀블로그에 써보는 첫 글이군요. 제 블로그에도 올렸지만 이곳에도 올려주는 게 좋을 것 같아 똑같이 씁니다. :)
2004년 3월 1일 JH님의 발표를 통해 태터툴즈가 세상에 처음 알려지게 되었습니다. 내일이 그 3주년이 되는 날로, TNC에서는 축하 메시지 및 "나의 첫번째 포스트"의 트랙백 등을 통한 소정의 이벤트를 준비하고 있다고 합니다.
TNC가 참여하는 태터툴즈 1.0 개발은 2005년 겨울에 시작되었고, TNF가 참여하기 시작한 것은 2006년 4월경입니다. 그 동안 정말 많이 변해왔고, 태터툴즈 자체도 엄청나게 큰 프로그램이 되었죠. 하지만 그 무엇보다도 국내의 설치형 블로그 시장을 확대하는 데 중요한 역할을 했다는 것을 잊지 말아야겠습니다.
개인적으로도 여러 사람이 공동으로 하나의 프로그램을 개발하는 과정과 그때 필요한 도구들(subversion이나 trac)을 익힘으로써 시야를 넓히는 데 도움이 되었고, 또 여러 오프모임과 오픈하우스 등을 통해 몇몇 분들과는 개인적인 친목 관계도 가지게 되면서 많은 이야기를 나눌 수 있었습니다. 세상을 바라보는 새로운 시각을 얻었다고나 할까요.
생각만큼 개발에 많은 기여를 하고 있지는 못하지만, 나름대로 오랫동안 활동하면서 TNF를 위한 서버 관리 등 중요한 역할들을 맡게 되었고, 이제 TNF로서의 정체성도 가지게 되었습니다. 앞으로도 태터툴즈가 잘 발전할 수 있기를 바라며 TNF가 그 구성원들에게 긍정적인 영향을 끼칠 수 있으리라 생각합니다.
마지막으로, TNF의 일원으로서 태터툴즈 탄생 3주년을 축하합니다!
TNF 블로그 개편 / 항해
따뜻한 이야기 2007/02/27 23:10
TNF 블로그가 tattersite.com으로 이사오면서 팀블로그로 변경되었습니다. 차칸아이님께 감사와 함께 앞으로 여쭤 볼 일이 많을듯 합니다. 아래 내용을 보니 앞의 인사 두 글 빼고는 그다지 즐거운 내용이 아니네요. 앞으로 TNF의 여러 분들께서 생각도 적고 잡담도 적는, '코드가 아닌 형태로' 우리들을 표현하는 공간이 되도록 해 보겠습니다. :)
또 이렇게 팀블로그 첫 글을 끊게 되는군요.
여름이 되면 언제나 해양 영화들이 극장에 걸린다. 파도가 시원하니 화면을 메운다. 그런데 그 시원함과는 반대로 이상하게 영화는 해피 엔딩을 가지고 있는 비극이다. 물론 파도 뿐만이 아니라 공포도 시원함에 일조하기 때문이기도 하다. 그래도... 남녀 한 커플에다 추가로 경우에 따라 아이도 한 명 더 살아남는 영화들은 살짝 섬뜩하다.
현대에 와서 배는 위험한 교통수단은 아니다. 대형화 됨에 따라 파도 정도로는 쉽게 뒤집히지 않고, 웬만한 경우에 대한 대응 수단도 모두 마련되어 있다. 타이타닉은 화면 안에서 줄기차게 침몰하지만 21세기에서 그런 일을 보기는 정말 힘들다. 라이트 형제가 복엽기 만들던 시절부터 스텔스기가 마하 4로 날라다니는 시대까지 배라고 발전하지 않고 그 자리에 그대로 있었으랴.
시대가 변해도 몇가지 바뀌지 않는 점들이 있다. 조각배를 몰든 LNG선을 몰든 배에는 코스가 있다. 어디서 출발해서 어디로 가는지가 정해져 있다. 대개 배는 출발하기 전에 그 경로를 정해 놓는다. 배의 목적에 따라 그 경로가 결정된다. 배의 경로를 결정하거나 기후와 지형에 따라 경로를 수정하는 경우가 아닌 경우 배의 경로는 선장에게 맡겨진다. 배에서 선장이 실제로 하는 일은 많지 않다. 단지 결정을 해야할 시점들이 존재하고, 결정의 결과에 대한 책임을 진다.
가끔 고민을 한다. 안 할 수가 없다. 태터툴즈에는 사공이 많다. 가끔은 에베레스트를 향하자고 할 때도 있다. 가끔은 폭풍이나 암초지대에 들어가기도 한다. 크라켄이 튀어 나와서 배의 선원을 공격하기도 하고, 해적이 등장해서 배를 털어가려고 하기도 한다. 당연한 말이지만 그래도 거기는 산이라고 해야하고, 선원이 다칠것 같으면 나가서 막아야 한다. 시대는 21세기라 태터툴즈도 21세기의 바다를 항해하고 있음이 분명한데도, 상상조차 못한 이유로 배의 방향을 결정하기는 쉽지 않다.
요새는 코드를 짜거나 기획을 하는 시간보다 고민을 더하게 된다. 그래도 믿고 있는 것은 그 많은 고민들이 방향을 한 쪽으로만 잡으면 굉장한 추진력이 될 것이라는 기대이다. 항해는 길고, 갈 길은 아직 멀다. 끝없이 넓은 네트워크의 바다에 모자란 한 조각을 찾아 가야지. (그러고보니 '원피스'라는 만화책도 있다.)
함께 하는 TNF와 TNC 분들께 모두 감사합니다.
모든 권리들을 제자리로 옮겨 놓을때까지 노를 저어 봅시다. (아이고)
비밀방문자 2014
inureyes 2014
비밀방문자 2013
화사함 2012
LonnieNa 2010