GNU

A GNU (fonetikusan:   – mint a gnú, amely a logóján is megjelenik) egy kizárólag szabad szoftverből álló gyűjtemény, amely használható mint számítógépes operációs rendszer, illetve lehet annak az alkotóeleme is. Az elkészült szoftveres eszközkészletéből alkották meg a Linux operációs rendszert, amelyből számos disztribúció létezik.

A GNU szoftvereket a GNU Projekt keretében fejlesztik, a projekt szárnyai alatt kiadott programokat pedig GNU csomagoknak vagy GNU programoknak hívják. A rendszer alapvető összetevői közé tartozik a GNU Compiler Collection (GCC, GNU fordítóprogram-gyűjtemény), a GNU Binary Utilities (binutils), a Bash rendszerhéj, a GNU C library (glibc), és a GNU Core Utilities (coreutils).

Elnevezése 
A rövidítés jelentése rekurzív (önhivatkozó) módon „GNU's Not Unix”, azaz „a GNU nem Unix”. Ez arra utal, hogy a GNU egy Unix-szerű (Unix jellegű) operációs rendszer, viszont nem tartalmaz Unixból származó kódot és a Unix rendszerrel ellentétben szabad szoftver.

Története 

A GNU Projekt 1983. szeptember 27-én indult Richard Stallman kezdeményezésére, azzal a céllal, hogy teljes értékű, Unix-szerű, de szabad operációs rendszert fejlesszenek ki.
Tényleges előrelépés 1984. január 5-én történt, amikor Stallman kilépett akkori munkahelyéről, így küszöbölve ki a jogi akadályát annak, hogy a projektben készülő szellemi termékek valóban kiadhatóak legyenek mint szabad szoftver.

A projekt célja egy teljesen szabadon használható operációs rendszer létrehozása. Stallman elképzelése szerint a számítógép felhasználóknak szabadon megismerhetővé kell tenni az általuk használt programok forráskódját, engedni kell, hogy akár változtatás nélkül, akár módosításokkal kiadhassák és megoszthassák a szoftvereiket másokkal. Ezt a filozófiáját 1985 márciusában GNU Manifesto címmel publikálta.

Az MIT mesterséges intelligencia laborjában (MIT AI Lab) kifejlesztett, Stallman által ismert, ITS (Incompatible Timesharing System) operációs rendszer, amely elavulttá vált, miután a PDP–10 számítógép – amelyre a szoftvert írták – már nem volt használatban és a gyártása is befejeződött. Ez ösztönözte azt az elhatározást, hogy a GNU Projektben olyan szoftvereket kell alkotni amelyek portolhatóak (viszonylag könnyen átalakíthatóak más architektúrákra). Így a programozás C illetve Lisp programnyelveken kezdődött, valamint az is eldőlt, hogy a GNU kompatibilis lesz a Unix operációs rendszerrel.
A Unix már egy elterjedt zárt forráskódú operációs rendszer volt abban az időben, a felépítése viszont moduláris, így adott volt a lehetőség, hogy részenként újra lehessen implementálni az alkotóelemeit.

A projekt szoftverjeinek nagy részét a semmiből indulva kellett megírni, de voltak olyan külső fejlesztésű és kompatibilis alkalmazások, amik szabadon felhasználhatóak voltak. Ilyen a TeX betűszedő rendszer, az X.Org által kiadott X Window rendszer és a Mach mikrokernel, amely a GNU Hurd (a GNU saját kernel implementációja) alapját adta. A néhány kivételtől eltekintve, mint az említett külső fejlesztésű alkalmazások, a projektben készülő szoftverek programkódjait olyan önkéntesek írták, akik azt vagy a szabadidejükben tették, vagy valamely oktatási intézmény, non-profit szervezet, vagy esetleg egy a fejlesztésért elkötelezett cégtől kapott megbízási díj ellenében végezték azt. 1985. október 4-én Stallman megalapította a Free Software Foundation (FSF) elnevezésű alapítványt, ami ezt követően az 1980-as évek végén és az 1990-es években szoftverfejlesztőket toborozott a GNU Projektben elvégzendő programozói feladatokra.

A GNU folyamatos fejlesztés alatt áll és nagyon széles a projektben készült szoftverek választéka, viszont a saját hivatalos GNU Hurd kernelből még nem jelent meg stabil változat (amit éles rendszereken lehetne használni).

Számos GNU programot más operációs rendszerekre is átírtak, például Microsoft Windowsra, a BSD különböző változataira, valamint a Solarisra és a Mac OS-re.

GNU szoftverek 

A programok teljes listája megtalálható a GNU projekt hivatalos honlapján, vagy a Free Software Foundation „Free Software Directory” regiszterében.

2021 februárjában a GNU projekt hivatalos honlapján a karbantartott (aktívan fejlesztett) szoftverjeinek listáján 395 db program szerepel, valamint ezen kívül 95 db van felsorolva, amelyek valamilyen okból nem aktívak (feleslegessé váltak, beépültek egy másik projektbe vagy nincs aki aktívan fejlessze őket).

GNU mint operációs rendszer 
A GNU Projekt alapvető célkitűzése egy operációs rendszer létrehozása volt a szabad szoftver szellemiségében. Az operációs rendszerek alapját a kernel (rendszermag) adja, a shell (héj) biztosítja a felhasználói felületet, valamint tartalmaz néhány alapszintű segédprogramot. Ebből a felépítésből adódóan a lehetőség adott, hogy a GNU Projektben készített szoftvereket egy olyan rendszermaggal együtt használják, ami nem tartozik a projekthez. A GNU Projektből átvett különböző komponensekből így számos operációs rendszer disztribúció készült – nagyrészt annak is köszönhetően, hogy a saját hivatalos kernel fejlesztése lassan haladt – , amiket alapvetően két csoportba sorolhatunk: tisztán GNU operációs rendszer és olyan ami a GNU eszközkészletet használja egy nem GNU rendszermaggal (számos Linux disztribúció) – utóbbi esetében hosszas vita alakult ki az elnevezésekkel kapcsolatban.

GNU és FSF által kezelt kernel

GNU Hurd 
A GNU Hurd mikrokernel a GNU Projekt hivatalos kernelje, amelynek fejlesztése rendkívül sokáig tartott. A hivatalos kiadására 2015. április 30-án került sor, amikor megjelent a Debian GNU/Hurd 2015 disztribúció, amivel a GNU már egy teljes egészében saját komponensekből álló operációs rendszerrel rendelkezett.

A GNU Hurd kernel viszont továbbra sem tekinthető „production-ready” (éles környezetben használható) szoftvernek, csupán olyan helyeken javasolják a használatát, ahol nem kritikus az üzembiztonság, valamint főleg ahol fejlesztési célokat szolgálhat.

Linux-libre 
2012-ben a Linux kernel egy változata, amely a Linux-libre nevet kapta, a GNU Projekt részévé vált azzal, hogy eltávolítottak a programkódjából minden olyan részt, amely zárt forráskódnak minősült. A GNU Projekt befogadta azokat a disztribúciókat, amelyek a Linux-libre  kernelt használták: gNewSense, Trisquel és Parabola GNU/Linux-libre.

Nem GNU által kezelt kernel 
A GNU saját kerneljének elhúzódó fejlesztése miatt a projekt komponenseit más kernellel kezdték el használni és kiadni, mint a Linux vagy a FreeBSD. Az egyik legnépszerűbbnek számító operációs rendszer disztribúció a Debian, Debian GNU/Linux néven hivatkozik magára, utalva ezzel arra, hogy a Linux kernel mellett a GNU Projektből származó szabad szoftvereket tartalmazza.

Licenc 
A GNU kedvéért alkották meg a GNU General Public License-et (GPL, GNU Általános Nyilvános Licenc), a még megengedőbb GNU Lesser General Public License-et (LGPL, GNU Kevésbé Általános Nyilvános Licenc) és a GNU Free Documentation License-et (GFDL, GNU Szabad Dokumentációs Licenc), ám ezeket mára sok más, GNU-hoz nem kapcsolódó projekt is használja.

Free System Distribution Guidelines (GNU FSDG) 
A GNU Free System Distribution Guidelines (GNU FSDG) egy olyan rendszer disztribúciós irányelv, amelynek célja elmagyarázni, hogy milyen kívánalmaknak kell megfelelnie egy telepíthető rendszernek (például egy GNU/Linux disztribúciónak) hogy megfeleljen a szabad szoftver (libre) eszméinek, és segíti az ilyen rendszerek fejlesztőit az eligazodásban. A leírás deklarálja, hogy még nem teljes körű, viszont folyamatosan kiegészül azokkal a kérdéses témákkal, amelyeket időközben sikerül megfogalmazniuk.

Az FSDG megalkotása során a Fedora Project hasonló irányelveit vették alapul – amiért köszönetet is mondanak.

Jegyzetek

Kapcsolódó szócikkek 
 Unix
 Linux
 Richard Stallman
 szabad szoftver

Külső hivatkozások 

 Hivatalos weboldal
 http://www.gnu.org/home.hu.htm  – (archivált)
 Stallman's 1983-as bejelentése, hogy elindul a GNU projekt
 Stallman gives a lengthy personal account of the project and its history
 The Free Universal Encyclopedia and Learning Resource, Stallman's essay concerning a GNU encyclopedia
 GNU-friends, a discussion forum  – (archivált)
 Sourceforge ports of GNU utilities for Win32  – (archivált)
 Sourceforge-like site for GNU software development projects

GNU projektek