판 비교
1번째 줄 근처
추가: ## 개요
추가: 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가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.