저자: 게오르그 (Georg C. F. Greve), 번역 Brave GNU World 한국어팀(
bgw@korea.gnu.org)
멋진 GNU 세상 41호를 찾아주신 것을 환영합니다. 자유 소프트웨어는 여러분의 건강에 좋습니다! 지금까지는 언제나 이 사실을 예상해왔지만, 이번호에서는 이를 증명할 수 있는 몇 가지 것들을 소개하고자 합니다.
Debian-Med
많은 다른 분야들처럼 의학응용분야에도 매우 대단한 프로젝트들이 상당히 많습니다. 하지만, 일반 사용자들의 능력으로는 그것들을 이용하여 결과를 이루어 내기가 매우 어렵습니다. 이러한 문제를 해결하기 위해, Andreas Tille씨는 2002년 초에 Debian-Med
[1]라는 프로젝트를 시작했습니다. 이 프로젝트는 의학이나 미세생물학분야에 대한 축적된 프로그램 프로젝트를 찾고, 이 분야에서 일하는 사용자들을 위해 데비안을 만드는데 초점을 두고 있습니다.
멋진 GNU 세상의 애독자분들은 아마도 23호
[2]에서 소개 되었던 프로젝트인 Debian-Jr
[3]라는 프로젝트를 기억하실 겁니다. 사실은, Debian-Med의 아이디어도 이 프로젝 트에의해 계획된 것이라고 합니다.
특별히 평범한 시민들과 매우 친근한 사람들(의사의 경우 같은)에게 도움을 주는 프로그램들은 현재로서는 오직 자유소프트웨어만이 완벽하게 만족을 시킬 수 있다는 어떠한 기준을 만족시켜야 합니다.
예를 들어 기밀과 보안이 완전한 자료가 잘 보관되고 있다는 것이 확실해야 합니다 . 이것은 자유 개발 과정을 통해서 최고로 보안이 될 수 있는 특별한 투명성을 요구하게 됩니다.
또한 몇몇의 진단검사들은 몸에 해로울 수 있고, 또한 절대 반복을 해선 안되는 것들이 있을 수도 있기 때문에 데이터손실에 의한 안전성이 아주 중요하게 부각될 수 있습니다. 만약 데이터들이 손실되었다면, 이것은 분명히 의료서비스의 질을 낮추게 됩니다. 동시에 그것은 자연스레 환자들이 의사들을 불신하게 되는 결과를 초래하게 됩니다.
그러므로 이 분야에선 보안과 신뢰성 그리고, 유사한 프로그램들에 대한 안정적인 운영체제가 요구됩니다. 자유 소프트웨어를 사용한다는 것은 모든 지각있는 의사들에게 점점 더 필요사항이 되어가고 있습니다.
사생활이나 자료의 보호, 보안 및 신뢰성등은 Debian-Meds가 추구하는 가장 중요한 목표 중 하나라는 사실은 절대 놀라운 사실이 아닙니다.
프로젝트의 다른 중요한 이슈들은 설치 및 사용의 편리성, 좀 더 쉬운 관리자 모드 입니다.
사용의 편리함은 이 분야에서 환자들을 대하며 일을 하면서 발생하는 에러들과 사용상의 불편함들을 해결해 줍니다. 또한 쉬운 설치와 쉬운 관리자 모드는 지각있는 의사들이 자유 소프트웨어를 사용하기 시작하면서 발생하는 아주 작은 문제점들을 해결해 주는 것입니다. 이러한 자유소프트웨어는 실용적인 자료들을 가지고 의사들을 도와줄 수 있을 것입니다.
현재 Andreas씨와 약 70명 이상의 관심있는 사람들로 구성된 프로젝트는 모든 공통 문제들에 대한 해결법을 찾아내는 것과, 설치를 하면 바로 사용할 수 있게 만드는 방향으로 초점이 맞추어져 있습니다.
중간 단계에서의 전망은 Debian-Med가 의사들에게 실질적인 대체 프로그램이 되는 것과, 데모판 CD를 만드는 데 있습니다.
도움이 가장 필요한 분야는 문서화 및 번역화 부분입니다. 또한, 로고가 아직 만들어 지지 않았습니다. Andreas씨는 이 로고에 대해 데비안 로고와 뱀 그림을 합친 작품에 대해 고려하고 있습니다.
물론, 전체 프로젝트의 허가서 상황은 개개인의 소프트웨어 계약에 따라 결정이 됩니다. 자유소프트웨어는 데비안 자유소프트웨어 안내서를 따르며 앞에서 언급한 허가서를 승인했습니다.
유감스럽게도, 이 프로젝트는 아무런 비용없이 배포가 가능한 독점 소프트웨어를 만들 계획을 가짐으로써, 중장기적인 단계에서 약점을 가지게 될 것입니다. 하지만 충분한 사람들이 오랫동안 생각해왔던 그들의 바램을 표현한다면 저는 이러한 독점화 방향이 이루어 지지 않을 것이라고 확신합니다.
자유 소프트웨어가 의학 분야에서 개발된다는 것은 제가 항상 매우 중요한 것이라고 생각해 왔던 것입니다. 만약 여러분이 스스로가 해낼 수 있는 유용한 프로젝트를 찾는다면, Debian-Med는 아마도 가장 탁월한 선택이 될 것입니다.
Gnumed
Debian-Med 프로젝트에 포함된 프로그램들 중 Gnumed라는 프로그램이 있는데, 이 프로그램은 문서화되어있지 않은 의료 경험을 위한 공식적인 GNU 프로젝트입니다.
이 프로젝트는 2000년 3월에 발생된 건강과 관련된 분야에 대한 독점 소프트웨어의 위험성에 대한 열띤 토론이 일어났던 오스트레일리아에서 시작이 되었습니다. 의사들은 투명하지 않은 알고리즘들에 대한 그들의 의견을 인정하는 것에 대해 거부를 했습니다. 이 토론 중에 Hors Herb씨가 Gnumed라는 작업을 시작했다는 말도 안되는 비판으로 피소를 당했습니다.
첫번째 작업인 1.0 버전이 런던의 MedInfo2001이라는 행사에서 발표가 된 후에, Gnumed에 대한 국제적 관심에 의해 내부 소스알고리즘의 전체적인 재구성이 요구되었습니다. 이 새로운 구성을 하는 작업은 현재 프로젝트 조정자(코디네이터)이신 Horst Herbe씨와 Karsten Hilbert씨의 주 작업을 이루고 있습니다. 현재 이 분들은 17명의 개발자들과 많은 지원자들과 함께 이 작업을 하고 있습니다.
이미 유용하다고 생각되는 최소설치 버전이 완결된 후에, 개발자들은 여러 의견들에 대해 지원을 하는 완전한 의료 솔루션인 Gnumed를 만든다는 목표를 가지고 있습니다.
이러한 목표에 직면하는 현재의 문제점들은 Gnumed가 의약품들에 대한 무료 데이터 베이스가 적다는 점과 다른 의약법에 대한 다른 건강체계들, 상당히 적은 자료 형식들, 전송 표준과 표준화된 메세지 프로토콜들, 그리고, 환자들에 대한 전세계 유일한 신상정보를 만드는 것에 대한 체계의 부족함들이 있습니다.
이 프로젝트에 사용되는 프로그래밍 언어들은 클라이언트쪽에서는 파이썬과 C/C++를 사용하고, 서버쪽에서는 PgSql, C, 파이썬이 사용됩니다. 이 언어들은 모두 가장 중요한 현안이 되고 있는 의존성과 보안성을 갖춘 언어이고, Gnumed 팀의 의견에 의하면 완전히 독점적인 솔루션으로 취급되지 않는 언어들입니다.
한편, Gnumed 팀은 주로 다른 영역에서의 의사들로 이루어져 있습니다. 그들은 무엇을 원하는지 매우 많이 알고 있지만, 어떻게 그것을 적용하는지에 대해서는 모르고 있습니다. 그러므로 더욱 경험을 가진 개발자들의 그 팀에 대한 참여가 필요한 실정입니다.
쉽고 환경친화적이며, 환경설정이 용이한 GUI와, 다른 언어와 다른 건강 체계 대한 지원 및 최종적으로는 운영체제에 대한 독립성을 가진 프로그램인 Gnumed는 GNU 일반 공중 사용허가서를 따르는 자유 소프트웨어로 배포되었습니다.
만약 여러분들이 이 분야에서의 활동을 원하신다면, Gnumed는 여러분을 확실하게 만족시켜줄 수 있는 프로젝트입니다.
OIO
Andrew Ho, Nandalal Gunaratne, Alesander Chelnokov 와 다른 동료들은 "공개 결과 소통 체계(Open Infrastructure for Outcomes, OIO) 를 자료의 이식성이라는 "성배 찾기"라고 부릅니다.
OIO는 GNU 일반 공증 사용허가서 아래에서 자유 소프트웨어로 배포되기 전인 2001년 3월 부터 Harbor-UCLA 의학 센터에서 사용되었습니다. 9월에는 벌써 1000 명이 넘는 환자들의 자료를 OIO가 관리하게 되었고 2002년 2월에는 병원 전체의 정보 시스템으로 OIO가 사용되었습니다. 때문에 일상적인 업무에서 안정성은 이미 증명된 셈입니다.
OIO의 가장 중요한 부분은 OIO 라이브러리와 HTML 브라우저로 접근가능한 서버입니다. 서버는 사용자들과 환자들 그리고 그들에 관한 자료를 관리하는 유연한 웹 기반 자료 관리 시스템입니다. 물론 이것을 고객이나, 청구서, 배달이나 회계등에 적용시켜 사용하는 것도 가능합니다.
OIO 라이브러리는 서버와 사용자간에 플러그 앤 플레이 웹 폼이나 프로젝트 기술과 같은 메타데이터 교환을 가능하게 해주는 메타데이터 보관소입니다.
OIO 사용자는 웹 브라우저를 사용해 폼을 만들거나 수정할 수 있고 이를 자료를 모으는데 바로 사용할 수 있습니다.
최근의 폼은 OIO 라이브러리 같은 메타데이터 저장소에 저장되거나 다른 OIO 서버로 업로드하기 위해 XML 데이터로 내보낼 수 있습니다.
물론 여러 다른 폼들을 하나의 데이터세트로 조합하고 웹을 통해 논리적으로 조작하여 검색/질의하는 것도 가능합니다.
비록 OIO가 실제 쓰이고 있지만, 개발이 끝난 것은 아닙니다. 앞으로의 계획 중 하나는 무선 PDA들의 지원이고 플러그 앤 플레이 프로토콜도 지원될 것입니다. 지금으로써 가장 도움이 되는 것은 더 많은 사용자와 더 많은 피드백 그리고 더 나은 패키징입니다.
최소한 패키징은 Debian-Med가 도울 수 있을 것입니다.
Res Medicinae
Christian Heller 의 Res Medicinae
[4]는 Debian-Med 프로젝트에서 사용되었습니다. Karsten Hilbert와 함께 그는 의학 분야에서 Res Medicinae를 종합 소프트웨어 솔루션으로 만들고 있습니다.
이식성을 극대화 하기 위해 Res Medicinae는 Java(API/Swing, Servlets/JSP, JDBC)로 CORBA/IDL과 SOAP/XML을 사용합니다. 아직 완벽하게 자유 소프트웨어 자바가 구현되지 않았다는 것이 GNU 일반 공증 사용허가 아래에서 배포되는 이 자유 소프트웨어 프로젝트의 가장 큰 문제이고 프로젝트의 자유가 위협하고 있습니다.
하지만 Christian에겐 자유가 Res Medicinae를 시작한 가장 큰 동기였습니다. 그는 매우 비싸고 독점적인 의료 정보 시스템을 극복하고자 했고 혜택받지 못하는 나라들의 사용자도 자유롭고, 안정적이고, 안전하고, 플랫폼에 구애받지 않으면서 확장가능한 시스템을 사용할 수 있게 하고자 하였습니다.
프로젝트는 아직 생겨난지 얼마 되지 않았습니다. 계획에 따르면 2002년 말에 ResMedLib 프레임이 통합될 것이고 2개의 완벽한 모듈의 기본형이 완성될 것입니다. 2003년에는 관리자 모듈, 프린팅 모듈, 그리고 레포트 생성기능이 등장할 것입니다.
다음으로 이미지 처리와 관리-요금처리와 통계 모듈이 더해질 것 입니다. 의사 결정 지원 모듈 뿐 아니라 훈련 모듈이 프로젝트의 마지막이 될 것입니다.
때문에 일상 생활에 프로젝트를 사용하지는 않을 것입니다. 하지만 의학 실력이나 번역, 자바 프로그래밍 혹은 프로젝트 웹 페이지 디자인, 능력을 키우는 데 관심 있는 사람들은 대 환영입니다.
저자들이 알고 있기에 Res Medicinae는 의학 분야에서 단 하나의 자바 기반의 GPL 프로젝트입니다. 그리고 Gnumed 프로젝트에서 언급했던 OpenEMed라는 BSD 라이선스로 배포되는 비슷한 자바 프로젝트와 상호운용성을 위해 협력할 계획을 가지고 있습니다.
건강관련 내용은 여기까지 입니다. 만약 이 영역의 다른 프로젝트가 있다면 다음번 이슈에 포함시키도록 하겠습니다. 다른 프로젝트를 알고 있다면 이메일
[5]을 이용해주세요.
Romance
Romance
[6]는 Bertrand Lamy와 Jean-Baptiste Lamy에 의해서 시작된 프로젝트로 마이크로소프트 닷넷의 실제적인 자유소프트웨어 버전이라고 할 수 있습니다.
Bertrand에 의하면 이 프로젝트를 시작하게 된 동기는 Ximian이 닷넷을 자유롭게 적용할 수 없게 될 것이라는데 기인하고 있습니다. 이는 이미 마이크로소프트에 의해서 공언된 것으로 그들은 소프트웨어의 개방성을 이용하는 모든 자유소프트웨어에 대항해서 싸울 것임을 약속했습니다.
자유롭게 적용 가능한 레퍼런스의 참조 없이 회사에 의해 좌우되는 표준은 회사가 일을 조금 더 진행시키고 나면 항상 문제를 일으킵니다. 자바를 둘러싼 여러 상황들이 이 경우를 정확하게 표현하고 있습니다.
답은 나와 있습니다. 우리는 자유롭게 참조할 수 있는 표준이 필요합니다. 이것이 바로 Romance가 제공해 줄 것으로 보이는 일입니다.
이 프로젝트의 첫번째 파트(그리고 개발의 시작)는 Rose입니다. Rose는 "Romance Object System rosE."의 약자로 서로 다른 프로그래밍 언어 사이에 공유할 수 있는 프로토콜을 제공합니다.
개발의 다음 단계는 WiSE로 "Romance Widget Server."의 약자입니다. 이것은 모든 Romance 애플리케이션들이 Romance 서버를 통해 공유 가능한 그래픽 툴킷을 제공할 수 있게 될 것입니다. WiSE에 채용된 이 패러다임은 모든 위젯(widget)이 다른 애플리케이션들이 아닌 WiSE의 처리과정으로 남도록 합니다. 이는 Romance가 매우 빠르고 간단하게 위젯들을 공유할 수 있도록 해줍니다.
Bertrand와 Jean-Baptiste는 데스크탑 애플리케이션들의 75%가량이 스크립트 언어로 작성되었다고 믿고 있으며 Python, Guild과 C를 우선 지원하는데 집중하고 있습니다. 이들의 계획에 따르면 Rose는 Perl, Ruby, Lisp, Scheme 그리고 다른 동적 언어들을 앞으로 지원할 것이라고 합니다.
Romance를 어떻게 사용할 것인가에 대해서는 많은 예들이 있습니다.
큰 애플리케이션들에서 확장 가능한 말을 정의하는 것은 종종 훌륭한 아이디어로 취급을 받습니다. 하나의 말을 선택하는 대신에 오브젝트들의 그룹을 Romance를 통해서 작성을 하면 이는 애플리케이션이 Romance가 지원하는 어떤 말이든 사용할 수 있게 됩니다.
네트워크 애플리케이션들은 종종 통신 프로토콜을 필요로 하는데 이를 Romance에 의해서 제공받을 수 있습니다. Romance에서 제공하는 프로토콜은 CORBA보다 가벼우며 Java RMI보다 많은 언어를 지원하고 정적이 아닌 동적인 오브텍트를 제공하는 등 Romance를 사용함으로써 얻는 장점은 많이 있습니다.
Romance는 서로 다른 프로그래밍 언어로 작성된 프로그램의 다른 파트들간에 "접착제" 역할을 할 수도 있습니다. 이는 SWIG로 교체할 준비 중에 있습니다. 동적인 프로그래밍 환경을 위해 Romance는 자동으로 모든 "Romantic"언어(† 역자 주: Romance를 지원하는 언어) 에서 인터페이스를 작성할 수 있습니다.
WiSE를 통해서 Romance는 그래픽 사용자 환경을 작성하는데 쓰이는 위젯들을 다른 작업들간에 공유하도록 제공합니다. 이것은 불필요한 그래픽 툴킷을 링크하는 것을 막아주며 사용자들은 Romance를 통해서 모든 애플리케이션들의 룩앤필(look&feel)을 선택할 수 있습니다.
이 모든 기능들을 제공하면서도 Rose는 굉장히 작습니다. 이것은 Python/Scheme로 작성된 500줄 미만의 코드로 구성되어 있습니다.
비록 GNU 일반 공중 사용 허가서를 준수하는 이 프로젝트가 개발자들에게 적절한 프로젝트이기는 하지만 이는 개발자가 아닌 사람들에게도 앞으로 흥미있는 프로젝트가 될 것입니다.
JavaRisk
제 39 호에서 소개했던 Risk 클론들에 이어서 저는 Christian Domsch, Sebastian Kirsch 그리고 Andreas Habel에 의해 진행되고 있는 프로젝트인 JavaRisk를 소개하려 합니다.
JavaRisk는 널리 알려진 보드게임인 Risk의 Java 버전으로 GNU 일반 공중 사용 허가서를 준수하는 독일어 버전의 게임입니다. JavaRisk의 단점이라면 컴퓨터 게임임에도 불구하고 저자가 어떤 네트워크도 지원하지 않으며 인공지능 역시 구현되어 있지 않다는 점입니다.
이 게임은 제 39 호에서 소개되었던 게임인 J-TEG처럼 멋진 그래픽을 지니고 있습니다.
JavaRisk는 실제적으로 학생 프로젝트인데 이는 이 프로젝트의 3명의 저자들이 그들이 교수가 곁에 있어도 게임을 멈추지 않았다는 것을 의미합니다.
그는 이 게임을 접하자마자 좋아하게 되었습니다. 그는 그들의 5번째 학기 학생 프로젝트로 포함시켜 그들의 게임에 인공지능을 구현할 것을 제안했습니다. 또한 그는 아시아의 문화에 호감을 갖고 있었기 때문에 동료들에게 게임상에서 중국이나 일본을 공격하면 사무라이의 동영상이 작게 나타나도록 할 것을 건의했습니다.
현재 Christian, Sebastian, Andreas는 JavaRisk의 새 버전을 작성하느라 대단히 바쁩니다. 이 버전은 전략시물레이션 게임인 Empire와 흡사하게 진행될 것입니다. 물론 JavaRisk의 2번째 버전은 시작단계부터 네트워크 지원을 포함하고 있습니다.
이맥스 체스
제 39 호에 대한 반응으로 Mario Lang은 저에게 메일을 보내서 John Wiegley에 의해 진행되고 있는 프로젝트인 이맥스 체스
[7]에 대한 기사를 쓸 것을 건의했습니다.
이맥스 체스는 3개의 중요한 부분으로 이루어져 있습니다. 첫 번째 부분은 디스플레이와 프로그램의 외관을 구성하는 부분으로 이맥스에 포함된 다른 보드게임들과 호환 가능합니다. 두 번째 부분은 GNU 체스나 Crafty 와 같은 다른 체스 엔진들과 호환되도록 하는 부분입니다. 그리고 세 번재 부분은 등급과 게임들에 대한 라이브러리로 게임 데이터베이스 관리 기능까지 포함하고 있습니다.
이맥스 체스의 굉장히 멋진 기능들 중에 에맥스 IRC (ERC) 클라이언트를 지원하는 기능이 있습니다. 이 기능 덕에 사람들은 게임을 하면서 다른 사람들과 IRC를 통해서 대화를 나눌 수 있습니다.
IRC 체스 프로토콜은 CTCP에 기반을 두고 있기 때문에 조만간 다른 클라이언트들에서도 호환되는 기능으로 추가될 수 있습니다.
이맥스가 콘솔에서도 동작하기 때문에 이맥스 체스는 "기사를 a4로 이동(knight takes a4)" 과 같은 식으로 명령해서 말을 움직이기를 원하는 사용자들에게 멋진 환경을 제공합니다. 하지만 물론 그렇지 않고 비주얼한 환경을 원하는 사람들에게도 이런 기능을 제공합니다.
이맥스를 사용하지 않는 사람들이 이맥스 체스를 하기 위해 이맥스를 사용하지는 않겠지만 이맥스에 친숙한 사람들에게는 꽤 해볼만한 게임일 것입니다.
이맥스 체스는 이맥스-리스프(Emacs-Lisp)로 작성되었으며 베타 테스트 때부터 GNU 일반 공중 사용 허가서를 준수합니다.
마치며
이번달의 멋진 GNU 세상을 마칩니다. 흥미있는 프로젝트들에 대한 소개나 아이디어, 의견들은 언제든지 환영합니다. 아래의 주소
[5]로 보내주시기 바랍니다.
참고 문헌 및 사이트 정보
각주
[1] Debian-Med 홈페이지:
http://www.debian.org/devel/debian-med/index.en.html
[2] 멋진 GNU 세상 제 23 호:
http://brave-gnu-world.org/issue-23.en.html
[3] Debian-Jr. 홈페이지:
http://www.debian.org/devel/debian-jr/index.de.html
[4] Res Medicinae 홈페이지:
http://resmedicinae.sourceforge.net
[5] Brave GNU World에 대한 질문이나 의견 제안 주소:
column@brave-gnu-world.org
[6] Romance 홈페이지:
http://savannah.gnu.org/projects/romance/
[7] Emacs Chess 홈페이지:
http://emacs-chess.sourceforge.net
Copyright ⓒ 1999, 2000, 2001, 2002 Georg C. F. Greve
본 기사는 멋진 GNU 세상에서 발췌한 기사입니다.