GNU

GNU je operativni sistem sastavljen isključivo od slobodnog softvera. Njegovo ime je rekurzivna skraćenica za "GNU Nije Unix" ("GNU's Not Unix"). Ričard Stalman je 1983. objavio Projekat GNU, u cilju stvaranja potpunog UNIX kompatibilnog operativnog sistema — poznatog kao GNU sistem ili prosto GNU — koji je slobodan softver. Projekat GNU se danas odvija pod pokroviteljstvom Fondacije za slobodni softver (Free Software Foundation).

Razvoj GNU sistema je značio i pisanje mnogih programa, poznatih kao GNU programi ili GNU paketi. Među njima su i uređivač teksta Emacs, GCC, GNU-ov debugger i radno okruženje GNOME.

GNU sistem se obično koristi u kombinaciji sa Linux kernelom, koji je razvijen van projekta GNU. Ova kombinacija čini potpuno funkcionalan operativni sistem, GNU/Linux, koji se međutim često pogrešno naziva samo "Linux".

GNU-ovi programi se često koriste i samostalno. Nije neuobičajeno naći komponente GNU-a instalirane na vlasničkim UNIX sistemima umjesto prvobitnih UNIX programa — posebno onih koji su alatke za programiranje i koji se često nazivaju zajedničkim imenom GNU-ov skup alata. (to je samo mali dio cjeline GNU sistema.) Koriste se na ovaj način jer su se pokazali kao superiorni u odnosu na ekvivalentne UNIX verzije, čak i onda kada nisu potpuno saglasni sa POSIX standardom. Također, zbog popularnosti kombinacije GNU sa Linuxom, mnogi koji rade na razvoju softvera instaliraju GNU-ov skup alata na druge sisteme zbog kompatibilnosti ili zato što skup radi ujednačeno na svim platformama. Mnogi GNU-ovi programi su također prebačeni () na Microsoft Windows, macOS i razne druge vlasničke platforme. Međutim, razlog za postojanje portova je da pomognu da se ti sistemi zamijene slobodnim softverom.

 Historija 
Projekat GNU je javno oglašen 27. septembra 1983. godine na diskusionim grupama net.unix-wizards i net.usoft. Pravi rad na projektu je počeo 5. januara sljedeće godine, kada je Stallman dao ostavku na MIT-u da bi ih onemogućio da polaže bilo kakva prava ili da ometaju raspodjelu (distribuciju) GNU-a kao slobodnog softvera. Prvobitna objava je praćena Stalmanovim "Manifestom GNU-a" i drugim esejima koji su izložili njegove motive za projekat GNU, od kojih je jedan bio i „vraćanje duha saradnje koji je preovlađivao u računarskoj zajednici u njenim ranijim danima".

Kada je GNU predložen, vlasnički operativni sistem UNIX je već bio u širokoj upotrebi. Budući da se arhitektura UNIXa pokazala tehnički stabilnom, sistem GNU je dizajniran tako da bude kompatibilan sa njim. UNIX arhitektura je omogućavala da GNU bude napisan od pojedinačnih softverskih komponenti. One komponente koje su već bile slobodno dostupne, kao što su TeX sistem za prelom teksta i X Window grafički sistem, će biti prilagođene i ponovo iskorištene, dok će nedostajuće biti napisane od nule.

1985. godine Stalman je osnovao Fondaciju slobodnog softvera (FSF), neprofitnu organizaciju da bi pružala logističku, pravnu i finansijsku podršku projektu GNU. FSF također zapošljava i programere da doprinose GNU-u, mada je značajan dio razvoja bio (i još uvijek je) djelo dobrovoljaca. Kako se GNU sve više isticao, tako su zainteresovani biznisi počeli da doprinose razvoju ili prodaji GNU softvera i tehničke podrške. Najistaknutiji i najuspješniji od ovih je bio Cygnus Solutions), danas dio Red Hata.

Da bi osigurao da GNU softver ostane slobodan, projekat je 1989 godine izdao prvu verziju GNU javne licence. Ovu licencu danas koristi najveći dio GNU programa, kao i veliki broj programa slobodnog softvera koji nisu dio projekta GNU; to je jedna od najčešće korištenih licenci slobodnog softvera na svijetu. Ona daje pravo svima koji prime program da ga pokreću, kopiraju, mijenjaju i distribuiraju a istovremeno im brani da nametnu dalja ograničenja na kopije koje oni raspodijele. Ova ideja se naziva copyleft).

Do 1990 godine, sistem GNU je imao proširivi uređivač teksta (Emacs), vrlo uspješan optimizirajući kompajler) (GCC) kao i većinu osnovnih biblioteka i alatki jedne standardne UNIX distribucije. Glavna komponenta koja je još uvek nedostajala je bio kernel. U Manifestu GNU-a, Stallman je pomenuo da "osnove kernela postoje, ali nam nedostaje još osobina do emulacije UNIXa". On je mislio na TRIX, jezgro sa udaljenim pozivom postupka (remote procedure call kernel), koje je razvijeno na MIT-u i čiji su autori odlučili da ga raspodjeljuju besplatno (for free) a koji je bio kompatibilan sa verzijom 7 UNIXa. U decembru 1986. počeo je rad na prilagođavanju ovog kernela. Međutim, razvojni tim je na kraju odlučio da je ono beskorisno kao početna tačka zato što se moglo pokrenuti jedino na „rijetkoj i skupoj 68000 platformi" ("an obscure, expensive 68000 box") i da bi ga zato trebalo portovati (prebaciti) na druge platforme pre nego što uopće bude korišteno. Do 1988 je umesto njega razmatran Mach, kernel sa slanjem poruka (message-passing kernel), koji je razvijan na Univerzitetu Karnegi Melon, mada je njegovo izdanje kao slobodnog softvera odloženo do 1990 godine, dok razvojni tim nije uklonio kod koji je bio vlasništvo ATT-a (AT&T).

Budući da je Mach obezbjeđivao samo najniže funkcije kernela, Projekat GNU je morao da razvije dijelove višeg nivoa kernela, i to kao zbirku korisničkih programa. Ova zbirka je prvobitno trebala da se zove Aliks (Alix), ali je kasnije razvijaču () Michael Bushnell-u draže bio dio imena Hurd. pa je Alix prvo pomjereno za ime podsistema i na kraju i konačno izbačeno. Na koncu, razvoj Hurd-a se otegao zbog tehničkih i sukoba ličnosti.

1991 godine Linus Torvalds (Linus Torvalds) napisao je UNIX kompatibilni kernel Linux. Mada prvobitno nije bilo slobodan softver, Torvalds je licencu promijenio na GNU-ovu GPL 1992 Linuks su dalje razvijali razni programeri preko Interneta. 1992. je kombinovano sa GNU sistemom, što je za rezultat imalo potpuno funkcionalan slodoban operativni sistem. Komponente iz GNU sistema se najčešće sreću uklopljene u Linux sistem, zbog čega brojni pojedinci Linux ispravnije zovu "GNU/Linux". Od 2005 Hurd je u sporom razvoju te je sada zvanični kernel GNU sistema. Postoji također i projekat koji radi na portovanju GNU sistema na jezgra FreeBSD-a i NetBSD-a.

 GNU softver 
Dio softvera koji je razvijen u okviru projekta GNU:

 Sistemski softver
 GNU bison – (parser generator) namijenjen kao zamjena za yacc
 Bash – komandna školjka
 BFD – biblioteka objektnih datoteka
 Classpath – biblioteke za Javu
 Coreutils – osnovni Unix alati, kao što su cat, ls i rm
 Emacs – proširivi, samodokumentujući uređivač teksta
 glibc – POSIX standardna biblioteka za C, sa dodatnom funkcionalnošću

 gzip – biblioteka i program za kompresiju podataka
 GNU-ov alatni lanac za razvoj softvera: 
 GNU Binutils – assembler (assembler), linker (linker) i srodni alati
 GNU-ov sistem za gradnju (GNU build system) – Automake, Autoconf, Libtool
 GCC – optimizirajući prevodilac za mnoge programske jezike, uključujući C, C++, FORTRAN, Adu i Javu
 GDB – debugger
 GNU MDK – razvojni komplet (development kit) za programiranje u MIX-u
 Screen – multipleksor (multiplexer) terminala
 Texinfo – dokumentacioni sistem za proizvodnju mrežnih (online) i štampanih uputstava
 GNU wget – napredno preizimanje datoteka sa mreža i Interneta
 GNUnet – decentralizovana „peer-to-peer“ komunikaciona mreža dizajnirana da bude otporna na cenzuru
 DotGNU – zamjena za .NET
 GNU Hurd – skup servera utemeljen na kernelu koji obavlja iste funkcije kao i Unix kernel
 Aplikativni softver
 GIMP – GNU-ov program za manipulaciju slikama (GNU Image Manipulation Program)
 GLPK – paket namjenjen rješavanju problema u linearnom programiranju (LP), mixed integer programming (MIP) i sličnih.
 GMP – biblioteka za numeričke proračune u proizvoljnoj preciznosti 
 GNOME – grafičko okruženje
 GNU LilyPond – program za pisanje notnih zapisa
 GNU Octave – program za numeričke proračune sličan MATLAB-u
 GNU Privacy Guard (GnuPG) – slobodna alatka za enkripciju koja može da zamijeni PGP
 GNU Robots – mala ali zarazna igra za računarske programere
 GSL – GNU-ova naučna biblioteka (GNU Scientific Library)
 GNUstep – izvedba (implementacija) OpenStep standarda za skup biblioteka i razvojnih alata za grafičke aplikacije
 Guile – ugradivi (embeddable) interpreter za Scheme 

GNU projekat također raspodjeljuje i pomaže u razvoju drugih paketa koji su nastali drugdje, npr:
 DDD – grafički frontend za debuggere
 eCos – mali operativni sistem za ugrađene (embedded) uređaje
 CVS – kontrola izvornog koda

U januaru 2004. godine bilo je ukupno 260 GNU paketa dostupnih na GNU-ovom sajtu Savana (Savanah) koji služe u tu svrhu. Ostali se mogu naći na na drugim mjestima.

 Govornici 
Zvanični govornici projekta GNU :
 Robert J. Chassell
 Loïc Dachary
 Ricardo Galli
 Georg Greve
 Federico Heinz
 Bradley Kuhn
 Eben Moglen
 Richard Stallman
 David Sugar

 Također pogledajte 

 Fondacija slobodnog softvera
 Pokret slobodnog softvera
 Slobodan softver
 Otvoreni softver
 Copyleft
 GNUzilla

 Reference 
 Kopija prvobitne objave Ričarda Stalmana

 Vanjski linkovi 
 Službena stranica projekta GNU 
 Stalmanova objava projekta GNU iz 1983. 
 Poduže Stalmanovo lično mišljenje o projektu i njegovoj historiji 
 Slobodna univerzalna enciklopedija i izvor za učenje (The Free Universal Encyclopedia and Learning Resource), Stalmanov esej o GNU-ovoj enciklopediji 

Kategorija:Skraćenice
Kategorija:UNIX
Kategorija:GNU