메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

게오르그의 Brave GNU World 제 36 호

한빛미디어

|

2002-10-09

|

by HANBIT

7,799

저자: 게오르그 (Georg C. F. Greve), 번역 Brave GNU World 한국어팀(bgw@korea.gnu.org)

Brave GNU World를 찾아 주신것을 환영합니다. 이번 호는 36번째로 이는 Brave GNU World가 3년째를 맞이한다는 것을 의미합니다. 이런 이유로 여러분은 축하의 말들을 뒷부분에서 찾을 수 있을테지만 그 전에 우선 몇 개의 프로젝트를 소개하도록 하겠습니다. 이번 달에는 또다른 Free game에 대한 소개로 시작을 합니다.

Pingus

pingus[1]는 Ingo Ruhnke, Giray Devlet, Cagri Coltekin, David Philippi 그리고 Alberto Curro에 의해 GNU 공개 라이센스를 지키며 개발되고 있는 게임입니다.

이 게임은 레밍들을 위험한 레벨들을 지나 안전하게 출구로 이끌어야 하는, 예전에 선풍적인 인기를 끌었던 DMA 디자인의 "레밍즈" 와 흡사합니다. 이 게임에서 레밍들의 전진에 영향을 주는 유일한 방법은 레밍들 중 몇몇에게 경찰관, 갱부 혹은 폭탄병 등의 특별한 역할을 맡기는 수 밖에 없습니다.

Pingus는 이런 것들을 리눅스 커널의 마스코트인 Tux와 매우 흡사한 작은 펭귄들의 무리를 옮기는 방식으로 구현해 낸 게임입니다.

이 게임은 1998년에 제작되기 시작했고 Slashdot에 알려진 다음 몇몇 그래픽쪽의 전문가들이 그래픽을 향상시켜 매우 볼만한 화면을 갖게 되었습니다. 이 그래픽은 Pingus의 주인공들이 데스크탑을 돌아 다니는 Xpenguins[2]에도 적용되었습니다.

2000년 말에 개발은 거의 중지되었었지만 몇몇 새로운 프로그래머들이 이러한 상황을 벗어나는데 도움이 되었습니다.

이 게임은 아직 완성된 것은 아니며 Ingo Ruhnke는 이 게임을 두고 "이 게임은 아직 진정한 게임처럼 보이지는 않는다."라고 이야기 했습니다. 이것은 부분적으로 사실인데 왜냐하면 이 게임에는 현재 효과음이 전혀 없기 때문입니다. 또한 재미있는 레벨들이 좀더 필요합니다.

여러 부분에서 도움이 필요합니다. 개발자들은 다양한 레벨 디자인과 효과음 제작을 도와줄 사람들을 기다리고 있습니다.

레벨 디자인은 프로그래밍 지식을 필요로 하지는 않지만 모든 것이 XML로 작성되어 있습니다. 이 게임 자체는 C++로 제작되었으며 GNU/Linux아래에서 동작한다고 합니다. 다른 유닉스에서 동작하게 할 수 있겠지만 개발자들은 현재 Win32 포팅에 좀더 관심이 있습니다.

당장의 계획은 윈도우로의 포팅을 완료하고 새로운, 그리고 플레이가 가능한 완벽한 버전을 내놓는 것입니다. 그 이후에 네트워크를 통한 멀티플레이와 일괄된 스토리 라인으로 게임을 완성할 것입니다.

현재 이 게임은 절반정도 완성된 게임들을 플레이하고자 하는 유저들과 이 게임 개발의 일부분에 도움을 줄 수 있는 사람에게 추천할만 합니다.

Process View Browser

Rainer Lehrig가 개발중인 Process View Browser(pvbrowser)는 프로세스를 시각적으로 볼 수 있게 해줍니다. 이러한 사실은 특수한 프로세스를 시각적으로 보고 제어해야 할 필요가 있는 모든 영역에서 대단히 중요합니다. 독점 프로그램들 중에 비슷한 작업을 하는 것들로는 WinCC나 Wonderware를 꼽을 수 있습니다.

pvbrowser 프로젝트는 서버와 사용자가 다루는 브라우저로 이루어져 있습니다. 반면에 비슷한 다른 프로젝트들은 모든 설정이 서버쪽에서만 이루어 집니다.

사용자는 서버의 설정을 원하는대로 변경할 수 있습니다. 예를 들어 하드웨어나 소프트웨어와 상호작용하는 루틴을 작성하거나 특정한 방법으로 제어되고 디스플레이되는 오브젝트를 정의할 수 있습니다. 이러한 부분들은 네트워크를 통해 서버에서 정보를 받아 브라우저에 나타내어 집니다.

이 프로젝트는 브라우저를 작성하는데 C++와 그래픽 툴킷으로 Qt를 사용했고 서버쪽은 ANSI C를 이용했습니다. pvbrowser는 플랫폼에 대단히 비종속적이어서 GNU/Linux에서만큼 윈도우나 VMS에서도 잘 동작합니다. Rainer Lehrig에 의하면, pvbrowser의 브라우저는 330MHz GNU/Linux 노트북에서 1GHz Windows NT 시스템보다 더 빠르게 동작한다고 합니다. 그는 이 원인을 Windows NT 시스템의 네트워킹 코드 때문이라고 비난하고 있습니다.

플랫폼에 종속되지 않는다는 것은 곧바로 이 프로젝트의 저면에 깔린 문제로 직결됩니다. 그리고 이 문제가 저로 하여금 이 프로젝트를 Brave GNU World에 소개해야 하는지에 대해 고민하게 만들었습니다. Process View Browser는 GNU 공개 라이센스에 의해 배포되는 GNU/Linux에서 사용될 때만 자유소프트웨어로 인정받을 수 있습니다. Windows와 VMS에서 사용될 때는 그렇지 못합니다.

두 가지 요소가 저로하여금 이 프로젝트를 Brave GNU World에 소개하도록 만들었습니다. 무엇보다 먼저 pvbrowser가 진입하고자 하는 영역은 현재까지 완벽한 독점 프로그램들이 아직까지 지배적이고 따라서 프로젝트는 분명히 이를 타파하는 방향으로 나가기 시작할 겁니다. 사용자도 pvbrowser를 아무런 거리낌 없이 GNU/Linux 플랫폼에서 사용했듯이 완전한 자유소프트웨어로써 사용할 수 있을 것입니다.

두 번째로, Windows와 Mac 버전이 여전히 독점적었고 X11 버전만이 자유소프트웨어로써 유용했던 Qt의 라이센스 상황이 매우 비교할 만합니다. Qt가 Process View Browser에 사용되고 있는 동안은, Windows 버전의 경우, 독점적인 Qt에 대한 의존성때문에 실질적으로 사용자들이 자유롭게 사용할 수는 없을 것입니다.

Qt는 GNU/Linux에서 동작하는 K 데스크탑 환경과 같은 많은 중요한 프로젝트에 사용된 훌륭한 자유소프트웨어 라이브러리이고 지금까지 여러 번 Brave GNU World에 언급되었습니다. 따라서 유사한 라이센스 정책을 비교해 보더라도 Process View Browser를 Brave GNU World에서 다루지 않는 것은 정당하지 않다고 보였습니다.

GNU/Linux가 아닌 다른 시스템용 버전이 장기적으로는 자유 소프트웨어가 될 희망은 아직 있습니다 - 이 희망은 Qt와 Process View Browser에도 똑같이 해당됩니다.

Rainer Lehrig는 지금까지 pvbrowser을 혼자서 작업해 왔고 이제는 새로운 아이디어와 코드 작성을 도와주거나 테스트를 해줄 사람들의 도움을 기다리고 있습니다. 자원봉사자들은 문서화 작업을 돕고 있습니다.

이 분야에 관심이 있는 분들은 psvbrowser개발에 참가하기를 권합니다. 어쨌든 저는 GNU/Linux 쪽으로만 일하실 것을 권합니다. 그리고 문서의 저작자는 GNU 자유문서라이센스나, 유사한 라이센스들 하에 출판/배포를 해야 하는 것을 잊지 말아야 합니다. 이러한 경우에만, 참여하신 일이 자유 소프트웨어 공동체에 계속 유리하게 되고, 이것이 꽤 안전할 것입니다.

예상되는 오해를 막기 위해, 전 앞에서 언급했던 문제들이 자유소프트웨어에 대한 Rainer Lehrig의 노력이 줄지 않았음을 강조하고 싶습니다. 자유 소프트웨어를 이제까지 독점이 유지됐던 분야에서 개발하는 것은 매우 중요한 일입니다.

또한 이것이 야기할 문제와 이해관계들을 아는 것은 매우 중요합니다.

PowerPhlogger

2002년 6월에 Philip Iezzi는 PHP를 이용해서 호스트의 웹 페이지 카운터를 제작하기 시작했고 그 결과 2001년 1월 이후로 PowerPhlogger라는 GNU 공개 라이센스를 지키는 프로그램을 발표했습니다.

유사한 서비스가 인터넷에서 일반화 되어 있긴 하지만 이들은 독점적이며 좀 불충분 합니다. PowerPhlogger는 설혹 사용하고자 하는 페이지가 PHP를 지원하지 않는다고 하더라도 모든 사람들이 사용할 수 있습니다. 이러한 서비스들의 계정생성은 관리자나 사용자 자신 모두가 할 수 있습니다. 이것의 예로 무료 PowerPhlogger 서비스인 Freelogger[3]를 들 수 있습니다.

PowerPhlogger의 기능은 대부분의 독점적인 솔루션들보다 낫습니다. 이런 기능들 중 하나는 모든 페이지의 엑세스가 아닌 실제 방문자수를 카운트 하는 것입니다. 이것은 IP 비교와 쿠키 확인, 그리고 사용자가 정의한 timeout등의 조합을 통해 이루어 집니다. 또한 PowerPhlogger는 방문자의 경로, 라고 불리는 것을 제공하는데 이것은 방문자가 페이지를 방문한 경로를 따라갈 수 있게 해줍니다. 이것은 방문자가 어떤 페이지에서 얼마나 시간을 보냈는가를 알 수 있게 해줍니다.

물론 PowerPhlogger는 페이지에 사용자가 정의한 색과 TTF 폰트를 이용한 형태를 띤 카운터를 표시할 수 있습니다.또한 페이지의 외관도 사용자의 취향에 맞게 CSS 수정을 통해 수정할 수 있습니다. 덧붙여서, 이 프로젝트는 16개의 언어로 국제화되어 있으며 서로 다른 시간대를 지원합니다.

모든 데이터는 현재 mySQL 데이터베이스에 저장되어 있지만 2002년 10월에 릴리즈 될 것으로 예상되는 PowerPhlogger 버전 3 은 데이터베이스 추출 레이어를 포함할 것 입니다. 또한 그다지 잘 정리되어 있지 못한 코드 부분도 정리될 것이며 객체지향적으로 재작성 될 것입니다.

어떤 형태의 도움이라도 환영될 것입니다 - 재정적인 도움까지도 포함하여. Philip은 또한 온라인 포럼을 운영하고 제공할 봉사자들을 필요로 하고 있습니다.

GNU Stow

GNU Stow[4]은 소프트웨어의 설치에 업체의 도움을 받기 힘들거나 여타 다른 이유로 프로그램을 소스로 설치해야 하는 모든 사람들에게 굉장히 도움이 되는 프로젝트입니다.

엔트로피는 현상 유지되거나 증가하며 절대 감소하지 않는다 라는 열역학 제2법칙은 이와 같은 상황에도 적용됩니다. 다시 말해 시스템은 프로그램들이 설치된 디렉토리와 소스들로 인해 대단히 복잡해 지게 됩니다. GNU Stow는 이런 상황을 해결하기 위해 제안된 해결책입니다.

Stow는 /usr/local/stow라는 독자적인 디렉토리 구조를 갖습니다. 새로운 패키지들은 이 디렉토리 아래에 자신의 하부 디렉토리를 갖고 설치가 됩니다. Stow를 호출하면 표준 파일 시스템에 부합하는 위치에 패키지의 모든 파일들이 있는 것과 같이 하기 위해 심볼릭 링크를 생성합니다. 만일 특정 패키지를 삭제하고자 한다면 단순히 디렉토리를 삭제하거나 Stow를 다시 호출해서 링크를 제거하면 됩니다.

원래 Stow는 Bob Glickstein이 펄을 이용해서 1993년에 작성되었지만 시간이 매우 부족해서 개발이 중지되어 있었습니다. GNU Stow는 현재 Guillaume Morin이 관리하고 있으며 몇 년 안에 이 프로젝트를 안정화 시키기 위해 노력하고 있습니다.

여러분이 아직 GNU Stow를 사용해 보지 않았다면 저는 그저 지켜보라는 권유를 할 수 있을 뿐입니다.

GNU gettext

GNU gettext[5]는 아마 대부분의 개발자들이 이미 알고 있을 것입니다. 또한 이 패키지는 개발자들과 번역자들을 곧바로 연결해 주는 역할을 합니다.

GNU gettext는 사용자들을 위한 중요한 역할을 하는데 바로 사용자들이 프로그램을 자신의 모국어를 이용해서 사용할 수 있다는 것이 그것입니다. 따라서 저는 이 중요한 부분을 여기서 소개하려고 합니다.

자세한 부분들에 대해서는 언급을 않겠지만, 역할적인 의미에서의 간단한 소개가 이 시점에서 유용할 것 같습니다: 어떠한 프로그램이 개발될 때, 모든 출력값들은 영어로 출력이 됩니다. 모든 사용자 관계문자열들이 하나의 파일에 GNU gettext에 의해 저장됩니다.

프로그램이 국한되어있다면, 번역하는 사람들이 이 파일을 직접 만들어, 이 간단한 ASCII file을 가지고 모든 문자열들을 모국어로 번역할 수 있습니다. 그리고, 개발자에게 메일을 보냅니다. 그 파일이 올바른 이름의 올바른 디렉토리에 복사가 되고 나면, 프로그램은 다음 버전에서 그 언어를 제공할 수 있게 됩니다.

사용자가 프로그램을 실행시키면 GNU gettext는 모든 메시지를 미리 선택된 언어로 보여줍니다. 만약 번역 작업이 아직 끝나지 않았거나 제공이 안되어서 에러가 날 경우 gettext는 original/English 버전으로 메시지를 제공하게 됩니다.

미완성된 번역작업 지원이 GNUgettext의 계획된 목표 중 하나 입니다. 왜냐하면, 대부분의 프로그램들은 개발이 우선시 되고, 번역작업은 개발의 뒷 순서에 놓이게 되기 때문입니다.

GNU gettext는 GNU GPL뿐 아니라, GNU Lesser GPL을 따르는 몇 개의 툴들로 구성되어 있습니다. 이 프로그램은 Unix Standard, X/Open 과 Li18nux2000과 호환성을 가지고, 1995년에 Ulrich Drepper가 개발을 시작한 후, 놀랍도록 빠르게 GNU Project의 안과 밖에서 Software의 국제화를 위해 사실상의 표준이 되었습니다.

최근에, Bruno Hable이 GNU gettext maintainer로 자리를 넘겨 받고, 현재 더 많은 언어로 gettext를 확장하는 데 초점을 맞추고, 나아가서는 간단한 철자 확인기능을 추가할 계획입니다.

Bruno는 두 가지 예를 들어 BGW 독자들과 공유하는 것을 가치있게 생각합니다. 하나는 미국영어에서 영국영어로 번역하는 것에 관한 매우 훌륭하고 활동적인 팀이 있기 때문입니다. 이것은 어느 정도 그가 일본어로 번역하는 작업보다 더 쉬워 보입니다. (혹은 그를 일본인으로 전환시키는 것보다 더 쉬워보입니다.)

둘째로, 모든 프로그래머들이 그들의 모국어가 아닌 외국어로 프로그램을 번역하려고 하는 것에 대해 회의적이기 때문입니다. 생각했던 만큼 제대로 되지 못한 몇몇 번역들은 그가 아예 안 한 것 보다 못하기 때문입니다.

경험적으로 볼 때, 프랑스어, 스위스어, 독일어, 스페인어는 매우 자주 제공되고 있는 것 같습니다. 그러나, 다른 언어들은 더 많은 지원자들이 필요한 실정입니다. 당신의 모국어로 프로그램을 번역하는 것은 특별한 기술의 전문성을 필요로 하지 않으면서도 실질적으로 자유소프트웨어를 발전시키는 좋은 방법입니다.

Brave GNU World 3년

이번 호는 Brave GNU World의 36호이고 실험적으로 시작했던 것이 이제 3년이 되었습니다. 그래서 저는 잠깐 Brave GNU World의 지난 시간에 대해 이야기해 보고자 합니다.

이 칼럼은 512-node GNU/Linux Cluster CLOWN상에서 독일어판 Linux-Magazin 의 편집자였던 Tom Schwaller와 저 사이에 대단히 모험적인 형태로 논의가 되었고 그때 저는 GNU 프로젝트에 대한 저의 첫번째 칼럼을 건네주었습니다.

Tom은 제게 GNU 칼럼에 대한 아이디어를 갖고 접근했습니다. 집으로 돌아가서 저는 제가 GNU 프로젝트를 그처럼 특별하게 만드는 철학적/기술적 혼합에 대한 칼럼을 쓰고 싶어 한다는 것을 알았습니다. 그래도 저는 이것이 가능하고 발행물들에 대해 제 시간에 매달 각각의 기고란을 채울 수 있을 지 의심스러웠습니다.

처음부터, 이 칼럼이 가능한 한 많은 사람들에게 유용하기 위해 인터넷에 출판해야 한다는 것은 분명했습니다. 또, 독일어로만 이것을 출판한다는 것은 지나치게 제한된 방법인듯 보였습니다. 그래서, 1회는 먼저 독일어로 쓰여지고, 함께 online으로 공개하기 위해 제가 영어로 번역했습니다.

2회가 출판된 후에 며칠 내에 주목할 만한 일들이 일어났는데, Okuji Yoshinori와 Fancois Thunus가 저에게 그들의 모국어로 이 칼럼을 번역할 수 있는지에 대해 물어왔었습니다. 물론, 저는 매우 기분이 좋았고, 바로 BGW의 출판과정에 그들을 포함시켰습니다.

장벽은 무너졌습니다. 더 많은 지원자들이 저에게 그들의 번역판들을 제의해 왔고, 곧 다른 잡지사들이 BGW를 offline으로 출판할 수 있는지 요청해 왔습니다.

현재 이 저널은 7개 국어로 번역되고, 세계 4개의 잡지사들이 출판을 하고 있습니다. 매우 많은 지원자들의 도움이 없었다면, 이것은 결코 가능하지 못했을 것입니다.

위에서 언급한 초기의 지원자들은 현재 자신들의 길을 가고있고, 다른 지원자들이 그 자리를 넘겨받았습니다. 저는 BGW를 돕고 있는 모든 지원자들의 이름을 칼럼에 적고 싶지만, 아쉽게도 충분한 공간이 없습니다. 매회 마다 스카우트된 분들, 감수인, 번역인, 웹 마스터 등등으로써 도와주는 30명의 사람들이 올라와 있습니다. 일부 지원자들은 오랫동안 참여를 해 왔어도, 항상 어느 정도의 기폭이 있었습니다.

이 BGW의 모든 분들과 지원자분들께, 저는 지난 3년의 노고에 대해 매우 깊은 감사의 표현을 하고 싶습니다.

또한, 이 project에 관심을 보여주시고, 새로운 의견을 제시해 주신 모든 분들께 감사하다는 말씀을 드립니다. 그 분들의 참여가 BGW를 생활 속에 함께 채울 수 있게한 중요한 원인이었습니다.

새해에는...

충분히 말했듯이, 새로운 BGW의 좋은 해가 되길 바라며, 저는 의견, 새로운 project, 질문과 생각들에 대한 의무적인 요청을 수렴하여 이 작업을 끝내고 싶습니다.

사용자들에게 매우 유용하고 재미있고 좋지만 알려지지 않은 project가 있습니까? 아래 주소[6]로 연락주시시기 바랍니다.

참고 문헌 및 사이트 정보
각주
[1] Pingus 홈페이지: http://pingus.seul.org
[2] XPenguins 홈페이지: http://xpenguins.seul.org
[3] Freelogger 홈페이지: http://www.freelogger.com
[4] GNU Stow 홈페이지: http://www.gnu.org/software/stow/
[5] GNU gettext 홈페이지: http://www.gnu.org/software/gettext/
[6] Brave GNU World로 코멘트나 질문, 자신의 생각을 보내주십시오. column@brave-gnu-world.org
Copyright ⓒ 1999, 2000, 2001, 2002 Georg C. F. Greve
본 기사는 멋진 GNU 세상에서 발췌한 기사입니다.
TAG :
댓글 입력
자료실