다음 이전 차례

3. 프로그래머를 위한 운영체계

리눅스에 응용 프로그램이 적은 것은 아니다. 그리고 핵심적인 응용 프로그램들은 이미 모두 나와 있으며 그리고 지금 현재에도 끊임없이 쏟아져 나오고 있는중이다. 선뜻 초보자들이 리눅스를 설치하고 나서 활용하기 어려워하는 것은 윈도95와 같은 운영체계용으로 쏟아져 나오는 장난감 같은 프로그램들이 없기 때문이다. 실제로 컴퓨터를 어느 분야에 얼마나 효율적으로 사용하고 있는가? 라는 질문에 똑똑히 이렇다라고 답변하기 힘든 경우가 많다. 게다가 홈 PC라는 개념은 이미 컴퓨터를 전문 기계가 아닌 오락 기계 정도로 생각하게끔 만들었으며 사실 유희적인 요소가 이제는 중요한 요소로 자리잡게 되었다는 것은 분명한 사실이다. 이런 부분들이 리눅스의 취약한 점이라고 말하고 있다. 하지만 이것은 가정 자체가 틀렸기 때문에 어떠한 답변도 초보자들을 만족시켜주지는 못한다. 리눅스는 어떤 회사나 단체에서 만들어서 판매하고 라이선스를 걸어놓은 운영체계가 아니다. 사실 리눅스로부터 여러분은 상업적인 수준의 서비스를 기대할 수는 없다. 어떤 운영체계 회사에서 어떤 버그가 있다면 그리고 그것에 의해서 손해를 보았다면 그 회사에게 손해배상을 청구할 수 있을 것이다. 그리고 내 돈 주고 구입한 것이므로 충분한 기술적 지원과 프로그램의 수준 향상을 요구할 수 있다. 반면에 리눅스에서는 그러한 과정이 없다. 사용자 자신이 개발자, 프로그래머인 운영체계이다. 여러분이 인터네트 접속을 할 수 있고 뉴스그룹에 참여할 수 있다면 얼마든지 그들과 민주적인 토론을 벌일 수 있다. 프로그램에 하자가 있다고 생각하면 얼마든지 고쳐서( 하지만 당연히 개발중인 저자에게 연락하는 것이 기본 절차이다 ) 다시 공동체로 환원하다. 이렇게 사용자 자신이 개발자이며 주인인 운영체계가 리눅스이다. 이러한 리눅스는 프로그래머들을 위한 훌륭한 환경을 만들어주고 있다. 아직은 개발을 위한 운영체계라고 하는 것이 좋다고 본다.

실생활에 활용할 만한 기본적인 프로그램들은 이미 다 갖추어놓고 있다. minicom이나 세연을 통해서 통신을 할 수 있고( 나우누리에서 만든 나우로라는 통신 프로그램이 돌아가길 바란다면 실망스럽겠지만 ) 얼마든지 자료를 주고받을 수 있다. 기본 그림 그리기 기능은 xpaint나 gimp같은 것을 사용하면 되고 책을 만들고 싶을 때는 또는 남들과는 비교가 안되게 훌륭한 보고서를 만들고 싶을 때는 TeX을 사용하면 된다. 기본 편집기로는 vi , 이맥스 등을 꼽을 수 있고 그래픽 환경을 원한다면 X 윈도가 있다. 아쉬운 점이라면 자유로운 한글 워드프로세서가 없다는 것을 하나 지적할 수 있는데 이것은 이미 한글과 컴퓨터 사에서 HWP/X 라는 이름으로 유닉스/리눅스용이 이미 10여만원 선에서 판매가 되고 있다. 따라서 도스나 윈도95에서 구입하듯 구입해서 사용하면 된다. 하지만 분명히 할 것은 리눅스 자체는 자유롭게 배포 가능하지만 HWP/X는 그렇지 않다는 것이다. 어떤 사람은 이상하게 생각할 지 모르지만 리눅스에서 돌아간다고 해서 모두 무료여야 하다는 조항은 없다. 인터네트 기능은 많은 사람들을 충분히 만족시켜주는 기능으로서 충분히 지원되는 소프트웨어는 아니지만 네스케이프사에 의해서 현재 3.0까지 리눅스용 모질라가 나와있고 직접 네스케이프사 ftp 사이트를 방문하면 얻을 수 있다. 플러그인 프로그램들이 턱없이 부족하기 해도 리얼오디오사의 경우에는 현재 2.0까지 리눅스용을 만들어서 무료로 배포하고 있고 XING 사에 가보면 StreamWork 와 같은 것을 리눅스용으로 또한 구할 수 있다. 그 나머지는 거의 다 리눅스 배포판에 내장되어 있어서 불편함을 느끼지 못할 것이다. 아쉬운 것이 하나 있다면 인터네트 폰과 같은 것이 아직 없다는 것이라고 할까?

네트워크 서버를 운영하려는 사람에게 있어서 리눅스는 가난한 네트워크 서버 운영자에게 희소식이다. 상용서버와 성능 차이가 없는, 아니 더욱 훌륭한 서버들이 리눅스 네트워크 환경에서 운영되며 도스나 윈도95 의 클라이언트에 대한 서버 역할을 충분히 해내기 때문이다. 이런 면에서 있어서는 정말 강한 모습을 보여준다. 관리자가 리눅스 또는 유닉스에 대한 기본 지식만 가지고 있다면 레드햇이나 칼데라와 같은 상용 리눅스 배포판을 구입해서 사용하면 몇 가지 세팅만으로 네트워크 서비스 에 투입될 수 있다. 만약 완벽한 DB 시스템을 원한다면 포스트그래스95와 같이 개념 좋고 충분한 성능을 가진 데이터 베이스 서버와 함께 웹을 구축하면 될 것이다( 현재 제작팀의 일원인 엠브리오 유형목씨가 몇 회의 연재를 하고 있다).

여러분이 리눅스로부터 혜택을 받은 것이 많겠지만 리눅스는 항상 여러분에게 바란다. 프로그래머가 아니라면 최소한 성의 있는 버그 리포트라도 해주는 것을 바란다. 여러분이 프로그래머라면 동참해주길 언제나 바라고 있다.

3.1 개발 툴이 부족하다?

만약 비주얼 툴을 찾는다면 그렇다. 하지만 없는 것은 아니다. 단지 비주얼 툴은 현재 외국에 주문 신청을 해야만 구할 수 있다. 현재 우리나라에서 불법적인 상호 복사로 여러 비주얼 툴들을 가지고 있는 것 아닌가? 하지만 비주얼 툴이 없어서 제대로 프로그래밍을 못할 것이라는 섣부른 추측은 금물이다. 그렇게 말한다면 항의하는 리눅서들이 얼마든지 있다. 도스나 윈도95에서는 쓸데없이 자기 스스로 구현해야 할 것이 많지만 리눅스에는 GNU 소프트웨어들과 다양한 라이브러리들이 있다. 그 라이브러리들은 아주 방대하고 여러분이 찾기만 원한다면 여러분의 자질구레한 아니 어떻게 보면 핵심적인 업무라고 할 수 있는 기능들을 제공하는 함수들을 쉽게 찾을 수 있다. 보통 선사이트(sunsite.unc.edu)와 같은 곳에 가서 /pub/gnu 디렉토리에 가보면 아주 다양한 GNU 라이브러리들을 만날 수 있다.

각 라이브러리에 대한 문서들은 아직 영문이긴 하지만 텍스트, 하이퍼 텍스트, 포스트스크립트 문서 등으로 쉽게 구할 수 있으며 대부분 200장내지 300장이 넘어가는 아주 자세한 설명이 들어있다. 여러분이 이맥스와 같은 에디터를 사용한다면 얼마든지 관련 정보를 그 즉시 살펴볼 수 있다. 간단하게 C 라이브러리와 같은 것은 터미널에서 man 명령으로 자세한 프로토타입과 설명을 얻을 수 있다.

3.2 POSIX 규격의 운영체계

리눅스는 그 어느 누구보다도 다양한 유닉스들 사이의 약속이라고 할수 있는 POSIX 규격을 제일 먼저 실천에 옮기고 있는 장본인이다. 여러분이 리눅스에서 프로그램을 만들면 혹시나 다른 곳에서 안 돌아가지 않을까 하고 고민할 수도 있을 것이다. 여러분이 POSIX 규격만 따라주면 얼마든지 다른 유닉스 시스템에서 수정 없이 컴파일되어 돌아간다. 특히 여러분의 X 윈도 프로그램은 표준적이므로 집에서도 얼마든지 워크스테이션용을 개발하기 편하다. 그리고 깔끔하면서 개발기간이 적게 걸리는 인터페이스를 원한다면, 수많은 위젯세트들이 나와 있으므로 그 것을 구해보면 된다. 반은 상용이면서도 라이브러리와 매뉴얼이 500 페이지로 완벽히 제공되는 xforms 라이브러리, 최근 급속도로 성장하는 Qt 위젯세트, 그리고 아쉬운 대로 모티프(Motif)와 같은 인터페이스를 만들어 줄 수 있는 Xaw3d, 그리고 여러분이 집에서 모티프 프로그래밍을 원할 때는 모티프 2.0은 안되더라도 모티프 1.2 호환의 공개 라이브 러리 lesstif를 구해서 컴파일해 놓으면 비싼 모티프 라이브러리를 당장에 구입하지 않더라도 충분히 혼자서 집에 있는 PC로 공부를 할 수 있다.


다음 이전 차례