Subscribe to the Free Software Supporter — the monthly update from the Free Software Foundation
 [image of a Brave GNU World]
멋진 GNU 세상 - 제 49 호
Copyright © 2003 Georg C. F. Greve <greve@gnu.org>
한국어 번역 멋진 GNU 세상 한국어팀 <xenus@gnu.org>
저작권 관련 사항은 아래부분에 명시되어 있습니다.

[DE | EN FR | JA | ES | KO | PT]

멋진 GNU 세상 을 찾아주신 것을 환영합니다. 저는 지난달에 칼럼이 릴리즈 되지 못한 것에 대해 진심으로 사과합니다. 독일의 Linux-Magazin과 멋진 GNU 세상 사이에 멋진 GNU 세상 48 호의 기사중 일부를 잘라낸 것으로 인해 문제가 있었습니다.

이 일은 좀 좋지 못한 문제를 이끌어 냈었습니다. 앞으로는 절대로 이런일이 있어서는 안되겠습니다.

Skidbladnir<마법배>

이번호의 첫번째 이야기는 Skidbladnir [6] 프로젝트입니다. 이것은 몇몇 사람들에게 단어의 직접적인 의미처럼 동시에 이상하게 생각하는 이름일 수도 있습니다. 개발자인 Lars Brand씨는 이 프로젝트를 "컴퓨터를 돕는 새로운 기술에 대한 정보와 프로그램을 가지고 있는 도구상자"라고 설명합니다.

이 프로젝트의 배경은 아마도 잘 알려지지 않았을 것입니다. 하지만 대부분의 독자들이 관심이 있듯이, Lars 씨가 그것을 지원하기 때문에, 이 프로젝트가 해체되지는 않을 것 입니다.

Skidbladnir의 과학적 배경은 "창조적 문제 해결 이론"으로 알려져 있습니다. 약자로는 영어권에서는 TIPS, 독일어, 러시아어권에서는 TRIZ로 알려져 있습니다. 이 이론은 1946년에 그 당시에 군대에서 특허 기술관이었던 Altschuller교수가 발표를 했습니다.

Altschuller 교수가 Stalin에게 이 이론의 초안에 대해 제안하는 편지를 보냈을 때, 그는 바로 감옥에 가게 되었고, 의심스러운 주제라는 점때문에 캠프로 수송되었습니다. 그 가 감옥에 있는 동안 그는 다른 과학분야에 있는 매우 많은 교수들을 만났고, 그 사람들은 그가 많은 다른 군법에 대한 지식을 취합하는데 도움을 주었습니다.

그의 60대후반쯤부터 70대 중반까지 바라지 않았던 감옥살이를 하게 되었던 군대를 전역을 하면서, 그는 그의 과학적 업적에 대해 기금을 모으기 위해 과학 소설(SF 소설)로써 그의 결과를 출판하기 시작했습니다. — G. S. Altow 를 보면 : Der Hafen Der steinernen Stürme" ("정지된 폭풍의 정박지"). (주석: 저는 이 책이 영어로 어떻게 불려지는지에 대해 혹은, 영어로 어떻게 번역이 되었는지 전혀 찾을 수가 없었습니다. 도움을 주시면 감사하겠습니다.)

TIPS 이론은, 과학분야에서의 규율이나 산업분야에서, 독립적이고 추상적인 문제들과 그것들에 대한 해결책들이 항상 반복되어서 사용된다는 원리에 기반을 둡니다. 약 40,000개의 특이한 성공적인 특허들을 분석해볼때, 이것들 모두가 개략적으로 단지 40개의 다른 해결 원리에 기본을 둔다는 것을 발견할 수 있었습니다.

이 이론의 또다른 기본 원리는 기술시스템의 발전이 특정한 경향을 따르고 있으며 그 중요한 혁신은 종종 다른 분야에서의 과학적 결과의 유입을 필요로 한다는 것입니다.

이 것이 의미하는 것은 문제 해결 전략의 추상화(틀)를 만들 수 있다는 것인데; 자주 사용되는 예는: "각 변의 길이가 1m인 무거운 강철 상자는 크레인이나, 밧줄 또는 그와 유 사한 도구들을 사용하지 않고도 깊은 창고에 옮길 수 있다. 상자는 절대로 던져져서는 안된다. 10분안에 3가지의 적절한 해답을 제시하시오."라는 문제가 있습니다.

이 것을 풀기위한 가장 잘 알려진 소프트웨어관련 프로젝트는 아마도 TechOptimizer일 것입니다. 이것은 — 이 분야의 모든 다른 응용프로그램들과 마찬가지로 — 독 점권을 가지고 있고 매우 높은 가격입니다.

Skidbladnir는 현재 이 역할을 자유 소프트웨어로써 제공하고자 하고 있습니다. 설치도구를 포함해서, 이 프로젝트는 기술적인 모순들을 해결하기 위한 기본적인 원리를 포함 하는 andax와, 웹-브레인스토밍(회의에서 여러가지 의견을 내 놓고 최선책을 결정하는 일)에 대한, 250개의 사용가능한 효과들이 있는 perplexus로 구성이 되어 있습니다.

아직까지는 이 프로젝트 자체로는 완벽하지 않고, 또한 편리하지 못합니다. 뿐만 아니라 효과 데이터베이스가 Lars씨가 하고자 했던것처럼 그리 크지는 않습니다. —특히 매우 효율적인 연결을 허용하는 효과들간의 네트워킹이 확장되어야 합니다.

다음의 사항들이 이것에 대한 매우 간단한 예를 제공합니다: 1. 발광물질은 자외선을 가시광선으로 바꾸어 줍니다; 2. finite ground/spread 메탈은 발광효과를 방해합니다; 3. 엔진의 움직이는 부분이 고장나기전에 메탈의 작은 부분이 그 오일에 들어가 버립니다. 이 세가지 사실을 합치면 매우 쉽게 오일에 발광물질을 추가하는것이, 오일안에서의 발광 물질 기계를 멈추기 때문에, 기계가 고장나기 전에 언제 그것의 특정한 부분을 교체해야 하는지를 결정하는 것이 가능하다는 아이디어가 나오게 됩니다.

실제 상황들은 종종 훨씬 더 복잡하기도 하고, 큰 효과 데이터베이스가 필요하게 됩니다. 이 데이터베이스는, 지루하고 일에대해서는 철저한, 기술적인 문헌과 결합이 되어 있 어야만 합니다.

Skidbladnir는 Perl, PHP, MySQL로 작성이 되었고 GNU 공중 사용허가서를 따르고 있습니다. 독점 프로젝트들과 비교한다면, Skidbladnir는 비교적 적은 효과를 가지고 있습니다 . 하지만, 이미 소프트웨어 효과들은 포함을 하고 있습니다; 아마도 이 분야에서는 처음일 것입니다.

여러분의 도움은 어떤 형태로든지 환영합니다; 특별히 피드백을 주고자 하는 개발자들과 사용자들이 필요합니다. 또한 효과와, 실생활 문제들로의 접근과 관련된 더 많은 데이 터들을 주시면 매우 감사할 것입니다.

긴 기간동안의 중간쯤에, Lars씨는 자유소프트웨어가 이 분야에서 예외적으로 성공적일 것이라고 확신을 했습니다. 왜냐하면, TIPS와 자유소프트웨어 모두 지식을 보존하고 그 것을 사용가능하게 하는 동일한 아이디어를 기반으로 하기 때문입니다.

이 생각과 방법을 모든 사람들에게 유용하게 만드는 것은 백과사전과 매우 유사하게 지원의 가치면에서, 매우 중요한 프로젝트인것 같습니다.

부가적인 효과로써, 이 프로젝트는 이 분야에서 시장 장벽을 감소시킵니다. 왜냐하면 많은 실력있는 사용자들이 독점 솔루션을 사용할 수가 없기 때문에, 이 프로젝트가 기술분 야를 다시 부흥시키는데 도움을 줄 수 있습니다.

이 분야와 관련된 사람들과 관심이 있는 사람들 누구나 둘러보는 것을 추천합니다. 또한, 배경에 대한 좀 더 많은 정보는 웹에 올려 있습니다. [7]

Lush

이번 호의 두번째 프로젝트는 더욱 과학적 용도로 만들어졌긴 하지만 용도가 제한적이진 않습니다. Lush [8] 는 큰 수나 그래픽을 많이 사용하는 과학자, 실험가 및 기술자들을 위해 만들어진 객체 지향 프로그래밍 언어 입니다.

Lush 의 설계에 있어서, 세가지 각각 다른 프로그래밍 언어의 강점을 결합하 고자 했습니다. 사실 Lush 는 세가지 프로그래밍 언어를 하나로 만들었습니다. 첫째는 동적 인터프리터로 자동적인 자투리 모으기와 유연한 자료형을 가진 유사 LISP 언어입니다. 두번째는 lexical, 컴파일 언어로, 문법은 같지만 유연한 자료형은 지원하지 않습니다. 그리고 세번째는 C 언어로, Lush 문법과 섞여 쓰이거나 하나의 함수로 쓰일 수도 있습니다.

Lush 는 1987 년부터 개발되어 왔습니다. 처음에는 "SN" 이란 이름의 신경망의 시뮬레이션을 위한 스크립트 언어였으나 — 시간이 지나 — 컴파일러를 갖춘 완전한 프로그래밍 언어로 개발되었습니다. 이 개발에 있어서의 주역은 미국 뉴저지주 Holmdel 의 Bell 연구소 (앞으로는 "AT&T 연구소"), 프랑스 파리의 Neuristique S.A., 그리고 미국 뉴져지주 프린스턴의 NEC 연구소입니다.

그 후 Lush/SN 은 AT&T 의 내부 연구 및 개발 프로젝트를 위해 몇년간 사용되었고, 참여자들은 결국 GNU 일반 공증 사용 허가서 (GPL) 에 의해 배포하고, Lush 를 자유 소프트웨어로 하는데 동의하기에 이릅니다.

현재 프로젝트는, 멋진 GNU 세상의 질문에 답해준, Yann LeCun 과 Fu Jie Hang, Patrice Simard, Patrick Haffner, Yoshua Bengio, Pascal Vincent, Jean Bourrelly, Xavier Drancourt 및 Secil Ugurel, 등과 같이 전 세계의 자원자들로 부터 쏟아지는 지원을 담당하는, "미국 NEC 연구소" 의 Leon Bottou 에 의해 관리되고 있습니다. 자원 신청은 언제든 환영합니다.

Lush 는, 처음엔 과학자, 연구자 및 학생들을 위한 Matlab-대체용 자유 소프트웨어로 개발되었지만, 모든 용도의 언어로 사용될 수 있습니다. C와의 쉬운 통합 덕분에 Lush 는 스트립트 및 편리한 GUI 응용 프로그램의 분산된 기능체들의 통합에 있어 좋은 선택입니다.

Lush 의 통합성은, GNU 과학 라이브러리 (GSL; 이슈 #35 [9] 참조), OpenGL/GLU/GLUT, ALSA, Video4Linux 및 Intel Vision Library 등과 같은, 기존의 라이브러리들과의 통합을 굉장히 쉽게 합니다.

GSL 을 지원하는 데에 있어 Lush 와 Python 을 비교해 보면, Lush 가 약 4000 여개의 함수들을 지원하는데에 비해 Python 은 현재 수백개 정도만 지원하고 있을 뿐입니다. Lush 의 문법은 Perl 의 그것보다는 쉽고 Scheme 보다 배우기 쉽습니다. 그리고 Octave 나 Matlab 과 비교해 본다면, Lush 가 상황에 따라 15배에서 300배정도 빠릅니다.

이런 장점들이 Lush 를 흥미롭고 가치있게 만드는 것 같습니다. Lush 는 이미, Lush 홈페이지에서 찾아 볼 수 있는 간단한 달 착륙선 화면보호기와 같은, 게임에 사용되고 있습니다.

Lush 는 C 로 만들어졌으며, GNU/Linux, Solaris, Irix 그리고 OpenBSD 에서 동작했으나, 2003년 2월부터 Cygwin 에서 사용가능합니다.

프로젝트의 문제점 중 하나는 컴파일러의 디자인이 10년 이상 된 것이라 몇가지 이상하고 유연하지 못 한 부분이 있습니다. 그래서 컴파일러 개정작업이 프로젝트의 할일 목록에 들어가 있습니다.

또한 할일 목록에는 문서화 시스템에 대한 개선과 좀 더 많은 라이브러리에 대한 지원이 포함되어 있습니다. Lush 에 템플릿 장치를 추가하는 것 역시 중기적인 계획에 포함되어 있습니다.

추가적으로, Mac OS-X 로의 포팅에 자원자들이 노력하고 있습니다. Lush 에 자동적으로 포함될 수 있도록, C/C++ 헤더 파일의 자동화된 파서 에 대한 프로젝트 역시 유용할 것입니다.

만약 여러분이 미국에 살고 있다면, Lush 와 간접적으로 만났을 수도 있습니다. NCR 의 몇몇 ATM 들은, 자동적으로 예치된 수표를 읽는 DSP 프로세서 코드를, Lush 가 만들어낸 코드로 사용합니다. 고속도로 수표를 읽는 엔진이 Lush 로 만들어졌으며, 미국의 수표중 10%정도가 이를 통해 거래됩니다.

jMax

멋진 GNU 세상의 지속적인 구독자라면 알고 있겠지만, 자유 소프트웨어 재단 유럽 지부는 AGNULA 프로젝트 [10] 의 파트너입니다. 이 프로젝트는 전문적인 오디오 사용자들을 위한 완벽한 자유 소프트웨어 GNU/리눅스 배포판 을 만드는 것을 목표로 하고 있습니다.

AGNULA 프로젝트의 또다른 파트너는 "Institut de Recherche et Coordination Acoustique/Musique" (IRCAM) — 인데, 프랑스 파리에 있는 퐁피두 예술 문화 센터의 음악 센터입니다. IRCAM 에서 작성한 애플리케이션중의 하나는 jMax 인데, [11] 인터랙티브한 멀티미디어 어플리케이션을 위한 그래피컬한 개발 환경입니다.

오디오 어플리케이션들은 특정 하드웨어를 위해 작성되었고 따라서 매우 플랫폼에 종속적이라는 전통적인 문제점이 있습니다. 하드웨어의 급속한 발전으로 인해, 프로그램은 매 3년마다 새로운 플랫폼을 위해 새로 작성되어야 했고, 그렇지 않으면 이러한 프로그램용으로 작성된 음악은 손실될 위기에 놓여 있었습니다.

이것이 특정 플랫폼에 구속되지 않는 순수한 소프트웨어 솔루션의 개발 동기가 되었습니다.

jMax 에도 영향을 준 이 패러다임은 주파수 생성기, 신호 필터, 이펙터, 입출력 모듈, 슬라이더, DSP, 각각의 앰프와 같은 기본적인 요소들을 합치게 만들고 그것들을 소위 "패치"라 불리는 것으로 합치는 것을 가능케 합니다.

이러한 패치들은 각 컴포넌트를 통합하며 매우 복잡한 구조물로 결합될 수 있고, 어떠한 종류와 유형의 디지털 신호 처리, 이펙트 혹은 신디사이저 라도 구현하는 것을 일반적으로 가능하게 합니다.

뮤지션들 사이에 어느정도 잘 알려진 이 패러다임이 구현된 것 중의 하나는 독점 소프트웨어인 "Max" 입니다. 1995년에 jMax 는 Max 의 플랫폼 독립적인 버전을 만들려는 의도로 시작되었습니다. 1999년 중반에 jMax 는 GNU 일반 공중 사용 허가서를 따르는 자유 소프트웨어로 발표되었습니다.

프로젝트에 참여중인 IRCAM jMAX 팀은 Fran?is D?helle 와 Patrice Tisserand 를 주축으로 구성되어 있습니다. Fran?is는 멋진 GNU 세상의 표준 질문들을 채워넣기도 했는데, jMax 의 주요 장점을 주로 그것의 플랫폼 독립성 — GNU/리눅스, Mac OS X 그리고 윈도우즈에서 작동합니다 — 과 이 패러다임을 구현한 Max 나 PD 와 같은 다른 것과 비교해서 높은 유연성을 가지고 있는 것이라고 생각합니다.

주요 장점중의 하나는 역시 jMax 가 두개의 컴포턴트로 구성된다는 점입니다. 중앙 컴포넌트는 서버이고, C 로 작성된 실시간 엔진이며, 모든 작업을 처리합니다. 이것은 GUI 를 이용하여 엔진을 실행하고 대체 GUI 를 작성하거나 플러그인 환경(LADSPA) 에 엔진을 통합하는 것을 가능케 합니다.

보통, 이 서버는 자바로 작성된 클라이언트를 통해서 제어됩니다. 자바는 가능한 많은 플랫폼에서 최소한의 문제점만을 보이며 클라이언트가 실행될 수 있도록 하기 위해 석택되었습니다. 불행히도 자바의 상황은 자유 소프트웨어에는 문제가 있습니다.

Java 의존성

Java의 문제는 그것의 기술적인 내용이나 완성에 있지 않습니다. 비록 몇몇 사람들이 그것들에대해 다른 의견을 가지고 있긴 하지만, 그러한 문제들은 자유소프트웨어측면에서 의 문제를 일으키지 않습니다.

문제의 원인은 Java 그 자체가 어떻게 개발이 되고 배포가 되는지에 있습니다. 본질적으로 널리 퍼져있는 Java 언어가 두개밖에 없기 때문에, 그 둘 모두 독점적입니다:하나는 Sum이 개발하는 것이고, 다른 하나는 IBM이 개발하는 것입니다. 비록 이것들이 허가 비용없이 배포가 된다 하더라도, 그들은 그것들을 자유소프트웨어로 만드는데 필요한 자유들을 제공하지 않을 것입니다.

결과적으로 이 플랫폼들에서 동작하는 모든 응용프로그램들이 — 심지어는 자유소프트웨어 허가서를 따르는 소프트웨어들조차 — 사용자의 자유를 위험에 빠지게 합 니다. Windows에서 동작하는 자유소프트웨어와 다를바 없는 상황인 것 입니다.

자유 소프트웨어에서 Java를 완전히 사용가능하게 하기 위한 몇몇 시도들과 시작들이 있습니다("GNU 와 Java 언어"를 보십시오.[12]). 하지만 지배적인 참조 사용은 독점이기 때문에, 자유 프로젝트들은 항상 자바의 현재 버전이 바뀔때마다, 다시 작성을 해야할 필요가 생기게 됩니다.

그리 많지 않은 개발자들이 절대 이길 수 없는 그러한 편중된 경주에 참가하는 것을 좋아할 것입니다. 자유 소프트웨어는 불리한 입장에 놓여지게 되고, 따라서 더 작은 정도의 기능만을 제공하게 됩니다.

Java 응용프로그램의 개발자들이 독점 Java 프로그램들의 더 개선된 기능들을 사용할때, 이것들은 보통 자유소프트웨어 자바 프로그램으로 더이상 돌아갈 수 없고, 결과적으로 독점 플랫폼상에서 의존적이게 됩니다.어떤 자유 소프트 웨어 운영체제에서 사용될 수 없는, Windows 에서만 동작하는, 자유소프트웨어와 전혀 달라져 버린 소프트웨어인 상황입니 다.

이것이 정확하게 jMax client의 문제입니다. 그리고 독점 소프트웨어를 AGNULA에 추가하는 것은 모든 파트너들에게 질문 밖의 이야기 이기때문에, AGNULA는 아마도 완전히 작동 하는 GUI를 가지고 있는 jMax를 포함할 수 없게 될 것입니다.

pyMax

결국 대안들이 당분간은 문제들을 매우 희망적으로 해결해줄 것으로 보이지 않았기 때문에 — 보다 많은 정보는 FSF 유럽 홈페이지 [13] 에서 보실 수 있습니다 — 이제는 자바쪽을 완전히 정리하고 클라이언트를 파이썬으로 다시 작성하기로 했습니다.

파이썬을 선택한 것은 자바에 비교될 수 있는 플랫폼 독립성과 (자연스럽게) 완전한 자유 소프트웨어가 되어가는 동안 빠른 속도의 개발을 가능한 것에 영향을 받았습니다.

하지만 IRCAM 이 그 클라이언트를 조만간 작성할 수 있을지는 확실하지 않습니다. 그래서 IRCAM에서는 jMax 용 파이썬 클라이언트를 작성하는 것을 도와줄 지원자를 찾고 있습니다.

Franois에 따르면, IRCAM 은 큰 약속은 할 수 없지만, 파이썬 클라이언트를 작성하는 사람에 대해서는 우선적으로 지원하고 근무중인 날에는 24시간안에 응답을 해주기를 보장하고 있습니다. 만약 이것에 관심이 있다면, jMax 개발자 메일링 리스트 [14] 를 살펴보세요.

Enough for now

이번달의 멋진 GNU 세상 은 여기까지 입니다. 흥미있는 프로젝트가 있다면 제게 알려주시기 바랍니다. 종종 칼럼의 독자들에 의해서 멋진 제안이 이루어 지곤 하는데 Stefan Kamphausen의 Lush 나 멋진 GNU 세상 로고 등이 그것들입니다.

언제나와 같이 이러한 제안이나 질문, 의견등은 메일주소[1] 를 통해서 보내주시기 바랍니다.

Info
[1] 질문이나 의견제안 Brave GNU World <column@brave-gnu-world.org>
[2] GNU 프로젝트 홈페이지 http://www.gnu.org/
[3] 게오르그의 멋진 GNU 세상 홈페이지 http://brave-gnu-world.org
[4] "We run GNU" initiative http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] 멋진 GNU 세상 제 48 호 http://brave-gnu-world.org/issue-48.en.html
[6] Skidbladnir 홈페이지 http://mitglied.lycos.de/altow/
[7] TRIZ online (German) http://www.triz-online.de
[8] Lush 홈페이지 http://lush.sf.net
[9] Brave GNU World issue #35 http://brave-gnu-world.org/issue-35.en.html
[10] AGNULA 홈페이지 http://www.agnula.org
[11] jMax 홈페이지 http://www.ircam.fr/jmax/
[12] GNU and Java 홈페이지 http://www.gnu.org/software/java/
[13] AGNULA Java issues http://fsfeurope.org/projects/agnula/java.html
[14] jMax developer mailing list http://listes.ircam.fr/wws/info/jmax

[ 이전호 | 멋진 GNU 세상 홈페이지 | 다음호 ]

GNU 홈페이지의 메인 화면으로 돌아갑니다.

자유 소프트웨서 재단과 GNU 프로젝트에 대한 질문은 gnu@gnu.org로 보내주십시오.
그밖의 연락 방법에 대해서는 연락처 안내 부분을 참고하시기 바랍니다.

게오르그의 멋진 GNU 세상에 대한 의견은 영어 또는 독일어로 column@gnu.org 앞으로,
홈페이지 자체에 대한 질문은 webmasters@gnu.org로,
기타 질문은 gnu@gnu.org로 보내주십시오.

Copyright (C) 2003 Georg C. F. Greve
한국어 번역: 멋진 GNU 세상 한국어팀

저작권에 대한 본 사항이 명시되는 한, 어떠한 정보 매체에 의한 본문의 전재나 발췌도 무상으로 허용됩니다.

Last modified: Fri May 2 11:51:34 CEST 2003