GNU 체제의 역사

GNU(그-뉴) 프로젝트는 “GNU”(Gnu is Not Unix - 'GNU는 유닉스가 아니다'라는 뜻의 재귀적 약어)라고 불리는 유닉스 호환 자유 소프트웨어들을 개발해 왔습니다. GNU 프로젝트에 대한 최초의 문서로는 본 프로젝트의 창립자인 리차드 스톨만GNU 선언문이 있으며, 다른 언어로 옮겨진 번역문으로도 참고할 수 있습니다. 또한, 1983년에 쓰여진 발기문도 참고할 수 있습니다.

우리가 사용하는 '자유'의 의미는 금전적인 측면의 자유가 아닌 구속되지 않는다는 관점에서의 자유를 의미합니다. 따라서 GNU 소프트웨어를 사용하기 위해서 지불된 비용의 유무에 상관없이 일단 소프트웨어를 입수한 뒤에는 다음과 같은 네가지 종류의 자유가 실질적으로 보장됩니다.  프로그램을 원하 어떠한 목적으로도 실행할 수 있는 자유,  프로그램을 복제(copying)하고 친구나 동료와 함께 이를 공유할 수 있는 자유,  소스 코드를 원용해서 이를 개작(modification)할 수 있는 자유,  개작된 프로그램을 배포(distribution)할 수 있는 자유.  이러한 자유의 보장은 결국 공동체 전체의 발전에 기여하게 될 것입니다. (GNU 소프트웨어를 배포할 경우, 배포본 제작에 소요된 경비를 충당하기 위해서 이를 적절한 가격에 판매할 수 있습니다.)

GNU 프로젝트는 초기의 컴퓨터 공동체 안에 충만해 있던 호의적인 상호 협력의 정신을 재건하기 위한 구체적인 실현 방법으로 1983년에 시작되었으며, 이는 독점 소프트웨어의 소유자들이 만든 장벽들을 제거함으로써 상호 협력의 풍토를 다시 한번 부활시키는 것을 그 목적으로 합니다.

리차드 스톨만이 MIT에서 직업적인 연구활동을 시작했던 1971년에 그는 자유 소프트웨어만을 사용하는 연구 그룹에서 일하게 되었는데, 그 시절은 상업적인 컴퓨터 회사들 조차도 자유 소프트웨어를 배포하던 때였으므로 프로그래머들은 아무런 제약없이 서로 협력할 수 있었습니다

그러나 1980년대에 이르러 거의 모든 소프트웨어들은 소유와 독점에 관한 법률에 의해서 제한되었으며, 소유권자들은 소프트웨어의 자유로운 이용을 통한 사용자들의 상호 협력을 그들의 권리를 내세워서 금지시켰습니다. 바로 이것이 GNU 프로젝트가 시작된 이유였습니다.

모든 컴퓨터 사용자들은 운영체제가 필요합니다. 만약 자유롭게 사용할 수 있는 운영체제가 없다면 컴퓨터를 사용하고자 하는 모든 사람들은 독점적인 상용 운영체제를 이용할 수밖에 없을 것입니다. 따라서, 자유 소프트웨어에 대한 첫번째 과제는 자유 운영체제를 만드는 것이었습니다.

우리가 구상했던 운영체제를 유닉스와 호환되도록 결정했던 이유는 유닉스의 설계 방식에 대한 전반적인 우수성과 이식성이 이미 충분히 증명되었기 때문이고, 호환성을 통해서 많은 유닉스 사용자들이 보다 쉽게 GNU 환경으로 적응할 수 있도록 하기 위해서 입니다.

운영체제는 단순히 커널만을 의미하는 것이 아닙니다. 운영체제에는 컴파일러와 문서 편집기, 조판 프로그램, 메일 소프트웨어와 같은 다양한 종류의 소프트웨어들이 통합되어 있어야 합니다. 따라서, 완성된 운영체제를 만든다는 것은 무척이나 방대한 작업이며 많은 세월이 필요한 일입니다.

자유 운영체제에 대한 우리의 첫 번째 계획은 1990년대에 와서 실현되었습니다. 커널을 제외한 주요 부분들을 새롭게 작성하고 취합하던 과정에서 우리는 리누스 토발즈(Linus Tovalds)에 의해서 리눅스가 개발되고 있다는 사실을 알게 되었고, 리눅스는 곧 GNU와 합류하게 되었습니다. 자유 소프트웨어인 리눅스 커널과의 결합으로 GNU 시스템은 독립된 운영체제로서의 완성된 모습을 갖출 수 있었고 슬랙웨어와 데비안, 레드햇과 같은 GNU 시스템에 기반한 많은 운영체제들이 이제는 수십만에 달하는 사용자를 갖게 되었습니다.

그러나, GNU 프로젝트가 단지 운영체제의 개발에만 국한되는 것은 아닙니다. 우리의 목표는 수요가 있는 모든 부문의 자유 소프트웨어를 제공하는 것입니다. 응용 소프트웨어인 스프레드시트가 이미 활용되고 있으며 GNU Emacs를 몇년 안에 WYSIWYG 형태의 완벽한 탁상 출판 시스템으로 확장시킬 계획입니다.

일반인들을 위한 소프트웨어 역시 마다하지 않을 것입니다. GNU 시스템에 익숙하지 않은 초보자들을 위해서 GNOME과 같은 그래픽 환경의 간편한 사용자 인터페이스에 대한 개발이 이미 진행되고 있습니다.

현재 활용될 수 있는 몇 종류의 게임과 같이 삶의 활력소가 될 수 있는 다양한 종류의 소프트웨어 또한 준비되고 있으며, 이는 우리가 갖고 있는 또하나의 목표이기도 합니다.

그렇다면, 자유 소프트웨어는 어느 한계까지 발전할 수 있을까요? 특허 제도와 같은 법률적 강제 장치가 자유 소프트웨어를 금지시키지 않는 한 그 가능성은 무한하다고 생각합니다. 우리의 궁극적인 목표는 컴퓨터 사용자들이 희망하는 어떠한 형태의 작업도 완벽하게 실현시킬 수 있는 자유 소프트웨어를 제공하는 것이며, 그것은 곧 소프트웨어에 있어서 독점이라는 해악을 영원히 사라지게 만들 것입니다.