· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linux And The Gnu System

Linux and the GNU system

Copyright 1996 Richard Stallman

번역: Takao KAWAMURA <kawamura@debian.org> 17 Jan. 1998

1999-10-20 영문 버젼에 맞게 갱신 --검은해

원파일은, GNU Emacs의 배포에 포함되어 있는 etc/LINUX-GNU입니다.

GNU 프로젝트는 자유 소프트웨어인 Unix풍의 운영체제의 개발을 목표로 12년 전에 시작되었다. Free는 무료라는 의미가 아니라 자유를 의미한다. 즉, 소프트웨어를 자유롭게 실행, 복사, 배포, 연구, 변경하고 배포시킬 수 있다는 것이다.

Unix풍의 시스템은 다양한 프로그램으로 이루어져있다. 예를 들어 X Window나 TeX는 자유 소프트웨어로서 이용 가능했다. 버클리 네트워크 유틸리티와 같이 개발자들에게 아무런 조건없이 사용하도록 설득하는 일에 참여하여 얻은 것도 있다. 그리고, 그 이외의 프로그램, 예를 들면, GNU Emacs, GNU C 컴파일러, GNU C 라이브러리, Bash, Ghostscript는 GNU를 위해 새롭게 만들어 졌다. 마지막 카테고리의 프로그램은 "GNU 소프트웨어"이다. GNU 시스템은 이 세 카테고리 모두로 구성되어 있다.

GNU 프로젝트는 유용한 자유 소프트웨어의 개발과 배포만을 다루는 것은 아니다. GNU 프로젝트의 핵심은 이념에 있다. 즉, 소프트웨어는 자유로워야 하며, 사용자의 자유는 지킬 만한 가치가 있다는 것이다. 비록 자유로워도, 그 가치를 의식하지 않으면, 길게 자유를 유지할 수 없다. 자유를 계속 누리고 싶다면, 자유 소프트웨어에서 얻을 수 있는 자유에 대해 사람들의 주의를 재촉할 필요가 있다.

GNU 프로젝트의 방법론은, 자유 소프트웨어와 유저의 자유에 관한 개념은 서로를 지지해준다는 데 있다. 우리는 GNU 소프트웨어를 개발하며, GNU의 프로그램이나 시스템을 접해 사용하기 시작한 유저는 GNU의 개념에 대해서도 생각할 것이다. 소프트웨어는 개념이 실제로 구현되고 있는 모습을 보여준다. 이념에 공감하는 사람이 나오게 되고, 그러면 새로운 자유 소프트웨어를 작성할 가능성은 높아지게 된다. 그리하여 소프트웨어는 이 이념을 구현하고, 확산시키고 이념으로부터 자라나게 된다.

1992년에는, 개발중이었던 커널을 제외하면 시스템의 필수 주요 요소는 모두 찾았거나 작성된 상태였다. (이 커널은 Mach 마이크로 커널과 GNU HURD로 구성된다. 현재 실행은 되지만, 유저가 사용할 수 있지는 않다. 최초의 시험 발표는 1996년에 있었다).

거기에 Linux 커널이 나타났다. Linux는 Linus Torvalds에 의해 최초로 쓰여진, 자유로운 Unix 호환 커널이다. Linux는 GNU 프로젝트를 위해서 쓰여진 것은 아니지만, Linux와 완성 일보직전의 GNU 시스템은 잘 조합될 수가 있었다. 이 조합은, Unix 호환의 operating system의 주요 필수 요소를 모두 제공하게 되어, 얼마인가 손보는 것으로, 사용할 수 있는 시스템이 완성되었다. 그것은, Linux 커널에 근거한 GNU 시스템의 변종이었다.

아이러니컬하게, 그러한 시스템의 유행은, GNU의 유저에게 GNU의 이념을 전하는 것을 저해하고 있다. 그러한 시스템은 거의 GNU 시스템과 같다. 차이는 커널에 무엇을 선택하는가 하는 것 뿐이다. 그런데도, 그것들은 "Linux 시스템"으로 불린다. 첫인상으로서는, "Linux 시스템"은 "GNU 시스템"과 전혀 다르게 들리고, 많은 유저는 실제 그렇게 생각하고 있다.

대부분의 "Linux 시스템"의 입문서는 GNU 소프트웨어 컴포넌트의 역할을 인정하고 있지만, 시스템 전체를 보면 그 시스템이 GNU 프로젝트가 1984년부터 개발하고 모아 온 GNU 시스템의 변종이라고는 말하지 않는다. 그 시스템과 같은, 자유의 Unix풍의 시스템이라고 하는 목표가 GNU 프로젝트로부터 태어났다고는 말하지 않는다. 그러므로 대부분의 유저는 이러한 일에 대해 모른다.

인간은 첫인상은 좀처럼 고칠 수가 없기 때문에, 나중에 이러한 시스템과 GNU 프로젝트의 관계를 안 유저는, 그 관계를 과소평가하기 십상이다.

그래서 많은 유저는 GNU 사용자 커뮤니티와는 별도로 자신을 "리눅스 유저"라고 의식하게 된다. 그들은 GNU 소프트웨어를 사용하면서도 (사실은 GNU 시스템 거의 전체를 사용한다.) 자신을 GNU 사용자라고 생각치 않으며, 보통은 GNU의 개념이 자신과눈 무관하다고 생각한다.

다른 문제도 일어나고 있다. 소프트웨어의 보수에 있어서의 협력 관계를 방해할 수 있고 있다. 보통, 유저가 특정의 시스템에서 잘 작동하도록 GNU 프로그램을 변경했을 경우, 그들은 그 프로그램의 관리자에게 변경점을 보낸다. 그리고 변경점을 설명하고, 설득을 하고, 패키지 전체의 일관성이나 보수성을 위해 수정하거나 해, 패키지에 패치를 적용하기 위해서 관리자와 공동 작업을 한다.

그러나, 자신을 "Linux 유저"라고 생각하고 있는 사람은, GNU 프로그램의 "Linux 전용" 버젼을 릴리스 하고는 일이 끝났다고 생각하게 되기 쉽다. 우리는 모든 GNU 프로그램이 Linux기반 시스템에서도 "아무 수정 없이" 작동하기를 바란다. 그러나 사용자들이 도와 주지 않으면 그것을 달성하기는 무척 더 어려워진다.

GNU 프로젝트는 이 문제에 어떻게 대처하면 좋을 것인가? 컴퓨터 유저에게 있어 자유가 중요하다라고 하는 생각을 퍼뜨리려면 이제 어떻게 해야 할까?

우리는 소프트웨어를 공유하고 변경할 자유에 대해 계속 말해야 한다. 그리고, 다른 유저들도 이를 값지게 여기도록 가르쳐야 한다. 자유 operating system의 기쁨을 맛보고 있다면, 장기적으로 그러한 자유를 보존하는 방법에 대해 생각하는 것은 상식적으로 옳은 일이다. 다양한 자유 소프트웨어의 기쁨을 맛보고 있다면, 독점 소프트웨어가 아닌 자유 소프트웨어를 작성하도록 사람들에게 권유하는 것을 생각하는 것은 상식적으로 옳은 일이다.

GNU와 Linux의 커뮤니티는 별개라는 생각은 받아들여서는 안된다. 대신에, "Linux 시스템"은 GNU 시스템의 변종이며, 그 유저는 Linux 유저(Linux 커널의 유저)인 것과 동시에 GNU 유저이기도 하다고 하는 인식을 넓혀 나가야 한다. 이것을 알고 있는 유저는 자연스럽게 이러한 시스템을 존재 하게 한 GNU의 사상을 살펴보게 될 것이다.

그것을 위한 하나의 수단으로서 나는 이 글을 썼다. 다른 방법으로는 위와 같은 시스템에 대한 글을 쓰거나 언급할 때 "Linux 시스템"이 아니라 "Linux기반의 GNU 시스템"이나 "GNU/Linux 시스템"이라는 말을 사용하는 수가 있다.



ID
Password
Join
The person you rejected yesterday could make you happy, if you say yes.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-04-22 15:26:28
Processing time 0.0038 sec