본문 바로가기
주제

GNU 프로젝트

GNU Project

사용자가 자유롭게 실행·연구·수정·공유할 수 있는 유닉스 호환 운영체제를 만들기 위해 시작한 소프트웨어 프로젝트임. 리처드 스톨먼이 1983년 계획을 발표하고 1984년 개발에 착수했으며, Emacs·GCC·Bash 등의 도구와 GPL을 통해 자유 소프트웨어 운동의 핵심 기반을 형성함.

16 타임라인
17 관련 링크
GNU 프로젝트

추가 정보

가격이 아니라 사용자의 자유

GNU는 자유롭게 실행·연구·수정·공유할 수 있는 유닉스 호환 운영체제를 만들려는 프로젝트임. 이름은 ‘GNU's Not Unix’를 다시 줄여 쓴 재귀적 약자이며, 기존 유닉스와 호환되면서도 이용자가 소프트웨어를 통제할 수 있는 시스템을 지향함.

여기서 자유 소프트웨어의 ‘자유’는 단순히 돈을 받지 않는다는 뜻이 아님. 어떤 목적으로든 프로그램을 실행하고, 소스 코드를 연구해 고치며, 원본과 수정본을 나눌 수 있는 권리를 뜻함. 유료 배포와 지원 서비스도 가능하므로 비상업 소프트웨어와 같은 말로 이해하면 오해가 생김.

운영체제를 이루는 도구들

운영체제는 커널 하나만으로 이루어지지 않음. 명령을 받아 실행하는 셸, 소스 코드를 번역하는 컴파일러, 프로그램이 공통으로 사용하는 라이브러리, 파일을 다루는 명령과 편집 도구 등이 함께 필요함. GNU는 Emacs, GCC, Bash 같은 구성요소를 만들어 기존 유닉스에서도 사용할 수 있도록 배포하며 참여자를 넓혀 감.

개별 프로그램이 먼저 널리 쓰일 수 있었던 점은 GNU의 특징이었음. 전체 운영체제의 완성을 기다리지 않고 개발 도구를 쓰고 고칠 수 있었으며, 이 도구들은 GNU라는 이름을 의식하지 않는 개발자의 작업에도 영향을 미치게 됨.

GNU와 리눅스, 그리고 Hurd

리눅스는 원래 리누스 토르발스가 개발한 커널의 이름이고, GNU는 그보다 앞서 시작된 운영체제 개발 프로젝트임. 1992년 리눅스가 자유 소프트웨어 라이선스를 채택하면서 GNU의 도구들과 결합할 수 있는 중요한 기반이 마련됨. 실제 배포판을 구성하는 데에는 다른 프로젝트와 배포판 개발자들의 기여도 필요했음.

GNU 프로젝트는 이런 결합과 자신의 기여를 드러내기 위해 ‘GNU/Linux’라는 명칭을 권장함. 일상적으로 쓰이는 ‘리눅스’와 이 명칭을 다룰 때에는 커널과 전체 시스템의 차이, 그리고 명칭에 담긴 관점을 함께 설명하는 것이 정확함. GNU 자체의 커널 구상인 Hurd는 별도로 개발됐으며, 그 지연과 리눅스 기반 시스템의 확산은 서로 구분해서 살펴볼 필요가 있음.

프로젝트를 지탱한 조직과 규칙

1985년 설립된 자유 소프트웨어 재단(FSF)은 GNU 개발과 사용자의 자유를 지원하는 비영리 조직임. GNU라는 개발 프로젝트와 FSF라는 조직은 밀접하지만 동일한 개념은 아님. GNU GPL은 소프트웨어를 배포받은 사람의 자유가 다음 사용자에게도 이어지도록 조건을 정한 라이선스이며, GNU 밖의 여러 프로젝트에도 쓰임.

GNU의 의미는 특정 운영체제의 완성 여부에만 있지 않음. 공동으로 고칠 수 있는 개발 도구, 공유의 조건을 정한 라이선스, 소프트웨어를 통제할 권리에 관한 논의를 함께 발전시킨 데 있음. Guix처럼 환경 구성과 관리에 초점을 맞춘 도구의 등장도 이 역사가 초기 유닉스 대체 계획에 머물지 않았음을 보여 줌.

타임라인 16건 · 1983–2023

수록 이벤트 분포 점을 선택하면 해당 이벤트로 이동할 수 있습니다.
1983년 2023년
일자 유형 내용 관련 엔티티 출처·정밀도
GNU 일반 공중 사용 허가서 4건
1985-03 milestone GNU 선언문 발표 리처드 스톨먼이 GNU 운영체제 개발을 지지해 달라는 선언문을 발표함. 프로그램을 서로 나누고 연구하며 고칠 수 있어야 한다는 주장을 설명하고, 개발자와 이용자가 프로젝트를 지원할 이유를 제시함. 1983년의 짧은 계획 발표보다 GNU의 사회적 목적과 참여 방법을 자세히 풀어낸 글이었음. 이후 자유 소프트웨어 운동과 카피레프트를 이해하는 주요 문헌이 됐지만, 이 선언문 자체가 프로그램의 이용허락 조건을 정한 GPL 라이선스는 아님. GNU 일반 공중 사용 허가서, 리처드 스톨먼 출처 1 · 월1989-02 milestone GNU GPL 버전 1 발표 GNU GPL 버전 1이 발표됨. 프로그램별로 존재하던 공유 조건을 여러 소프트웨어에 적용할 수 있는 일반적인 라이선스로 정리하고, 배포받은 사람도 소스 코드를 연구·수정·재배포할 자유를 유지하도록 설계함. 핵심은 저작권을 없애는 것이 아니라 저작권에 근거한 이용허락 조건으로 자유를 다음 사용자에게 이어주는 데 있었음. 이는 GNU의 개별 프로그램을 넘어 다양한 소프트웨어가 채택할 수 있는 카피레프트의 제도적 기반이 됨. GNU 일반 공중 사용 허가서, 자유 소프트웨어 재단+1 출처 1 · 월1991-06 milestone GNU GPL 버전 2 발표 GNU GPL 버전 2가 발표돼 복제·수정·배포 조건이 개정됨. 특허나 법원 명령 등 다른 의무 때문에 GPL의 조건을 지킬 수 없다면 그 조건을 무시하고 배포할 수는 없도록 규정함. 이 라이선스는 이후 리눅스 커널을 비롯한 여러 프로젝트의 배포 조건으로 채택됨. 다만 자유 소프트웨어라고 해서 모두 GPL을 쓰는 것은 아니며, 각 프로그램에 실제로 적용되는 라이선스와 버전을 따로 확인해야 함. GNU 일반 공중 사용 허가서, 자유 소프트웨어 재단 출처 1 · 월2007-06-29 milestone GNU GPL 버전 3 정식 발표 자유 소프트웨어 재단이 18개월의 공개 의견 수렴을 거쳐 GNU GPL 버전 3을 발표함. 특허 관련 조항, 사용자 제품에서 수정본을 설치하는 데 필요한 정보, 위반 뒤 권리 회복 조건 등을 정비하고 Apache License 2.0 코드와의 호환성을 확대함. 프로그램의 소스 코드를 볼 수 있더라도 실제 기기에서는 수정본을 실행하지 못하게 하는 제한 등 변화한 기술 환경에 대응하려는 개정이었음. 기존 GPL 프로그램이 자동으로 새 버전으로 전환되는 것은 아니므로, 개별 프로젝트의 선택과 이용허락 문구를 구분해 살필 필요가 있음. GNU 일반 공중 사용 허가서, 자유 소프트웨어 재단+1 출처 1
리처드 스톨먼 2건
1983-09-27 start 리처드 스톨먼, GNU 프로젝트 최초 공개 선언 리처드 스톨먼이 유즈넷에 GNU라는 자유로운 유닉스 호환 운영체제를 만들 계획을 발표하고 개발자들의 참여와 지원을 요청함. GNU라는 이름은 ‘GNU's Not Unix’를 뜻하며, 기존 유닉스를 그대로 복제하기보다 호환 가능한 새 시스템을 만들겠다는 구상이었음. 선언은 편집기나 컴파일러 한 가지를 만드는 데 그치지 않고 운영체제 전체를 자유 소프트웨어로 구성하는 목표를 제시함. 실제 구현 작업은 1984년 1월 시작됐으므로 계획 발표와 개발 착수는 구분할 필요가 있음. 리처드 스톨먼, GNU 일반 공중 사용 허가서 출처 11984-01 milestone 리처드 스톨먼, MIT를 떠나 GNU 개발 착수 리처드 스톨먼이 MIT의 직장을 떠나 GNU 운영체제 개발에 착수함. 훗날의 회고에 따르면 대학이 작업 결과의 배포 조건을 제한할 가능성을 피하고, 새 프로그램을 자유 소프트웨어로 배포할 수 있도록 하려는 선택이었음. 1983년의 공개 선언이 계획과 참여 요청이었다면, 이때부터는 실제 구현 작업이 시작됨. 완성된 운영체제를 한꺼번에 내놓기보다 기존 유닉스 환경에서도 사용할 수 있는 도구들을 먼저 만들어 가는 방식으로 진행함. 리처드 스톨먼 출처 1 · 월
GNU 컴파일러 모음 2건
1987-03-22 milestone GNU C 컴파일러 첫 베타 버전 공개 GNU C 컴파일러 0.9가 첫 베타 버전으로 공개됨. 컴파일러는 사람이 작성한 소스 코드를 컴퓨터가 실행할 수 있는 형태로 바꾸는 도구이므로, 자유 운영체제를 만들고 유지하는 데 핵심적인 기반이었음. 이후 같은 해 5월 23일 1.0 버전이 나옴. 초기에는 C 컴파일러를 가리키던 GCC라는 이름이 뒤에는 여러 언어를 지원하는 GNU Compiler Collection으로 확장되며, GNU의 영향력이 운영체제 자체를 넘어 개발 도구 생태계로 퍼지는 계기가 됨. GNU 컴파일러 모음 출처 11999-07-31 milestone GCC·EGCS 재통합 뒤 GCC 2.95 공개 GCC 2.95가 공개됨. 공식 발표는 1999년 4월 GCC와 EGCS가 다시 합쳐진 뒤 나온 첫 릴리스로 이 버전을 소개함. 컴파일러 개발의 분기와 재통합을 거쳐 여러 기여자의 작업을 하나의 공식 배포 흐름으로 모은 결과였음. GCC는 C뿐 아니라 여러 언어를 지원하는 컴파일러 모음으로 발전함. 이 사건은 GNU의 성장이 창립자의 초기 설계만으로 이루어진 것이 아니라, 유지보수 조직과 참여 방식의 변화까지 포함한 공동 개발 과정이었음을 보여 줌. GNU 컴파일러 모음 출처 1
GNU Hurd 2건
1990 milestone GNU Hurd 개발 시작 GNU 프로젝트가 자유 운영체제에 필요한 커널 기능을 구현하기 위해 Hurd 개발을 시작함. 스톨먼의 회고는 당시의 과제를 이미 존재하던 리눅스와의 경쟁이 아니라, GNU에 쓸 자유 커널을 마련하는 문제로 설명함. Hurd는 Mach 마이크로커널 위에 여러 서버를 두고 운영체제 기능을 나누는 구조를 채택함. 편집기와 컴파일러 등 주변 도구를 확보하는 일과, 하드웨어 자원과 프로세스를 관리하는 커널을 완성하는 일의 난도가 달랐음을 보여 주는 사례가 됨. GNU Hurd 출처 1 · 연1996-09-06 milestone GNU Hurd 0.1 버전 공개 GNU Hurd 0.1 버전이 공개됨. GNU의 자체 커널 구상을 구현하는 작업이 실제 배포 이정표에 도달했지만, 이 버전 번호만으로 당시 Hurd가 일반 사용에 충분히 성숙한 운영체제였다고 해석할 수는 없음. 이미 GNU 도구들과 리눅스 커널을 결합한 시스템이 확산하던 상황에서 Hurd 개발은 별도의 기술적 경로로 이어짐. GNU의 역사는 하나의 커널이 완성되는 과정만이 아니라, 여러 구성요소와 서로 다른 커널의 조합이 공존하는 과정이기도 함. GNU Hurd 출처 1
GNU Emacs 1건
1985-03-20 milestone GNU Emacs 13 첫 공개 버전 발표 GNU Emacs 13이 공개되며 GNU 프로젝트의 초기 성과가 이용자들에게 전달됨. 기존 Emacs 전통을 잇되 GNU 프로젝트에서 새로 구현한 편집기로, 문서를 고치는 기능뿐 아니라 Lisp를 통해 기능을 확장하는 환경을 제공함. 이 날짜는 Emacs라는 편집기 계열 전체의 탄생일이 아니라 GNU Emacs의 첫 공개 발표일을 뜻함. 이용자가 실제 작업에 쓰면서 수정하고 개선할 수 있는 프로그램을 먼저 배포한다는 GNU의 개발 방식을 보여 줌. GNU Emacs 출처 1
자유 소프트웨어 재단 1건
1985-10-04 milestone 자유 소프트웨어 재단 설립 리처드 스톨먼과 동료들이 자유 소프트웨어 재단(FSF)을 법인으로 설립함. GNU 운영체제 개발을 지원할 조직적·재정적 기반을 마련했으며, 이후 소프트웨어를 실행·연구·수정·공유할 자유를 옹호하는 활동으로 범위를 넓힘. GNU는 소프트웨어 개발 프로젝트이고 FSF는 이를 지원하는 비영리 조직이므로 둘을 같은 이름으로 취급하지 않는 것이 정확함. 재단은 GNU 라이선스의 개발과 보급, 준수 활동을 지원하는 중요한 역할도 맡게 됨. 자유 소프트웨어 재단, GNU 일반 공중 사용 허가서+1 출처 1
Bash 1건
1989-01 milestone GNU 소식지, Bash 셸의 초기 구현 완료 소개 GNU 소식지 1989년 1월호가 브라이언 폭스가 GNU의 Bourne Again Shell을 완성했다고 소개함. 기존 Bourne 셸의 역할을 자유 소프트웨어로 구현하면서 Korn 셸과 C 셸의 기능도 받아들이려는 작업이었음. 셸은 사용자가 명령을 입력해 프로그램을 실행하고 여러 작업을 스크립트로 묶는 접점임. 이 기록은 초기 구현의 진행 상황을 알린 소식지의 발행 시점이며, 특정 배포 파일의 최초 공개일과 동일한 날짜로 해석하지 않아야 함. Bash 출처 1 · 월
리눅스 1건
1992-01-15 milestone 리눅스 0.12와 GPL 전환 방침 발표 리누스 토르발스가 리눅스 0.12를 발표하면서 기존의 유료 배포 금지 조건을 없애고 GNU의 이용허락 방식으로 전환할 계획을 제시함. 공동기여자들의 이의가 없으면 2월 1일부터 적용한다는 방침이었으므로, 발표일과 적용 예정일은 구별해야 함. 수정·재배포와 상업적 활용을 함께 허용하는 개발 기반을 강화한 전환점이었음. GNU 도구들과 리눅스 커널을 결합한 자유 운영체제가 발전하는 데 중요한 조건을 마련했지만, GNU 프로젝트 자체가 이때 시작되거나 리눅스 커널을 개발한 것은 아님. 리눅스, GNU 일반 공중 사용 허가서 출처 2
GNU Guix 1건
2019-05-02 milestone GNU Guix 1.0.0 버전 발표 GNU Guix 1.0.0이 발표됨. Guix는 패키지 설치뿐 아니라 개발 환경과 운영체제 구성을 코드로 기술하는 방식을 제공하며, Scheme 언어를 이용한 선언적 설정과 변경 이력 관리 등을 결합함. 사용자가 어떤 소프트웨어 환경을 구성했는지 파악하고 다시 구성할 수 있도록 돕는 도구라는 점에서, GNU의 관심이 개별 프로그램 제공에서 시스템 관리 방식으로도 확장됐음을 보여 줌. 1.0은 프로젝트의 시작이 아니라 앞선 개발과 시험을 거쳐 도달한 주요 배포 이정표였음. GNU Guix 출처 1
연결 없음 1건
2023-09-27 milestone GNU 공동체, 스위스에서 40주년 개발자 모임 개최 GNU 공동체가 프로젝트 발표 40주년을 맞아 스위스 비엘/비엔에서 개발자 모임을 개최함. GNUnet e.V.가 주최하고 여러 나라의 자원활동가들이 준비에 참여했으며, GNU 패키지와 자유 소프트웨어의 미래를 논의하는 자리로 마련됨. 1983년의 운영체제 개발 계획이 수십 년에 걸쳐 도구, 라이선스, 이용자의 자유를 둘러싼 국제적 공동체로 이어졌음을 보여 주는 행사였음. 출처 1
갱신 2026-10-27