UnisquadsU
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

GNU 프로젝트 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.25 16:33

GNU 프로젝트

정의

자유 소프트웨어를 개발하기 위한 프로젝트

시작일

1984년 1월

설립자

리처드 스톨먼

목표

컴퓨터 사용자들이 소프트웨어를 자유롭게 사용, 복제, 배포, 연구, 수정할 수 있는 권리를 보장하는 완전한 자유 소프트웨어 운영 체제 개발

핵심 산출물

GNU 운영 체제

GNU 컴파일러 모음(GCC)

GNU C 라이브러리(glibc)

GNU 에마크스

라이선스

GNU 일반 공중 사용 허가서(GPL)

상세 정보

운영 체제 커널

GNU 프로젝트의 커널인 GNU 허드는 아직 완성되지 않았으며, 현재 GNU 시스템은 리눅스 커널과 결합하여 GNU/리눅스 시스템으로 널리 사용됨

자유 소프트웨어 재단

GNU 프로젝트를 법적, 재정적으로 지원하기 위해 1985년 설립된 비영리 단체

GNU 선언문

1985년 3월 발표된 GNU 프로젝트의 목표와 철학을 설명하는 문서

GNU 매니페스토

GNU 프로젝트의 목표와 동기를 설명하는 문서

1. 개요

GNU 프로젝트는 리처드 스톨먼이 1984년 1월에 시작한, 자유 소프트웨어를 개발하기 위한 대규모 협업 프로젝트이다. 이 프로젝트의 주요 목표는 컴퓨터 사용자들이 소프트웨어를 자유롭게 사용, 복제, 배포, 연구, 수정할 수 있는 권리를 보장하는 완전한 자유 소프트웨어 운영 체제를 개발하는 것이었다. 이렇게 만들어진 운영 체제의 이름이 GNU이다.

GNU는 "GNU's Not Unix"의 재귀 약어로, 기존의 유닉스와 호환되지만 유닉스와는 달리 완전히 자유 소프트웨어로 구성된 시스템을 지향한다. 프로젝트는 커널, 컴파일러, 텍스트 에디터, 명령 줄 인터페이스 등 운영 체제를 구성하는 모든 필수 요소를 새롭게 개발하는 방대한 작업이었다.

프로젝트의 핵심 산출물로는 GNU 컴파일러 모음(GCC), GNU C 라이브러리(glibc), GNU 에마크스 텍스트 에디터 등이 있다. 또한 프로젝트의 법적 및 철학적 기반을 제공하는 카피레프트 개념과 GNU 일반 공중 사용 허가서(GPL)도 여기서 탄생했다.

GNU 프로젝트는 단순한 소프트웨어 모음이 아닌, 소프트웨어의 자유에 관한 사회적 운동의 실천적 토대를 마련했다. 이 프로젝트를 통해 개발된 수많은 도구와 라이선스는 이후 리눅스 커널과 결합되어 GNU/리눅스 시스템으로 널리 사용되며, 현대 오픈 소스 및 자유 소프트웨어 생태계의 근간을 이루게 된다.

2. 역사

GNU 프로젝트는 1984년 1월 리처드 스톨먼에 의해 공식적으로 시작되었다. 당시 MIT의 인공지능 연구실에서 일하던 스톨먼은 프린터 드라이버 소스 코드를 공유받지 못하는 사건을 계기로, 소프트웨어의 사유화와 공유 문화의 붕괴에 대한 위기감을 느꼈다. 이에 그는 사용자들의 협력과 자유를 보장하는 완전한 자유 소프트웨어 운영 체제를 만들기로 결심하고, 이를 'GNU'(GNU's Not Unix의 재귀적 약어)라고 명명했다.

프로젝트의 초기 목표는 유닉스와 호환되지만 유닉스 코드를 사용하지 않는 자유 운영 체제를 구축하는 것이었다. 스톨먼은 1985년 3월 'GNU 선언문'을 발표하여 프로젝트의 철학과 목표를 공개하고 개발자들의 참여를 호소했다. 같은 해, 프로젝트의 법적 및 재정적 기반을 지원하기 위해 자유 소프트웨어 재단(FSF)을 설립했다. 또한 소프트웨어의 자유를 보존하기 위한 법적 장치로 카피레프트 개념을 도입하고, 이를 구현한 GNU 일반 공중 사용 허가서(GPL)의 첫 번째 버전을 1989년에 발표했다.

1990년대 초까지 프로젝트는 운영 체제의 핵심 구성 요소 대부분을 성공적으로 개발했다. GNU 컴파일러 모음(GCC), GNU 에마크스, GNU C 라이브러리(glibc), GNU Bash와 같은 핵심 도구들이 완성되면서, GNU 시스템은 거의 완성 단계에 이르렀다. 그러나 시스템의 가장 중심부인 커널 개발에는 예상보다 많은 시간이 소요되었다. GNU 프로젝트의 커널인 GNU 허드(Hurd)는 마이크로커널 설계로 인해 기술적 난관에 부딪혀 실용화가 지연되고 있었다.

이러한 상황에서 1991년 리누스 토르발스가 개발한 리눅스 커널이 등장했다. 리눅스 커널은 모놀리식 커널 설계로 빠르게 발전했고, 자유 소프트웨어 라이선스로 배포되었다. 개발자들은 완성된 GNU 시스템의 구성 요소들과 리눅스 커널을 결합하여 완전히 동작하는 자유 운영 체제를 만들었으며, 이 체계는 일반적으로 '리눅스' 또는 'GNU/리눅스'라고 불리게 되었다. 이 결합은 자유 소프트웨어 운동의 실용적 성공을 가져왔고, GNU 프로젝트의 핵심 목표 중 하나를 간접적으로 달성하는 계기가 되었다.

3. 목표와 철학

3.1. 자유 소프트웨어의 네 가지 자유

자유 소프트웨어의 네 가지 자유는 GNU 프로젝트와 자유 소프트웨어 재단의 철학적 기반을 이루는 핵심 개념이다. 이는 소프트웨어 사용자에게 보장되어야 할 기본적인 권리들을 정의하며, 소프트웨어가 '자유'롭다고 판단하기 위한 기준을 제시한다. 이 개념은 리처드 스톨먼에 의해 제창되었으며, 단순히 무료로 이용할 수 있는 것을 의미하는 것이 아니라 사용자의 자유와 통제권에 초점을 맞춘다.

네 가지 자유는 다음과 같다. 첫째, 어떠한 목적으로든 프로그램을 실행할 자유(0번 자유)이다. 둘째, 프로그램이 어떻게 동작하는지 연구하고 필요에 따라 이를 수정할 자유(1번 자유)이다. 이 자유를 실현하기 위해서는 소스 코드에 대한 접근이 전제 조건이 된다. 셋째, 이웃을 돕� 수 있도록 프로그램을 복제하고 배포할 자유(2번 자유)이다. 넷째, 프로그램을 개선하고 공동체 전체가 그 혜택을 누릴 수 있도록 수정된 버전을 배포할 자유(3번 자유)이다.

이러한 자유들은 카피레프트 라이선스를 통해 법적으로 보호된다. 대표적인 카피레프트 라이선스인 GNU 일반 공중 사용 허가서(GPL)는 소프트웨어를 사용, 수정, 재배포하는 모든 사람이 동일한 네 가지 자유를 후속 사용자에게도 보장하도록 의무화한다. 이는 자유 소프트웨어의 자유가 사유 소프트웨어로 전환되는 것을 방지하는 장치 역할을 한다.

결국 네 가지 자유는 기술적 협력과 지식 공유를 촉진하는 사회적 계약의 토대이다. 이는 사용자가 소프트웨어의 수동적인 소비자가 아닌 적극적인 참여자가 될 수 있도록 하며, GNU 운영 체제와 같은 공동체 기반 프로젝트의 발전을 가능하게 한 원동력이 되었다.

3.2. GNU 선언문

GNU 선언문은 1983년 9월에 리처드 스톨먼이 처음 발표한 문서로, GNU 프로젝트의 시작을 공식적으로 알리고 그 목표와 동기를 설명한다. 이 선언문은 당시 소프트웨어 산업이 독점 소프트웨어 모델로 빠르게 전환되면서 사용자들의 자유가 침해되는 상황에 대한 스톨먼의 우려에서 비롯되었다. 그는 모든 사용자가 소프트웨어를 자유롭게 공유하고 수정할 수 있는 권리를 가져야 한다는 신념 아래, 유닉스와 호환되지만 완전히 자유로운 운영 체제인 GNU 운영 체제를 개발하겠다는 포부를 밝혔다.

선언문은 단순한 기술적 계획서를 넘어, 자유 소프트웨어 운동의 철학적 기초를 제시하는 역할을 했다. 여기에는 소프트웨어를 공동체의 공유 자산으로 보고, 협력을 통한 발전을 강조하는 내용이 담겨 있다. 또한 프로젝트의 성공을 위해 프로그래머들의 자발적인 참여와 기여, 자금 및 하드웨어 기부의 필요성을 호소하는 부분도 포함되어 있다. 이 문서는 이후 자유 소프트웨어의 네 가지 자유와 카피레프트 개념을 정립하는 데 중요한 토대가 되었다.

GNU 선언문은 여러 차례 개정되었으며, 가장 최신 버전은 2023년 3월에 업데이트되었다. 이 선언문은 자유 소프트웨어 재단(FSF)의 웹사이트를 통해 공개되어 있으며, GNU 프로젝트의 근본 정신과 지속적인 목표를 이해하는 데 필수적인 자료로 여겨진다.

3.3. 카피레프트

카피레프트는 자유 소프트웨어의 저작권을 이용하여 소프트웨어의 자유를 보존하고 확장하기 위한 법적 체계이다. 이 개념은 리처드 스톨먼이 GNU 프로젝트를 위해 고안했으며, 전통적인 저작권이 소프트웨어의 사용과 공유를 제한하는 데 사용되는 것과 반대로, 카피레프트는 모든 사용자에게 소프트웨어를 자유롭게 실행, 복사, 수정, 재배포할 수 있는 권리를 보장하는 동시에 그 자유를 유지하도록 설계되었다.

카피레프트의 핵심 원칙은 어떤 프로그램이 자유 소프트웨어로 배포되면, 그 프로그램의 모든 수정 버전이나 파생물 역시 동일한 자유를 가진 자유 소프트웨어로 배포되어야 한다는 것이다. 이는 GNU 일반 공중 사용 허가서(GPL)와 같은 카피레프트 라이선스를 통해 구현된다. GPL은 프로그램을 수정하거나 재배포하는 사람이 소스 코드를 공개하고 동일한 라이선스 조건 하에 배포할 것을 요구함으로써, 소프트웨어가 사유 소프트웨어로 전환되는 것을 방지한다.

이러한 접근 방식은 소프트웨어의 자유가 한 번 부여되면 그 이후의 모든 버전에서도 영구히 보호되도록 한다. 카피레프트는 단순히 무료로 소프트웨어를 제공하는 것이 아니라, 사용자들의 협업과 공유를 촉진하는 지속 가능한 생태계를 만드는 데 목적이 있다. 따라서 카피레프트는 오픈 소스 운동 내에서도 소프트웨어의 자유를 가장 강력하게 보호하는 라이선스 모델로 인정받고 있다.

4. 주요 구성 요소

4.1. GNU 컴파일러 모음(GCC)

GNU 컴파일러 모음(GCC)은 GNU 프로젝트의 핵심적인 구성 요소 중 하나로, 다양한 프로그래밍 언어를 위한 컴파일러 시스템이다. 리처드 스톨먼이 자유 소프트웨어 운영 체제인 GNU 시스템을 개발하기 위한 필수 도구로 1987년에 처음 출시했다. GCC는 원래 C 언어만을 지원했으나, 시간이 지남에 따라 C++, 오브젝티브-C, 포트란, 에이다, Go 등 수많은 언어의 프론트엔드를 추가하며 확장되었다.

GCC의 가장 큰 특징은 자유 소프트웨어로서 GNU 일반 공중 사용 허가서(GPL) 하에 배포된다는 점이다. 이는 누구나 GCC의 소스 코드를 자유롭게 사용, 수정, 배포할 수 있음을 의미하며, 이는 GNU 프로젝트의 근본 철학인 카피레프트를 구현한 대표적인 사례이다. 이러한 개방성 덕분에 GCC는 리눅스 커널을 비롯한 수많은 자유 소프트웨어 및 오픈 소스 프로젝트의 표준 컴파일러로 채택되었다.

GCC는 높은 이식성과 최적화 성능으로 유명하다. 이 컴파일러는 x86, ARM, MIPS 등 다양한 하드웨어 아키텍처와 운영 체제를 지원하며, 생성된 코드의 실행 효율을 높이는 강력한 코드 최적화 기능을 제공한다. 이러한 특성으로 인해 GCC는 임베디드 시스템 개발부터 슈퍼컴퓨터용 소프트웨어 빌드에 이르기까지 광범위한 분야에서 산업 표준으로 자리 잡았다.

GCC의 개발은 지속적으로 활발히 진행되고 있으며, 자유 소프트웨어 재단(FSF)의 관리 하에 전 세계의 수많은 개발자들이 기여하고 있다. 이는 GCC가 단순한 도구를 넘어, 오픈 소스 개발 모델의 성공과 협력적 개발 문화의 상징이 되었음을 보여준다. 오늘날 GCC는 LLVM/Clang과 같은 다른 컴파일러 인프라 프로젝트와 경쟁하며 발전을 거듭하고 있다.

4.2. GNU C 라이브러리(glibc)

GNU C 라이브러리(glibc)는 GNU 프로젝트를 위한 핵심 C 표준 라이브러리 구현체이다. 이 라이브러리는 운영 체제의 커널과 응용 프로그램 사이에서 중간 계층 역할을 하며, 파일 입출력, 메모리 관리, 문자열 처리, 수학 함수 등 프로그램 개발에 필요한 기본적인 기능들을 제공한다. 리눅스를 포함한 대부분의 자유 소프트웨어 운영 체제에서 표준 C 라이브러리로 사용되고 있다.

glibc는 POSIX 표준을 준수하며, 다양한 하드웨어 아키텍처를 지원하는 것이 특징이다. 이 라이브러리는 GNU 컴파일러 모음(GCC)과 함께 작동하도록 설계되어, 개발자들이 자유 소프트웨어 철학에 입각한 시스템과 프로그램을 구축할 수 있는 기반을 마련한다. glibc의 개발과 유지보수는 지속적으로 이루어지며, 새로운 C 언어 표준과 시스템 요구사항을 반영하고 있다.

glibc는 GNU 일반 공중 사용 허가서(GPL)의 일종인 LGPL(GNU 약소 일반 공중 사용 허가서) 하에 배포된다. 이 라이선스는 glibc를 링크한 프로그램이 반드시 동일한 자유 소프트웨어 라이선스를 가질 필요는 없도록 하여, 상용 소프트웨어 개발에서도 자유롭게 사용할 수 있는 유연성을 제공한다. 이는 자유 소프트웨어 재단(FSF)의 카피레프트 철학을 실현하는 동시에 라이브러리의 광범위한 채용을 촉진하는 데 기여했다.

4.3. GNU Bash

GNU Bash는 GNU 프로젝트를 위해 브라이언 폭스가 개발한 유닉스 셸이다. 'Bourne-Again SHell'의 약자로, 기존 유닉스 시스템의 표준 셸이었던 본 셸(sh)과 호환되면서도 C 셸(csh)과 콘 셸(ksh) 등에서 제공하는 여러 편의 기능을 통합하여 개선한 것이 특징이다. 명령어 히스토리, 명령행 편집, 작업 제어, 셸 스크립트 프로그래밍 기능 등을 제공하여 사용자와 시스템 관리자에게 강력한 명령 줄 인터페이스 환경을 제공한다.

Bash는 1989년에 처음 공개되었으며, 빠르게 리눅스 커뮤니티에서 가장 널리 사용되는 기본 셸로 자리 잡았다. 대부분의 리눅스 배포판과 맥OS의 터미널 기본 셸로 채택되었을 뿐만 아니라, 윈도우의 WSL 환경과 다양한 유닉스 계열 시스템에서도 표준적으로 사용된다. 그 유연성과 강력한 스크립팅 능력 덕분에 시스템 관리, 소프트웨어 빌드 자동화, 복잡한 작업 처리 등에 필수적인 도구로 평가받는다.

Bash의 설계 철학은 사용자의 자유를 보장하는 자유 소프트웨어 정신에 기반한다. 이는 소프트웨어를 실행, 연구, 수정, 재배포할 수 있는 자유 소프트웨어의 네 가지 자유를 구현한 것이다. Bash는 GNU 일반 공중 사용 허가서(GPL) 하에 배포되어, 누구나 소스 코드를 자유롭게 얻어 사용하고 개선할 수 있으며, 이러한 개선 사항을 공동체에 다시 공유하도록 장려한다.

특징

설명

개발자

브라이언 폭스

초기 릴리스

1989년

주요 용도

명령줄 인터페이스, 셸 스크립팅

라이선스

GNU GPL

영향받은 셸

본 셸, C 셸, 콘 셸

Bash는 GNU 프로젝트의 핵심 구성 요소 중 하나로, GNU Coreutils 및 기타 GNU 시스템 도구들과 긴밀하게 통합되어 완전한 자유 소프트웨어 기반의 운영 체제 환경을 구축하는 데 기여했다. 오늘날에도 지속적으로 유지보수 및 개발이 이루어지고 있어, 현대 컴퓨팅의 중요한 기반 기술로 자리매김하고 있다.

4.4. GNU Coreutils

GNU Coreutils는 GNU 프로젝트의 핵심적인 구성 요소 중 하나로, 유닉스 계열 운영 체제에서 기본적으로 사용되는 필수적인 명령 줄 인터페이스 유틸리티들의 모음이다. 이 패키지는 파일 및 텍스트 처리, 시스템 관리, 프로세스 제어 등 일상적인 작업에 필요한 가장 기본적인 도구들을 제공하며, 자유 소프트웨어로 배포된다.

GNU Coreutils는 전통적인 유닉스 셸 명령어들의 자유 소프트웨어 구현체이다. 여기에는 파일 복사 및 삭제를 위한 cp, rm, 디렉토리 목록을 보여주는 ls, 파일 내용을 출력하는 cat, 텍스트를 정렬하거나 검색하는 sort, grep 등 수십 가지의 핵심 유틸리티가 포함된다. 이러한 도구들은 GNU Bash와 같은 셸과 함께 작동하여 사용자에게 강력한 명령 줄 환경을 제공한다.

이 패키지의 개발은 GNU 프로젝트의 초기부터 시작되어, 자유 소프트웨어 재단(FSF)의 지원 아래 지속적으로 유지보수되고 확장되어 왔다. GNU Coreutils의 모든 구성 요소는 GNU 일반 공중 사용 허가서(GPL) 하에 배포되어, 누구나 자유롭게 사용, 수정, 재배포할 수 있다. 이는 카피레프트 철학에 따라 사용자의 자유를 보호하는 데 기여한다.

GNU Coreutils는 현대의 대부분의 리눅스 배포판과 BSD 계열 시스템에 기본적으로 탑재되어 있으며, GNU 시스템의 근간을 이루는 필수 인프라이다. 이 유틸리티들은 시스템 관리자와 개발자에게 없어서는 안 될 표준 도구 세트로 자리 잡았으며, 그 안정성과 이식성은 오픈 소스 생태계 전반에 중요한 기여를 하고 있다.

4.5. GNU Emacs

GNU 에마크스는 리처드 스톨먼이 GNU 프로젝트의 일환으로 개발한 확장 가능한 텍스트 에디터이다. 1985년에 처음 출시된 이 에마크스는 초기 유닉스용 에디터인 에마크스를 기반으로 하여, 완전한 자유 소프트웨어로 재구현하고 크게 확장한 버전이다. GNU 에마크스는 단순한 텍스트 편집을 넘어서, 이메일 읽기, 뉴스 읽기, 디버깅, 달력 관리 등 다양한 기능을 통합한 통합 개발 환경의 역할도 수행한다.

이 에디터의 가장 큰 특징은 리스프 방언인 Emacs Lisp으로 작성된 확장성에 있다. 사용자는 이 언어를 이용해 에디터의 거의 모든 측면을 수정하거나 새로운 기능을 추가할 수 있으며, 이를 통해 수많은 사용자 커뮤니티가 만들어낸 방대한 확장 패키지 생태계가 형성되었다. 이러한 설계 철학은 사용자에게 소프트웨어를 자유롭게 연구하고 변경할 수 있는 권리를 부여하는 GNU 프로젝트의 핵심 목표를 직접적으로 구현한 사례로 평가받는다.

GNU 에마크스는 자유 소프트웨어 재단이 관리하며, GNU 일반 공중 사용 허가서 하에 배포된다. 이는 에디터 자체뿐만 아니라 대부분의 확장 패키지에도 동일하게 적용되어, 자유 소프트웨어 운동의 표본이 되었다. 오랜 개발 역사를 가진 만큼, 에마크스는 유닉스, 리눅스, BSD, macOS, 마이크로소프트 윈도우를 포함한 다양한 운영 체제에서 동작한다.

수십 년간 꾸준히 개발되며, GNU 에마크스는 프로그래머, 시스템 관리자, 작가 등 전문 사용자들 사이에서 생산성 도구로서 강력한 입지를 구축해왔다. 사용자 커뮤니티에 의해 지속적으로 유지되는 방대한 문서와 튜토리얼은 초보자의 진입 장벽을 낮추는 데 기여하고 있으며, 이 에디터는 자유 소프트웨어 운동의 상징이자 실용적인 도구로서의 가치를 동시에 증명하고 있다.

5. GNU 시스템과 GNU/리눅스

GNU 프로젝트의 궁극적인 목표는 완전한 자유 소프트웨어로 구성된 운영 체제인 GNU 시스템을 만드는 것이었다. 이 시스템은 유닉스와 호환되도록 설계되었지만, 유닉스의 독점 코드를 사용하지 않는 자유 소프트웨어로만 구성된다는 점이 근본적인 차이였다. 프로젝트는 커널, 컴파일러, 에디터, 셸 등 운영 체제의 필수 구성 요소들을 하나씩 개발해 나갔으나, 가장 핵심적인 부분인 커널(GNU 허드)의 개발은 예상보다 지연되었다.

1990년대 초, 리누스 토르발스가 개발한 리눅스 커널이 등장하면서 상황이 바뀌었다. 리눅스 커널은 자유 소프트웨어였으며, 기능적으로 완성도가 높았다. GNU 프로젝트에서 이미 개발된 수많은 시스템 소프트웨어(GCC, glibc, Bash, Coreutils 등)와 리눅스 커널을 결합하면 완전히 기능하는 자유 운영 체제를 즉시 만들 수 있었다. 이렇게 탄생한 조합이 바로 오늘날 널리 알려진 리눅스 배포판의 기반이 되었다.

이 운영 체제는 흔히 단순히 "리눅스"라고 불리지만, 이는 커널의 이름에 불과하다. 리처드 스톨먼과 자유 소프트웨어 재단(FSF)은 시스템의 정체성을 강조하기 위해 GNU/리눅스라는 명칭을 사용할 것을 권장한다. 이 명칭은 시스템이 GNU 프로젝트의 사용자 공간 도구와 리눅스 커널의 결합체임을 명시적으로 나타낸다. 현대의 대부분의 리눅스 배포판(우분투, 페도라, 데비안 등)은 기술적으로 GNU 소프트웨어 모음과 리눅스 커널로 구성된 GNU/리눅스 시스템에 해당한다.

따라서 GNU 프로젝트는 원래 계획한 GNU 시스템(허드 커널 기반)을 완성하지는 못했지만, 그 과정에서 개발된 필수 도구들이 리눅스 커널과 결합되어 전 세계적으로 성공한 자유 운영 체제 생태계의 근간을 제공했다. 이는 자유 소프트웨어 운동의 실질적인 성과로 평가받는다.

6. 관련 조직 및 프로젝트

6.1. 자유 소프트웨어 재단(FSF)

자유 소프트웨어 재단은 리처드 스톨먼이 1985년에 설립한 비영리 단체이다. 이 재단의 주요 목적은 자유 소프트웨어 운동을 지원하고, 컴퓨터 사용자의 자유를 옹호하며, GNU 프로젝트를 관리하는 것이다. 재단은 GNU 일반 공중 사용 허가서를 비롯한 여러 카피레프트 라이선스를 개발하고 관리하며, 자유 소프트웨어에 대한 법적, 재정적, 조직적 지원을 제공한다.

재단의 활동은 자유 소프트웨어의 철학적 기반을 확산시키는 데 중점을 둔다. 이는 소프트웨어의 소스 코드에 대한 접근과 수정의 자유가 기술 발전과 사회적 협력에 필수적이라는 믿음에 기반한다. 재단은 프라이버시 보호와 디지털 권리 관리 기술에 대한 반대 운동에도 적극적으로 참여한다.

자유 소프트웨어 재단은 GNU 운영 체제의 공식 후원 기관 역할을 하며, 프로젝트의 저작권을 보유하고 라이선스 위반에 대응하는 일을 담당한다. 또한 재단은 자유 소프트웨어에 관한 교육 자료를 발행하고, 자유 소프트웨어 디렉토리와 같은 프로젝트를 운영하며, 정기적으로 자유 소프트웨어 국제 회의를 주최한다.

재단의 재정은 주로 개인 및 기업의 회원비와 기부금으로 유지된다. 회원은 재단의 활동을 지원하고 자유 소프트웨어 운동에 대한 정보를 정기적으로 받을 수 있다. 재단의 본부는 미국 매사추세츠 주 보스턴에 위치해 있으며, 전 세계적으로 자유 소프트웨어의 가치를 홍보하는 데 주력하고 있다.

6.2. GNU 일반 공중 사용 허가서(GPL)

GNU 일반 공중 사용 허가서는 자유 소프트웨어 재단이 자유 소프트웨어를 배포하기 위해 만든 가장 널리 사용되는 카피레프트 라이선스이다. 이 라이선스의 핵심 목적은 소프트웨어의 사용, 복제, 수정, 배포의 자유를 보장하는 동시에, 그 자유를 파생된 저작물에도 전염시켜 영구히 보존하는 것이다. 즉, GPL로 배포된 프로그램을 수정하거나 그 코드를 포함하여 새로운 프로그램을 배포할 경우, 그 결과물도 반드시 동일한 GPL 조건 하에 공개되어야 한다. 이는 리처드 스톨먼이 주창한 자유 소프트웨어의 철학적 기반을 법적 조항으로 구현한 것이다.

GPL은 여러 버전을 거쳐 발전해왔으며, 각 버전은 새로운 법적, 기술적 도전에 대응하기 위해 개정되었다. 초기 버전인 GPLv1은 1989년에 발표되었고, 1991년의 GPLv2는 소프트웨어 특허와 관련된 문제를 다루기 위해 명시적 조항을 추가했다. 2007년에 발표된 GPLv3는 디지털 권리 관리 기술에 의한 사용자 자유 제한, 특허 소송 위협, 그리고 티보화와 같은 당시의 새로운 문제들을 해결하기 위해 라이선스 조항을 현대화했다.

이 라이선스는 리눅스 커널을 비롯한 수많은 중요한 자유 소프트웨어 프로젝트의 법적 기초를 제공한다. GNU 컴파일러 모음, GNU C 라이브러리, GNU Bash와 같은 GNU 프로젝트의 핵심 구성 요소는 물론, 전 세계적으로 사용되는 수많은 애플리케이션과 라이브러리가 GPL 하에 배포된다. GPL의 강력한 카피레프트 조항은 소프트웨어가 사유화되는 것을 방지하고, 커뮤니티 전체가 기여한 개선 사항을 공유하도록 강제함으로써 자유 소프트웨어 생태계의 지속적 성장을 뒷받침하는 데 결정적인 역할을 해왔다.

7. 여담

GNU 프로젝트의 이름은 재귀적인 약어로, "GNU's Not Unix"를 의미한다. 이는 유닉스와의 호환성을 목표로 하면서도, 유닉스와는 근본적으로 다른 자유 소프트웨어라는 철학적 차이를 강조하기 위한 장치이다. 프로젝트의 마스코트는 누라는 동물로, 자유 소프트웨어 재단의 공식 그림에는 누가 그누라는 이름의 하이에나와 함께 그려지기도 한다.

GNU 프로젝트는 단순한 소프트웨어 개발 모임을 넘어서 하나의 사회 운동으로 평가받는다. 이는 리처드 스톨먼이 제시한 자유 소프트웨어의 철학과 윤리적 가치가 프로젝트의 모든 활동 근간을 이루기 때문이다. 이러한 철학은 GNU 일반 공중 사용 허가서와 같은 카피레프트 라이선스를 통해 법적으로 구현되었으며, 이후 오픈 소스 운동을 포함한 다양한 형태의 협업 기반 소프트웨어 개발 문화에 지대한 영향을 미쳤다.

흔히 "리눅스"라고 불리는 운영 체제는 정확히는 GNU 프로젝트의 도구들과 리눅스 커널이 결합된 형태이다. 따라서 스톨먼과 자유 소프트웨어 재단은 이 시스템을 "GNU/리눅스"라고 부를 것을 권장하며, 이는 GNU 구성 요소의 기여를 인정하고 프로젝트의 본래 목표를 상기시키기 위함이다.

8. 관련 문서

  • GNU - GNU 프로젝트

  • 위키백과 - GNU 프로젝트

  • 리눅스 커널 - 공식 사이트

  • 위키백과 - 자유 소프트웨어 재단

  • GNU - GNU 일반 공중 사용 허가서

  • 위키백과 - 리처드 스톨먼

  • 오픈소스 이니셔티브 - 공식 사이트

  • 위키백과 - GNU 컴파일러 모음

  • GNU - GNU 운영 체제

  • 위키백과 - GNU Hurd

리비전 정보

버전r1
수정일2026.02.25 16:33
편집자unisquads
편집 요약AI 자동 생성