Still working to recover. Please don't edit quite yet.

GNU

Iz Anarhopedije, narodne enciklopedije.
Revision as of 18:57, 16 September 2006 by LuDisT (Talk | contribs) (GNU-ov softver)

Jump to: navigation, search
GNU logo
GNU je operativni sistem sastavljen isključivo od slobodnog softvera. Njegovo ime je rekurzivna skraćenica za „GNU Nije Uniks“ („GNU's Not Unix“). Ričard Stalman je 1983. objavio Projekat GNU, u cilju stvaranja potpunog Uniks kompatibilnog operativnog sistema — poznatog kao GNU sistem ili prosto GNU — koji je slobodan softver. Projekat GNU se danas odvija pod pokroviteljstvom Zadužbine 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 Emaks, GNU-ova zbirka kompajlera (GNU Compiler Collection), GNU-ov debager (GNU Debugger) i radno okruženje Gnom.

GNU sistem se obično koristi u kombinaciji sa jezgrom Linuks, koje je razvijeno van projekta GNU. Ova kombinacija čini potpuno funkcionalan operativni sistem, GNU sa Linuksom (GNU/Linux), koji se međutim često pogrešno naziva samo „Linuks“. Za detalje pogledajte GNU i Linuks - spor oko imena.

GNU-ovi programi se često koriste i samostalno. Nije neuobičajeno naći komponente GNU-a instalirana na vlasničkim Uniks sistemima umesto prvobitnih Uniks programa — posebno onih koji su alatke za programiranje i koji se često nazivaju zajedničkim imenom GNU-ov skup alata. (Što je samo mali deo celine GNU sistema.) Koriste se na ovaj način jer su se pokazali kao superiorni u odnosu na ekvivalentne Uniks verzije, čak i onda kada nisu potpuno saglasni sa POSIX standardom. Takođe, zbog popularnosti kombinacije GNU sa Linuksom, 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đe prebačeni (ported) na Mikrosoftov Vindous, Mekintoš OS X i razne druge vlasničke platforme. Međutim, razlog za postojanje portova je da pomognu da se ti sistemi zamene slobodnim softverom.


Istorija

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 sledeće godine, kada je Stalman dao ostavku na MIT-u da bi ih onemogućio da polažu bilo kakva prava ili da ometaju raspodelu (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 Uniks je već bio u širokoj upotrebi. Budući da se arhitektura Uniksa pokazala tehnički stabilnom, sistem GNU je dizajniram tako da bude kompatibilan sa njim. Uniks arhitektura je omogućavala da GNU bude napisan od pojedinačnih softverskih komponenti. One komponente koje su već bile slobodno dostupne, kao što su TeK sistem za prelom teksta i Iks Vindou grafički sistem, će biti prilagođene i ponovo iskorišćene, dok će nedostajuće biti napisane od nule.

1985. godine Stalman je osnovao Zadužbinu za slobodni softver (ZSS), neprofitnu organizaciju da bi pružala logističku, pravnu i finansijsku podršku projektu GNU. ZSS takođe zapošljava i programere da doprinose GNU-u, mada je značajan deo razvoja bio (i još uvek je) delo 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 najuspešniji od ovih je bio Sajgnus Solušns (Cygnus Solutions), danas deo Red Heta (Red Hat).

Da bi osigurao da GNU softver ostane slobodan, projekat je 1989. godine izdao prvu verziju GNU-ove Opšte javne licence (GNU-ova OJL, poznatija po engleskoj skraćenici GNU GPL). Ovu licencu danas koristi najveći deo GNU programa, kao i veliki broj programa slobodnog softvera koji nisu deo projekta GNU; to je jedna od najčešće korišćenih licenci slobodnog softvera na svetu. Ona daje pravo svima koji prime program da ga pokreću, kopiraju, menjaju i preraspodeljuju (distribuiraju) a istovremeno im brani da nametnu dalja ograničenja na kopije koje oni raspodele. Ova ideja se naziva kopileft (copyleft).

Do 1990. godine, sistem GNU je imao proširivi uređivač teksta (Emaks), vrlo uspešan optimizirajući prevodilac (kompajler) (GCC) kao i većinu osnovnih biblioteka i alatki jedne standardne Uniks distribucije. Glavna komponenta koja je još uvek nedostajala je bilo jezgro. U Manifestu GNU-a, Stalman je pomenuo da „osnove jezgra postoje, ali nam nedostaje još osobina do emulacije Uniksa“. 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 raspodeljuju besplatno (for free) a koji je bio kompatibilan sa verzijom 7 Uniksa. U decembru 1986. počeo je rad na prilagođavanju ovog jezgra. 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 „retkoj i skupoj 68000 platformi“ („an obscure, expensive 68000 box“) i da bi ga zato trebalo portovati (prebaciti) na druge platforme pre nego što uopšte bude korišćeno. Do 1988. je umesto njega razmatrano Max (Mach), jezgro sa slanjem poruka (message-passing kernel), koje je razvijano 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 Mah obezbeđivalo samo najniže funkcije jezgra, Projekat GNU je morao da razvije delove višeg nivoa jezgra, i to kao zbirku korisničkih programa. Ova zbirka je prvobitno trebala da se zove Aliks (Alix), ali je kasnije razvijaču (developer) Majklu Bušnelu (Michael Bushnell) draže bio deo imena Krdo (Hurd), pa je Aliks prvo pomereno za ime podsistema i na kraju i konačno izbačeno. Na koncu, razvoj KRDO-a se otegao zbog tehničkih i sukoba ličnosti.

1991. godine Linus Torvalds (Linus Torvalds) je napisao Uniks kompatibilno jezgro Linuks. Mada prvobitno nije bilo slobodan softver, Torvalds je licencu promenio na GNU-ovu OJL 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. GNU sistem se najčećše sreće u ovom obliku, i obično se naziva „sistem GNU-a sa Linuksom“ ili „distribucijom Linuksa“. Od 2005. Krdo je u sporom razvoju te je sada zvanično jezgro GNU sistema. Postoji takođe i projekat koji radi na portovanju GNU sistema na jezgra FreeBSD-a i NetBSD-a.

GNU-ov softver

Deo softvera koji je razvijen u okviru projekta GNU:

  • Sistemski softver
    • GNU_bison – generator rasčlanjivača (parser generator) namenjen kao zamena za yacc
    • Bash – komandna školjka
    • BFD – biblioteka objektnih datoteka
    • Classpath – biblioteke za Javu
    • Coreutils – osnovne Uniks alatke, kao što su cat, ls i rm
    • Emacs – proširivi, samodokumentujući uređivač teksta
    • glibc – POSIX standardna biblioteka za Ce, sa dopunskom funkcionalnošću
    • gzip – biblioteka i program za kompresiju podataka
    • GNU-ov alatni lanac za razvoj softvera:

+ GNU Binutils – asembler (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 Ce, Ce++, Fortran, Adu i Javu + GDB – debager (debugger)

    • GNU MDK – razvojni komplet (development kit) za programiranje u MIX-u
    • Screen – multipleksor (multiplexer) terminala
    • Texinfo – dokumentacioni sistem za proizvodnju mrežnih (onlajn) i štampanih uputstava
    • GNU wget – napredno dobavljanje datoteka sa mreža i Interneta
    • GNUnet – decentralizovana „peer-to-peer“ komunikaciona mreža dizajnirana da bude otporna na cenzuru
    • DotGNU – zamena za .NET
    • GNU Hurd – skup servera utemeljen na mikrokernelu koji obavlja iste funkcije kao i Uniks jezgro
  • Aplikativni softver
    • GIMP – GNU-ov program za manipulaciju slikama (GNU Image Manipulation Program)
    • GLPK – paket namenjen rešavanju problema u linearnom programiranju (LP), mixed integer programming (MIP) i sličnih.
    • GMP – biblioteka za numeričke proračune u proizvoljnoj preciznosti
    • Gnom (GNOME) – grafičko radno 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 zameni 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 Shim (Scheme)

GNU projekat katođe raspodeljuje i pomaže u razvoju drugih paketa koji su nastali drugde, na primer:

  • DDD – grafički prednjak (frontend) za debagere
  • eCos – mali operativni sistem za ugrađenje (embedded) uređaje
  • CVS – kontrola izvornog koda

U januaru 2004. godine bilo je ukupno 260 GNU paketa udomljenih na GNU-ovom sajtu Savanah koji služu u tu svrhu. Ostali se mogu naći na na drugim mestima.


Tekst preuzet sa www.sr.wikipedia.org pod uslovima GNU licence.