르완다 1년이 남긴 IT 봉사 흔적들 | part 1 (2010년 이야기)

르완다에 온지 벌써 1년 하고도 5개월이 지났다. 실로 꽤 긴 시간이 지났음에도 불구하고, 동아프리카 르완다 특유의 변함없는 춥지도, 덥지도 않은 이 무미건조한 날씨는 흘러가는 시간을 무색하게 만든다. 이렇게 오랜 기간동안 있으면서, 과거를 회상하기는 많이 했지만, 내가 이제껏 르완다에서 해왔던 일들에 대해 한번도 제대로 정리를 해본적이 없는거 같다. (코이카 현지평가회의를 했음에도 불구하고 – 코이카 봉사단원들은 현지평가회의때 이제껏 활동했던 봉사사례들을 공유하는 시간을 갖는다. 사실 그때는 왜 그랬는지 모르겠지만 자료 준비가 그렇게 귀찮을 수가 없었다.) 2011년이 가기전에 한번쯤 내 경험들을 정리할 시간을 가지겠다고 마음 먹었었는데, 이번에 코이카 워크샵에서 현지기관장들을 대상으로 발표하기 위해 준비했던 자료가 있어, 이 자료를 살려, 내 1년간의 봉사경험을 정리하며, 공유해보려고 한다.

위의 PT는 기관장들을 대상으로 한 코이카 워크샵에서 봉사단원 활동경험 사례를 발표한 자료이다. 10분이라는 짧은 시간에 해야하는 발표라 내 활동경험들을 아주 짤막하게 보여주었다. 내가 르완다에서 지내온 시간은 참으로 긴 시간이다. 이 시간동안 집에서 한발자국도 나오지 않으며 독거노인마냥 살았던 기간도 있고, 프로젝트 팀을 결성해 같이 동거동락하며 하루하루를 보낸 나날도 있었다. 뒤돌아보면 이런 저런 많은 일들이 있었지만 이 글에서는 내 봉사활동 경험에 집중해보고자 한다.

  2010년 2월 25일, 한국에서의 개발자 life
2010 02 25 몽실이의 영역침범
2010 02 25 몽실이의 영역침범

나는 프로그래머다. 한국 특유의 취업에 대한 공포심이 만연한 이곳에서 나름 삼성전자 특채가 보장된 최고의 소프트웨어 개발 인력 네트워크인 삼성 소프트웨어 멤버십에 소속되어 있었고, KETI(Korea Electronics Technology Institute)에서 내 마지막 개발 작업을 정리하고 있었다. 그리고 이 날 발표가 났다. 2010 국제협력요원 최종발표가 말이다. 내 이름이 적혀있었고, 그 옆에는 르완다가 적혀있다. 내가 지원했던 르완다 정보통신청이 합격해서 너무나도 다행이라는 생각이 들었다. 그리곤 바로 선임연구원님께 갑작스럽게 KETI를 그만둬야 한다는 말을 하고, 호되게 혼났었다. 생각해보니 그럴만도 했다. 발표도 이렇게 늦게 나고, 당장 2주일 후면 군사훈련에 들어가야하니 말이다. 너무나도 선임님께 죄송스런 하루였지만, 그래도 기쁨과 설렘의 마음도 있었다. 내가 아프리카 땅을 밟을 수 있다는 그 희열과 두근거림이 나를 지배하고 있었으니..

나는 합격 발표와 동시에 개도국에 적용가능한 개발 플랫폼을 떠올리고 있었다. 그 중 하나가 바로 클라우드였는데, 사실 이때까지만 해도 클라우드에 대한 정의가 애매모호하던 시절이었다. 기업 제각각마다 다른 정의와 목표를 가지고 그 클라우드라는 개념을 정립해가고 있었는데, 이 싸움에서는 일반사용자들에게 가장 먼저 이 개념을 이해시키는 쪽이 승자였다. 이미 구현되어 서비스를 제공했던 클라우드도 있었지만 이것이 일반사용자들을 향해 커다란 어필을 보여주지는 못한 시절이었다. 그렇게 개도국에서의 개발 아이디어를 떠올렸던 이 날이 내 아프리카 봉사의 전초적인 날이었다.

 2010년 7월 23일, KIE(르완다 국립교육대) 발령

SAM_4952

외교통상부장관의 직인이 찍힌 내 종사명령서에는 분명 정보통신청이었지만, 오기 직전 변경되었다. 이 나라에서 고등교육기관의 선생님을 양성시키는 교육대학교, 우리나라로 치면 사범대 + 교대와 같은 구실을 하는 곳인데, 갑작스럽게 바뀌니, 과연 내가 생각했던 프로젝트를 제대로 수행할 수 있을지가 의문이었다. 하지만 다시 생각해보니 이곳은 내가 가장 하고싶었던 봉사방식인 R&D + T(Research & Development + Teaching) 를 실현할 수 있는 환경이었다. 내가 생각하는 가장 효과적인 IT 봉사가 바로 R&D + T이다. 우리 봉사단원들은 이 나라가 원하는 것이 무엇인지, 학생을 포함한 이 나라 사람들 개개인이 원하는 것을 정확히 짚어 판단하기 힘들다. 이건 외국의 문화이기에 당연한 거다. 따라서 무조건적으로 우리가 배웠던 것이 옳고, 우리가 지나온 길, 세계가 제시하는 기술들이 이곳에서 옳다고 단정지을 수 없다. 따라서 개발로 봉사를 하는 일에는 당연히 Research가 필요하고, development가 필요하며, 향후 개발된 결과물에 대한 유지보수를 위하여 현지인들을 대상으로 Teaching이 필요한 것이다.

 KIE Official Homepage 개발 이야기

이곳에 도착하니, 기말고사 시즌이었다. 운이 좋게도 바로 방학인 것이다. 근데 이 놈의 방학이 5개월이란다. 사실 이때는 르완다 봉사 초반이라 내 열정은 뜨겁게 불타오르던 시절이었다. 무엇이든 하고 싶었고, 할 수 있을 것만 같았다. 우선은 총장이 다이나믹한 홈페이지를 하나 가지고 싶어해서, 기획서를 짜서 바로 제출했다. 마치 한국의 대학 홈페이지를 생각하며 말이다. 근데 여기서부터 실수였다. 한국과는 틀린 것들이 너무 많았다. 대학이 온라인으로 학생들에게 주는 서비스는 아무것도 없었다. 그저 학교에 대한 소개면 끝나는 것이다. 뿐만 아니라 이 나라, 이 근방은 네트워크 대역폭이 너무 좁아 플래시나 실버라이트같은 강력한 애니메이션 무비같은 것들을 넣을 수가 없었다. 나름 멋지게 메뉴까지 다 만들고 했지만, 데이터베이스 디자인도 다시 한번 골몰히 생각하며 짰지만, 전혀 필요없었다. 아악, 결국은 이 홈페이지의 목적을 심플하고, 가장 가벼운 대학 홈페이지를 목표로 개발했다.

KIE Official Homepage
KIE Official Homepage

Server side : Ubuntu, Apache, PHP, Codeigniter platform
Client side : Javascript(AJAX), HTML, CSS
Description : 프로젝트 목표자체를 ‘심플하고, 아주 가볍지만, 가능한 한 유지보수가 쉽게’ 로 잡고 했다.
적절한 곳에 AJAX 리액선을 배치하고,  전체적인 설계 자체를 MVC(Model, View, Controller) 패턴에 기반하여 짰기 때문에, 유지보수를 고려하였다. 뭐 요즘은 웹 프레임워크에서 MVC는 빠질 수 없는 것이지만, 여기 르완다에선 그저 최고의 신기술인거다 -_ – AJAX는 말할 것도 없고 말이다. 사실 이렇게 MVC를 적용해준다 쳐도, 이곳은 제대로 활용할만한 인력이 없다. 따라서 관리자가 쉽게 컨텐츠들을 관리할 수 있도록 관리창까지 다 만들어주었다. 이곳에 들어가는 에디터는 오픈마루의 스프링노트가 개발한 오픈소스를 적용하였다.

근데 문제는 끝나지 않았다. 개발을 완료하더라도, 대학을 소개하는 컨텐츠가 부실했고, 더 큰 문제는 웹서버가 없단다. (이제껏 나는 내 랩톱상에서 가상머신으로 개발중이었더랬다 -_-) 그 날 처음으로 현지인 디렉터에게 화냈다. 이거 한번 화내고 나니, 계속 꼬투리만 잡히면 화내게 된다. 내가 한국에서는 결코 함부로 화내는 사람이 아닌데 말이다. 아무튼 그 문제는 시간에 기대어 해결해보기로 내 자신은 지금까지도 마음 다잡고 있다. 난 의지나 열정이 없는 기관에는 결코 도움을 주고 싶지 않다.

KIE 도서관 관리 시스템 적용

KIE에는 한국에서 사서분야로 같이 파견온 동기 분이 계시다. 사실 처음에는 도서관 관리 프로그램을 아예 하나 만들어 줄 생각을 가지고 있었다. 아주 간단하게 책 추천, 검색, 관리 정도의 기능? 하지만 그 정도의 기능에 제대로 된 도서 관리를 한다는 것은 나의 착오였다. 거대한 오픈 소스 도서 관리 시스템의 코드를 맞이했을 때의 느낌은 마치 미니 OS 코드를 대치하고 있는 듯한 느낌을 받았다.

koha
KOHA Library Management System

내가 선택하고, 코드를 본 ILS(Integrated Library System)는 koha다. 기본적으로 ILS라 불리기 위해서는 몇가지 모듈들이 구현되어야 하는데, Acquisition(수서 기능), Cataloging(도서 색인 기능) , Circulation(도서 대출 관리), Serials (정기간행물관리), OPAC;Online Public Access Catalogue (도서 검색 시스템) 등이 있었는데, 솔직히 이정도 기능을 만드는 건 그렇게 어렵지 않지만, 이미 전세계에 맞혀진 도서 관리 표준이 있었다. 미국 표준인 MARC(MAchine Readable Cataloging) 21이나 국제 표준을 위해 만들어진  UNI-MARC라던지, Z39.50과 같은 프로토콜 등의 이미 만들어진 표준들이 많았다. 이것들은 모두 도서 몇천권을 관리함이 아닌 몇십, 몇백만권을 관리하기 위해 정해진 표준들이었다. 뿐만 아니라 여기 Koha Project에는 RDBMS(관계형 데이터베이스 관리 시스템)로 인한 느려지는 속도를 Zebra(http://www.indexdata.com/zebra) 같은 데이터 인덱싱 엔진을 적용함으로써, 속도를 개선한 부분도 있었다. 역시나 내가 이런것들을 모두 직접 만들기 보단 이미 만들어져있는 시스템을 쓰는 것이 현명하다고 판단하고, 하나의 서버를 Koha 시스템에 맞게 설정했다. 생각보다 설치과정이 까다로웠다. 무료임에도 불구하고, 까다로운 설치과정때문에 많은 기관에서 유지보수를 위해 상용 ILS를 사용하고 있는 듯 하였다. koha 성능자체는 결코 상용 ILS에 떨어지지 않는데, 참 아쉬운 부분인거 같다. 설치만 끝나면 웹기반의 GUI를 지원하기 때문에 이후부터는 별로 문제가 없을 듯 하다.

2010년의 끝에..

방학이었지만 정말 바쁘게 보냈다. 2011년 1월 10일이 개학이라 수업준비도 하고, 홈페이지나 도서관리시스템 셋팅때문에 쉴틈없이 시간이 훅 지나간거 같다. 하지만 이런 것들은 다 부수적인 일이 지나지 않는다. 진짜 메인은 내가 정말로 이 개발도상국에서 해내고 싶었던 “ndoto”(스와힐리어로 꿈)라는 프로젝트다. 집에서 나오지 않으며, 한인들도 제대로 만나지 못하다 보니, ‘독거노인’이라는 별명도 생겼지만, 이 프로젝트를 못하면 내가 여기 이 동아프리카에 온 이유는 사라지니까, 그래서 더욱 절실했는지도 모르겠다. 실패할지도 모르지만 진심이 담긴 프로젝트는 어떻게든 빛을 발한다. 그것을 위해서 더 열심히 조금만 더 힘을 낼 수 있도록 하자 ! 🙂

다음 이야기는 2011년 내 생애 첫번째 학생들,
KIE, Computer Science, Level3 학생들에 대한 이야기를 쓸 예정이다.