GNU

A Wikipédiából, a szabad enciklopédiából
Ugrás a navigációhoz Ugrás a kereséshez
GNU
Heckert GNU white.svg
HURD Live CD.png
Fejlesztő Közösség
OS-család Unix-szerű
Hardver IA-32 (csak a Hurd kernel) és Alpha, ARC, ARM, AVR32, Blackfin, C6x, ETRAX CRIS, FR-V, H8/300, Hexagon, Itanium, M32R, m68k, META, MicroBlaze, MIPS, MN103, OpenRISC, PA-RISC, PowerPC, s390, S+core, SuperH, SPARC, TILE64, Unicore32, x86, Xtensa (csak a Linux-libre kernel)
Kernel Mikrokernel (GNU Hurd) vagy monolitikus kernel (GNU Linux-libre, elágazása a Linux-nak)
Felhasználói felület GNOME
Elérhető Többnyelvű
Licenc GNU GPL, GNU LGPL, GNU AGPL, GNU FDL, GNU FSDG[1][2]
Státusz folyamatosan fejlesztik
Weboldal https://gnu.org/

A GNU (fonetikusan: [ɡnuː] Loudspeaker.svg kiejtése – 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[3] 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[szerkesztés]

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.[4]

Története[szerkesztés]

Baby GNU

A GNU Projekt 1983. szeptember 27-én indult Richard Stallman kezdeményezésére,[5] azzal a céllal, hogy teljes értékű, Unix-szerű, de szabad operációs rendszert fejlesszenek ki.[4] 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.[6]

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[7] címmel publikálta.

Az MIT mesterséges intelligencia laborjában (MIT AI Lab) kifejlesztett, Stallman által ismert, ITS (Incompatible Timesharing System)[6] 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).[8] Így a programozás C illetve Lisp programnyelveken[9] kezdődött, valamint az is eldőlt, hogy a GNU kompatibilis lesz a Unix operációs rendszerrel.[10] 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.[11]

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)[12] 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.[13] 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.[14]

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[szerkesztés]

Szoftverek listája (nem teljes)
Név Leírás Honlap
bash unix kompatibilis rendszerhéj (shell) https://www.gnu.org/software/bash/
binutils programozói eszközkészlet a bináris programkódokkal való munkához https://www.gnu.org/software/binutils/
chess nyílt forráskódú sakk motor https://www.gnu.org/software/chess/
coreutils alapvető https://www.gnu.org/software/coreutils/
emacs szövegszerkesztő program https://www.gnu.org/software/emacs/
gcc nyílt forráskódú többnyelvű fordítóprogram (compiler) https://www.gnu.org/software/gcc/
gdb többnyelvű hibakereső program (debugger) https://www.gnu.org/software/gdb/
gimp nyílt forráskódú képszerkesztő program https://www.gimp.org/
glibc szabványos C könyvtár (libc) nyílt forrású implementációja https://www.gnu.org/software/libc/
gnome nyílt forráskódú grafikus felhasználói felület https://www.gnome.org/
gnunet decentralizált peer-to-peer keretrendszer (framework) https://gnunet.org/en/
grub boot loader szoftver https://www.gnu.org/software/grub/
gtk+ widget eszköztár https://www.gtk.org/
gzip tömörítő szoftver https://www.gnu.org/software/gzip/
lilypond nyílt forráskódú kottaszedésre alkalmas szoftver https://lilypond.org/
mc nyílt forráskódú fájlkezelő program https://midnight-commander.org/
screen terminál multiplexer https://www.gnu.org/software/screen/
wget webes fájlletöltő program https://www.gnu.org/software/wget/

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

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).[15]

GNU mint operációs rendszer[szerkesztés]

A GNU Projekt alapvető célkitűzése egy operációs rendszer létrehozása volt a szabad szoftver szellemiségében.[4] 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.[17][18]

GNU és FSF által kezelt kernel[szerkesztés]

GNU Hurd[szerkesztés]

A GNU Hurd mikrokernel a GNU Projekt hivatalos kernelje, amelynek fejlesztése rendkívül sokáig tartott.[19] A hivatalos kiadására 2015. április 30-án került sor, amikor megjelent a Debian GNU/Hurd 2015 disztribúció,[20][21] 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.[22]

Linux-libre[szerkesztés]

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.[23] A GNU Projekt befogadta azokat a disztribúciókat, amelyek a Linux-libre kernelt használták: gNewSense, Trisquel és Parabola GNU/Linux-libre.[24]

Nem GNU által kezelt kernel[szerkesztés]

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[25][26] 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.[27]

Licenc[szerkesztés]

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)[szerkesztés]

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.[2]

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

Jegyzetek[szerkesztés]

  1. GNU Licenses (angol nyelven). (Hozzáférés: 2021. február 1.)
  2. a b GNU Free System Distribution Guidelines (angol nyelven). (Hozzáférés: 2021. február 1.)
  3. 1.2. What is GNU/Linux? (angol nyelven). (Hozzáférés: 2021. február 1.)
  4. a b c What's GNU? Gnu's Not Unix! (angol nyelven). (Hozzáférés: 2021. február 1.)
  5. (1983. szeptember 27.). „new UNIX implementation”. net.unix-wizards. (Web link).
  6. a b Inter/vention: Free Play in the Age of Electracy. MIT Press, 69–71. o. (2012. március 1.). ISBN 978-0-262-01705-3 
  7. Stallman, Richard (1985. március 1.). „Dr. Dobb's Journal” (angol nyelven) 10 (3), 30. o. (Hozzáférés ideje: 2011. október 18.)  
  8.  The Free Software Movement and the Future of Freedom. Zagreb, Croatia: FSF Europe.
  9. Timeline of GNU/Linux and Unix (angol nyelven). „Both C and Lisp will be available as system programming languages.”
  10. Beginning Portable Shell Scripting: From Novice to Professional (angol nyelven), 177–178. o.. ISBN 9781430210436 
  11. Open Sources 2.0: The Continuing Evolution (angol nyelven). "O'Reilly Media, Inc.", 38–40. o.. ISBN 9780596008024 
  12. The Linux Programming Interface: A Linux and UNIX System Programming Handbook (angol nyelven), 5–6. o.. ISBN 9781593272203 
  13. Open Sources: Voices from the Open Source Revolution (angol nyelven). O'Reilly & Associates, Inc.. ISBN 978-1-56592-582-3 
  14. Practical UNIX and Internet Security, 3rd Edition (angol nyelven). O'Reilly & Associates, Inc., 18. o.. ISBN 9781449310127 
  15. a b A GNU szoftverek teljes listája a GNU honlapján. www.gnu.org (angolul) (Hozzáférés: 2021. feb. 7.)
  16. A GNU szoftverek teljes listája az FSF szabad szoftver regiszterében. directory.fsf.org (angolul) (Hozzáférés: 2021. feb. 7.)
  17. Linux and the GNU System (angol nyelven). (Hozzáférés: 2021. február 1.)
  18. What's in a Name? (angol nyelven). (Hozzáférés: 2021. február 1.)
  19. Opinion: The top 10 operating system stinkers (angol nyelven). (Hozzáférés: 2021. február 1.)
  20. Debian GNU/Hurd 2015 Released – Phoronix (angol nyelven). www.phoronix.com . (Hozzáférés: 2021. február 1.)
  21. Debian GNU/Hurd 2015 released! (angol nyelven). lists.debian.org . (Hozzáférés: 2021. február 1.)
  22. Hurd – Status (angol nyelven). Free Software Foundation, 2015. május 3. (Hozzáférés: 2021. február 1.)
  23. GNU Linux-libre (angol nyelven), 2012. december 17. (Hozzáférés: 2021. február 1.)
  24. List of Free GNU/Linux Distributions (angol nyelven). Free Software Foundation (FSF). (Hozzáférés: 2021. február 1.).
  25. 1.2 What is Linux? (angol nyelven), 1991. október 5. (Hozzáférés: 2012. szeptember 22.)
  26. Ubuntu Installation Guide (angol nyelven). Canonical. (Hozzáférés: 2015. június 22.)
  27. 1.2. What is Debian GNU/Linux? (angol nyelven). (Hozzáférés: 2021. február 1.).

Kapcsolódó szócikkek[szerkesztés]

Külső hivatkozások[szerkesztés]

Commons:Category:GNU Project
A Wikimédia Commons tartalmaz GNU témájú médiaállományokat.