GGWiki
새 문서
일반/위키

GNU 프로젝트

공식 자료를 바탕으로 AI가 작성한 초안 · 출처 보기

편집 이의 제기 토론 수정 이력 토론에서 언급
GNU 프로젝트 로고
GNU 프로젝트 로고 · 이미지 출처 ↗

개요편집이의 제기

GNU 프로젝트(GNU Project)는 리처드 스톨먼(Richard Stallman)의 주도로 1983년 9월 27일 시작된 자유 소프트웨어 개발 프로젝트이자 사회적 운동이다. 프로젝트의 목표는 컴퓨터 사용자가 자신의 컴퓨터와 컴퓨팅 기기를 자유롭게 통제할 수 있도록, 실행·복사·배포·연구·수정의 자유를 보장하는 소프트웨어 체계를 협력적으로 개발·배포하는 것이다[1][2][3].

프로젝트 이름인 'GNU'는 "GNU's Not Unix!"(GNU는 유닉스가 아니다)라는 문장의 재귀 약자이며, 스톨만은 '그누'(g'noo, 한 음절)로 발음할 것을 권장한다[2][4]. 유닉스가 당시 널리 쓰이던 독점 운영 체제였으나 기술적으로 검증된 아키텍처를 가졌기 때문에, GNU 시스템은 유닉스와 호환되도록 설계되었다. 유닉스 아키텍처는 개별 구성 요소를 따로 개발할 수 있게 하며, 이미 공개된 조판 소프트웨어 TeX나 X 윈도 시스템을 활용할 수 있는 이점도 있었다[2].

기능과 사용법 개요편집이의 제기

제공하는 소프트웨어의 범위

GNU 프로젝트는 운영 체제를 구성하는 거의 모든 계층의 소프트웨어를 개발·배포한다. 핵심 개발 도구부터 최종 사용자 응용 프로그램까지 폭넓게 포함한다[2][3][4].

#### 컴파일러와 개발 도구

GCC(GNU Compiler Collection): C, C++, Objective-C, Fortran, Ada, Go, D 등 다양한 프로그래밍 언어를 지원하는 컴파일러 모음. 많은 유닉스 계열 시스템에서 표준 컴파일러로 쓰인다[2][3].

GDB(GNU Debugger): 디버깅 프로그램[2].

Binutils: 어셈블러, 링커, 오브젝트 파일 조작 도구 등을 포함[2].

Bison: yacc을 대체하기 위한 파서 생성기[2].

GNU 빌드 시스템(Autoconf, Automake, Libtool): 이식 가능한 빌드 체계를 위한 도구 모음[2].

#### 핵심 시스템 라이브러리와 유틸리티

glibc(GNU C Library): C 표준 라이브러리 구현. LGPL 하에 배포되어 독점 소프트웨어와 링크 가능[2][3].

GMP(GNU Multiple Precision Arithmetic Library): 임의 정밀도 산술 라이브러리[2].

GSL(GNU Scientific Library): 과학 계산 라이브러리[2].

Coreutils 등 표준 유닉스 유틸리티: ls, grep, awk, make, ld 등 POSIX 호환 명령행 도구[3].

#### 사용자 환경과 응용 프로그램

Bash(GNU Bourne-Again SHell): 널리 쓰이는 셸[2].

이맥스(Emacs): 확장 가능한 Lisp 기반 텍스트 편집기이자 통합 개발 환경[2].

그놈(GNOME): 그래픽 데스크톱 환경. GNU 프로젝트에서 시작했으나 현재 독립 프로젝트로 운영[2][3].

GNUStep: 오픈스텝(OpenStep) 표준 구현 라이브러리 및 개발 도구[2].

김프(GIMP): 래스터 그래픽 편집기[2].

GZip: 데이터 압축 라이브러리와 프로그램[2].

Maxima: 컴퓨터 대수 시스템[2].

Octave: MATLAB과 유사한 수치 계산 환경[2].

GNU 라디오(GNU Radio): 범용 하드웨어를 이용한 소프트웨어 무선 통신 신호 처리 패키지[2].

오픈오피스(OpenOffice) / GNU 오피스: 오피스 스위트[2].

GNU MDK: MIX 아키텍처 시뮬레이터 개발 키트[2].

FreeDink: RPG 게임 'Dink Smallwood' 엔진의 자유 재구현[4].

#### 커널

HURD: 마이크로커널과 서버들의 모임으로 유닉스 커널과 동등한 기능을 제공하려 개발 중. 1990년 시작되었으나 아직 생산 환경에 적합한 버전은 나오지 않음[3][4].

대상 사용자

GNU 프로젝트의 소프트웨어는 컴퓨터 사용자 전체를 대상으로 한다. 개발자는 컴파일러, 디버거, 빌드 도구, 라이브러리를 이용해 자유롭게 소프트웨어를 만들 수 있고, 일반 사용자는 데스크톱 환경, 오피스 스위트, 그래픽 편집기, 셸, 유틸리티 등을 통해 자유로운 컴퓨팅 환경을 구축할 수 있다. 교육·연구 기관은 소스 코드 접근 자유를 바탕으로 학습과 연구에 활용하며, 기업은 독점 소프트웨어 의존 없이 시스템을 구축·운영할 수 있다[2][3][4].

생태계·커뮤니티편집이의 제기

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

1985년 설립된 비영리 단체로, GNU 프로젝트의 철학적·법률적·재정적 후원자 역할을 한다. FSF는 GNU 패키지 저작권을 보유하는 경우가 많으며(기여자에게 저작권 양도 권장), GPL 등 라이선스 집행을 지원한다. 회원비, 구매, 기부금으로 프로젝트를 후원한다[3][4].

개발 모델

대부분 자원봉사자 기여로 개발되며, 기업 고용 개발자도 상당 부분 기여한다. 패키지별 유지보수자(maintainer)가 개발을 주도하며, 저작권은 유지보수자가 보유할 수도 있으나 라이선스 집행은 저작권자만 가능하므로 FSF에 양도하는 것이 일반적이다[3].

배포판과 GNU 자유 시스템 배포 지침(GNU FSDG)

GNU 시스템은 보통 리눅스 커널과 결합해 "GNU/리눅스" 또는 "리눅스 배포판" 형태로 배포된다. GNU 프로젝트는 설치 가능한 시스템 배포판이 자유 소프트웨어만으로 구성되도록 하는 기준인 GNU 자유 시스템 배포 지침(GNU FSDG)을 정했다. 이 지침을 채택한 배포판으로는 Dragora GNU/Linux-Libre, GNU Guix System, Hyperbola GNU/Linux-libre, Parabola GNU/Linux-libre, Trisquel GNU/Linux, PureOS 등이 있다. Debian은 2022년 기준 비자유 저장소를 별도 운영해 FSF 인증을 받지 못했으며, Fedora도 FSDG를 충족하지 않아 GNU 프로젝트는 완전히 자유로운 GNU/리눅스 배포판으로 보지 않는다[3].

고우선순위 프로젝트와 기여 요청

공식 사이트는 현재 도움이 필요한 고우선순위 프로젝트 목록을 공개한다. 예: 배경 음악 제거 자유 프로그램, 패키지 유지보수자 모집(halifax, quickthreads, guile-sdl, superopt, wdiff 등), 공동 유지보수자 모집(aspell, bison, gnuae, gnubatch, gnubik, gnuspool, metaexchange, powerguru 등)[4].

커뮤니케이션 지침

GNU 프로젝트는 공동체가 친절하고 환영하며 친근한 방식으로 소통할 것을 강력히 권고하며, 'GNU 친절한 커뮤니케이션 지침'을 제시한다[4].

사용 사례·작품편집이의 제기

GNU/리눅스 운영 체제

가장 대표적인 사용 사례는 GNU 시스템 유틸리티와 리눅스 커널을 결합한 GNU/리눅스 운영 체제다. 수백만 명이 사용하며, 많은 경우 단순히 '리눅스'라 부르나 GNU 프로젝트는 'GNU/리눅스'라는 명칭을 권장한다[2][3][4].

독점 유닉스 시스템에서의 대체 활용

많은 독점 유닉스 시스템에서도 본래 유닉스 프로그램을 GNU 구성 요소로 대체해 사용한다. 이는 GNU 프로그램이 품질 면에서 우수함을 보여준다. 이들 구성 요소는 흔히 'GNU 툴'로 불린다[2].

타 플랫폼 포팅

다수 GNU 프로그램이 마이크로소프트 윈도우, macOS 등 비유닉스 플랫폼으로 포팅되어 사용된다[2].

임베디드 및 특수 목적 시스템

GCC, glibc, Binutils 등 GNU 도구 체인은 임베디드 시스템 개발, 크로스 컴파일, 펌웨어 개발 등에도 광범위하게 쓰인다. GNU 라디오는 소프트웨어 무선 통신(SDR) 연구·개발에 활용된다[2][4].

교육과 연구

소스 코드 전체가 공개되어 있어 운영 체제, 컴파일러, 라이브러리, 수치 계산, 컴퓨터 대수 등 전산학 교육과 연구에 널리 쓰인다[2][3].

평가편집이의 제기

긍정적 평가

자유 소프트웨어 운동의 기반 마련: 4대 자유(실행, 연구·수정, 재배포, 개선 배포)를 정의하고 GPL을 통해 법적·기술적 토대를 구축했다[2][3].

핵심 인프라 소프트웨어 제공: GCC, glibc, Bash, Coreutils, GDB, Binutils 등은 현대 컴퓨팅 인프라의 중추를 이룬다. 리눅스 커널 자체도 GCC 등 GNU 도구로 빌드된다[2][3].

품질과 신뢰성: 독점 유닉스 시스템에서조차 GNU 도구로 대체해 쓸 만큼 기술적 완성도가 높다[2].

법적 혁신: 카피레프트 개념을 실현한 GPL은 자유 소프트웨어 라이선스의 표준이 되었으며, LGPL, FDL 등 파생 라이선스도 생태계 확장에 기여했다[3].

사회·정치적 영향: 소프트웨어 자유를 인권·윤리 문제로 제기하며, 특허·DRM·하드웨어 잠금 등 사용자 자유를 위협하는 이슈에 지속적으로 대응해왔다[3][4].

비판과 한계

HURD 커널의 장기 미완성: 1990년 시작된 HURD가 35년 이상 지나도 생산 환경용 안정 버전을 내지 못해, GNU 자체 커널을 갖춘 완전한 GNU 운영 체제라는 원래 목표는 미달 상태다[3].

GNOME 분리: GNU 프로젝트가 출범시킨 GNOME이 독립 프로젝트로 분리되면서, 데스크톱 환경에 대한 직접적 통제를 잃었다[3].

배포판 인증의 엄격함: GNU FSDG 기준이 엄격해 주요 배포판(Debian, Fedora 등)이 '완전히 자유로운' 배포판으로 인정받지 못하는 상황이 지속된다[3].

라이선스 호환성 논란: GPL의 강한 카피레프트가 허용적 라이선스(MIT, BSD 등)나 독점 소프트웨어와의 결합을 제한해, 일부 개발자·기업은 GPL 회피를 위해 대안 라이선스나 도구(Clang/LLVM 등)를 선택하기도 한다[3].

사용자 경험·접근성: 자유 소프트웨어 철학을 엄격히 지키다 보니, 펌웨어 블롭·비자유 드라이버·특허 코덱 등이 포함되지 않아 일반 사용자 설치·사용 편의성이 낮아질 수 있다는 지적이 있다[3][4].

수상

2001년 USENIX 평생 공로상 수상[3].

그 밖의 주제편집이의 제기

GNU 선언문

스톨만이 작성한 GNU 선언문은 프로젝트의 철학적 기초 문서다. 4대 자유를 명시하고, 소스 코드 접근 전제 조건을 강조하며, 카피레프트와 GPL의 필요성을 논증한다. 선언문은 참여 독려와 기금·하드웨어·시간 기부 호소도 담고 있다[2][3].

GNU 친절한 커뮤니케이션 지침

프로젝트 참여자 간 존중과 포용을 위한 행동 강령으로, 공식 사이트에서 확인할 수 있다[4].

GNU 소프트웨어 디렉터리

공식 사이트는 모든 GNU 패키지의 간략 설명과 다운로드 링크를 제공하는 소프트웨어 디렉터리를 운영한다[4].

하드웨어 호환성 목록

자유 소프트웨어만으로 작동하는 하드웨어 정보를 제공하는 'HARDWARE' 섹션을 운영한다[4].

GNU 아트와 펀(FUN) 페이지

프로젝트 관련 아트워크, 유머, 문화 콘텐츠를 모아둔 페이지도 제공한다[4].

플래닛 GNU

GNU 관련 블로그 글을 모아 보여주는 집계 사이트(Planet GNU)를 운영한다[4].

이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.

출처

4개
1Wikidata ↗https://www.wikidata.org/wiki/Q7598
2위키백과 (한국어) · GNU 프로젝트 ↗https://ko.wikipedia.org/wiki/GNU_%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8
3위키백과 (영어) · GNU Project ↗https://en.wikipedia.org/wiki/GNU_Project
4공식 사이트 ↗https://www.gnu.org/