GNU는 GNU is Not Unix라는 의미의 재귀적 약어이다. 

GNU 프로젝트는 GNU 시스템이라고 불리우는 유닉스 형태의 자유소프트웨어 운영체제를 만들 목적으로 1984년에 시작되었다. 

GNU는 1990년대초까지 새로운 운영체제를 만들고 있었고, 이 운영체제를 뒷받침할만한 소프트웨어들을 만들어내고 있었다. C 컴파일러, 어셈블러와 디버그, 고스트 스크립트와 본쉘 등... 이러한 프로그램들을 만들어내는것이 GNU 프로젝트가 아니라 GNU 프로젝트(유닉스 형태의 자유소프트웨어 운영체제를 만드째?를 완성하기위해서 이러한 프로그램들이 필요했기때문에 만들어진 것이다. 

이 과정에서 리누스 토발즈에 의해 Linux Kernel이 완성되었고, Linux Kernel이 GNU 프로젝트에 합류함으로써 하나의 완성된 운영체제를 구성하게 된 것이다.

GNU 프로젝트는 소프트웨어의 상업화에 반대해 프로그램을 자유롭게 사용하도록 하자는 운동으로 리눅스는 바로 그 대표적인 성과물.

그가 학생이었던 70년대까지만 해도 모든 연구자들은 자신이 개발한 소프트웨어를 공유했으며 컴퓨터회사들 역시 자체 개발한 소프트웨어를 배포했고 프로그래머들은 아무런 제약없이 정보를 나눠 가졌다. 그러나 80년대 들어서면서 소프트웨어에 대한 소유와 독점을 보호하는 법률로 인해 이런 분위기는 사라졌고 특히 마이크로소프트 등 기업에 의한 소프트웨어 독점은 정도를 더해갔다. 

스톨먼은 바로 이러한 소프트웨어 상업화에 반대하고 소프트웨어 개발 초기의 상호협력적인 문화로 돌아갈 것을 주장하며 84년 유닉스의 공짜 버전인 GNU를 만들어 배포했다. 85년에는 FSF를 조직, 「소프트웨어는 공유돼야 하며 프로그래머는 소프트웨어로 돈을 벌어서는 안된다」는 내용의 GNU 선언문을 제정하기도 했다. 이후 이 선언문이 전 세계 리눅서들과 해커들의 열렬한 지지를 얻으면서 스톨먼은 리눅서들의 정신적 지주 역할을 하게 됐다. 

또한, 스톨먼은 GNU 정신의 효율적인 계승을 위해 카피레프트 운동도 주창했다. 소프트웨어는 사회의 공적인 재산이므로 공공의 이익을 위해 쓰여져야 하고 이를 위해 프로그램의 소스코드에 누구든 자유롭게 접근하고 공유할 수 있도록 하자는 것이 카피레프트의 정신. 이 운동은 사용자들의 기금을 받아 소프트웨어를 생산하는 방식을 통해 생산자와 사용자간의 연대를 모색하고 있다. 한편 FSF는 1년에 두 번 GNU 게시판을 통해 프로그램의 개발 현황과 GNU 프로젝트 참여자 및 FSF에 기금을 낸 단체를 밝히고 있으며 지적소유권에 반대하는 내용의 온라인북도 발간하고 있다.

출처 : 네이버 지식인

GNU 프로젝트 (GNU project, 그누 프로젝트)는 리처드 스톨만이 완전한 공개 운영 체제인 GNU 시스템을 만들기 위한 목적으로 시작했다. 이 프로젝트는 1983년 9월 27일 유즈넷 net.unix-wizard 그룹을 통해 일반에 알려졌다. 스톨만은 첫 선언문에 이은 "GNU 선언문"을 비롯한 여러 글들을 통해서, "초기 전산 공동체에 지배적이었던, 협동 정신을 되돌리자"라고 주장했다.

GNU는 "GNU는 유닉스가 아니다."란 의미를 갖는 영어 문장 "GNU's Not UNIX"의 약자로, 원래의 문장 안에 자신이 이미 들어 있는 재귀 약자이다. 스톨만은 GNU를 그누로 읽자고 제안한다. 유닉스는 이미 널리 쓰이던 독점 소프트웨어운영 체제로, 유닉스의 아키텍처는 기술적으로 믿을만 한 것으로 증명되어 있어, GNU 시스템은 유닉스와 호환될 수 있도록 만들어졌다. 유닉스 아키텍처는 개별적인 요소들이 따로 따로 작성되는 것을 허용한다. 또, 이미 공개되어 있던 조판 소프트웨어 텍(TeX)이나, X 윈도우도 쓸 수 있는 장점이 있었다.

GNU 프로젝트는 누구나 자유롭게 "실행, 복사, 수정, 배포"할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 사용 허가권(License) 아래 소프트웨어를 배포한다. 카피레프트로 불리는 이런 생각은 GPL(GNU 일반 공중 사용 허가서)에 나타나 있다.

1985년에 스톨만은 GNU 프로젝트를 철학적, 법률적, 금융적으로 지원하기 위해 자선단체인 자유 소프트웨어 재단(FSF, Free Software Foundation)을 세웠다. 이 재단은 GNU를 개발할 프로그래머들도 고용했다. 그러나, 프로젝트의 대부분은 자원 봉사자들이 개발했으며, 앞으로도 그럴 것이다. GNU가 눈길을 끎에 따라, 이를 주목한 회사들은 GNU 소프트웨어의 개발이나 판매 및 기술 지원을 돕기 시작했다. 이 가운데 가장 두드러지고 성공적인 것은 (현재는 레드햇의 일부인) Cygnus Solutions이다.

1990년까지, GNU 시스템엔 확장 가능한 문서 편집기(이맥스), 뛰어난 최적화 컴파일러(GCC), 그리고 표준 유닉스 배포판의 핵심 라이브러리와 유틸리티가 있었다. 하지만, 여기엔 주요 구성요소인 커널이 빠져 있었다.

GNU 선언문에서, 스톨만은 "기본적인 커널은 있지만 유닉스를 흉내내려면 아직 더 많은 기능이 필요하다"라고 했다. 여기서 그가 지칭한 것은 MIT에서 개발하여 자유롭게 배포했고, 유닉스 7번째 판과 호환되는 TRIX라는 원격 작업 호출 커널(remote procedure call kernel)이었다. 1986년 12월, 이 커널을 고치는 작업이 시작됐다. 하지만, 개발자들은 결국 TRIX를 기반으로 새 커널을 만드는 것은 어렵다는 결론을 내렸다. 주된 이유는 TRIX는 "애매하고(잘 안 쓰이고?) 비싼 68000 box"에서만 동작했고, 따라서 그 상자에서 쓰이기 전에 다른 구조로 옮겨야(ported) 했기 때문이다. 1988년 즈음에, 카네기멜론 대학교에서 개발되던 Mach 통신-전송 커널(Mach message-passing kernel)을 그 대체품으로 고려했지만, 이것은 처음에 이것을 개발한 사람들이 AT&T 소유의 코드를 지우면서 지연되었다. 처음엔, 이 커널은 Alix라고 불렸지만, 나중에 개발자 Michael Bushnell는 HURD라는 이름을 선호하여, Alix란 이름은 하부 구조로 옮겨지고 마침내 완전히 떨어졌다. 결국은, HURD의 개발은 기술적이고 개인적인 충돌로 지지부진해 지고 말았다.

1991년에 리누스 토르발스는 유닉스 호환의 리눅스 커널을 작성하여 GPL 라이선스 아래에 배포했다. 다른 여러 프로그래머들은 인터넷을 통해 리눅스를 더욱 발전시켰다. 1992년 리눅스는 GNU 시스템과 통합되었고, 이로서 완전한 공개 운영 체제가 탄생되었다. GNU 시스템들 가운데 가장 흔한 것이, "GNU/Linux" 또는 "Linux 배포판"이라고 불리는 바로 이 시스템이다. (2003년 기준으로, 허드(HURD)는 여전히 개발 중이며, 리눅스를 대신하여 허드를 사용한 GNU 시스템을 비공식 실험판으로 사용할 수 있다.)

또한, 비공개 유닉스 시스템에도 GNU의 구성 요소들이 오리지널 유닉스 프로그램을 대신하여 들어 있는 경우도 많다. 이는 GNU 프로젝트를 통해 쓰여진 프로그램들이 질적으로 우수하다는 사실을 증명하는 것이다. 종종, 이런 구성요소들은 "GNU 툴"로 불리기도 한다. 다수의 GNU 프로그램은 마이크로소프트 윈도나 맥 오에스 텐 등으로 포팅되기도 했다.


출처 : 위키백과


'참고자료' 카테고리의 다른 글

OSI 7계층  (0) 2010.08.17
세션아이디  (0) 2010.08.15
HTTP 상태 코드 목록  (0) 2010.08.15
리눅스 mdsn  (0) 2010.07.05
OpenGL과 Direct3D  (0) 2009.10.11

+ Recent posts