GNU 프로젝트

GNU 프로젝트는 1983년 리처드 스톨만(Richard Stallman)이 시작한 자유 소프트웨어 프로젝트로, 목표는 완전히 자유로운(unfree가 아닌) 유닉스 호환 운영체제를 만드는 것이었습니다.

🌟 핵심 개념

  • GNU란?
    • “GNU’s Not Unix”의 재귀적 약자입니다.
    • 유닉스와 호환되지만, 자유 소프트웨어로 구성된 운영체제를 의미합니다.
  • 자유 소프트웨어(free software): \
    • 여기서 “자유”는 가격이 아니라 자유(freedom)를 뜻합니다. \
    • 사용자는 소프트웨어를: \
      1. 자유롭게 실행할 수 있어야 하고, \
      2. 소스 코드를 분석하고 변경할 수 있어야 하며, \
      3. 복사해서 배포할 수 있어야 하고, \
      4. 개선한 버전을 배포할 수 있어야 합니다. \

🧩 GNU 프로젝트의 구성 요소

GNU 프로젝트는 운영체제를 구성하는 여러 핵심 도구를 개발했습니다. 대표적인 것들:

  • GNU Bash: 셸 (명령어 해석기) \
  • GNU Core Utilities: ls, cp, mv 등 기본 유닉스 명령어 도구 모음 \
  • GCC (GNU Compiler Collection): C, C++, 기타 언어 컴파일러 \
  • glibc: C 표준 라이브러리 \
  • GNU Emacs: 고급 텍스트 편집기 \
  • GDB: 디버거 \

🐧 GNU와 리눅스의 관계

  • GNU 프로젝트는 거의 완성된 운영체제를 만들었지만, 핵심인 커널이 부족했습니다. \
  • 1991년 리누스 토르발스가 개발한 리눅스 커널이 이 자리를 채웠고, \
  • GNU 도구 + Linux 커널 조합이 오늘날 우리가 쓰는 “GNU/Linux” 시스템입니다. \ 많은 사람들이 “리눅스(Linux)”라고 부르지만, GNU 프로젝트의 입장에서는 “GNU/Linux“라고 부르는 것이 더 정확하다고 주장합니다.

📜 GNU 프로젝트의 철학

  • 소프트웨어 자유는 인권처럼 중요하다고 강조 \
  • GPL(GNU General Public License): 누구나 소프트웨어를 자유롭게 사용할 수 있지만, 파생물도 똑같이 자유롭게 공개해야 하는 카피레프트(Copyleft) 원칙을 따름 \

관련 기관

  • Free Software Foundation (FSF): \
    • GNU 프로젝트를 후원하고 자유 소프트웨어 운동을 이끄는 비영리 단체 \
    • 1985년 리처드 스톨만이 설립

위로 스크롤