GNU
GNU je operativni sistem sastavljen isključivo od slobodnog softvera. Njegov naziv je rekurzivna skraćenica za „GNU nije juniks“ (GNU's Not Unix). Ovo je odabrano zato što je njegov dizajn juniksolik (Unix-like), ali od Juniksa se razlikuje po tome što je slobodan softver i ne sadrži njegov kod.[1] Razvoj GNU-a je pokrenuo Ričard Stolman, i to je bio prvobitni cilj 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 kompilatora (GNU Compiler Collection), GNU-ov debager (ispitivač) (GNU Debugger) i grafičko 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 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 instalisane na vlasničkim juniks sistemima umesto prvobitnih juniks programa – posebno onih koji su alatke za programiranje i koji se često nazivaju zajedničkim imenom GNU-ov skup alatki. (Što je samo mali deo celine GNU sistema.) Koriste se na ovaj način jer su se pokazali kao superiorni u odnosu na ekvivalentne juniks verzije, čak i onda kada nisu potpuno saglasni sa standardom POSIX. Takođe, zbog popularnosti kombinacije GNU sa linuksom, mnogi koji rade na razvoju softvera instališu 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 Microsoft Windows, Mekintoš OS X i razne druge vlasničke platforme. Međutim, razlog za postojanje portova (prenosa, tj. i drugih verzija) je da pomoGNU da se ti sistemi zamene slobodnim softverom.
Istorija uredi
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 Stolman dao ostavku na MIT-u da bi izbegao mogućnost da univerzitet polaže bilo kakva prava ili da omete raspodelu (distribuciju) GNU-a kao slobodnog softvera. Prvobitna objava je praćena Stolmanovim „[[Manifest GNU-a|Manifestom GNU-a]]“ i drugim esejima u kojima je izložio svoje 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 juniks je već bio u širokoj upotrebi. Budući da se arhitektura juniksa pokazala tehnički stabilnom, sistem GNU je dizajniran tako da bude kompatibilan sa njim. Arhitektura Juniksa je omogućavala da GNU bude napisan od pojedinačnih softverskih komponenti. One komponente koje su već bile slobodno dostupne, kao što su sistem za prelom teksta TeK i grafički sistem Iks Windows će biti prilagođene i ponovo iskorišćene, dok će nedostajuće biti napisane od nule.
Godine 1985. Stolman je osnovao neprofitnu organizaciju Zadužbinu za slobodan softver (ZSS), 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širiv uređivač teksta (Emaks), vrlo uspešan optimizujući prevodilac (kompilator) (GCC) kao i većinu osnovnih biblioteka i alatki jedne standardne juniks distribucije. Glavna komponenta koja je još uvek nedostajala je bilo jezgro. U Manifestu GNU-a, Stolman je pomenuo da „osnove jezgra postoje, ali nam nedostaje još osobina do emulacije juniksa“. 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. juniksa. 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, preneti) 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 trebalo da se zove Aliks (Alix), ali je kasnije razvijaču (developer) Majklu Bušnelu (Michael Bushnell) draže bilo deo imena Krdo (Hurd), pa je Aliks prvo pomereno za ime podsistema i na kraju i konačno izbačeno. Na kraju se razvoj Krda otegao zbog tehničkih i sukoba ličnosti.
Godine 1991. Linus Torvalds (Linus Torvalds) je napisao juniks kompatibilno jezgro linuks. Mada prvobitno nije bio 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 prenošenju GNU sistema na jezgra FreeBSD-ja i NetBSD-ja.
GNU-ov softver uredi
Deo softvera koji je razvijen u okviru projekta GNU:
- Sistemski softver
- GNU bison - generator raščlanjivača (parser generator) namenjen kao zamena za yacc
- Bash - komandna školjka
- BFD - biblioteka objektnih datoteka
- Classpath - biblioteke za Javu
- Coreutils - osnovne juniks 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 juniks 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 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 takođe raspodeljuje i pomaže u razvoju drugih paketa koji su nastali drugde, na primer:
- DDD - grafičko sučelje (engl. frontend) za debagere
- eCos - mali operativni sistem za uklopne/ugrađene (engl. embedded) uređaje
- CVS - kontrola izvornog koda
U januaru 2004. godine bilo je ukupno 260 GNU paketa udomljenih na GNU-ovom sajtu Savana (Savanah) koji služu u tu svrhu. Ostali se mogu naći na drugim mestima.
Govornici uredi
Slede zvanični govornici projekta GNU [1]:
- Robert Časel (Robert J. Chassell)
- Loik Dakari (Loïc Dachary)
- Rikardo Gali (Ricardo Galli)
- Georg Grev (Georg Greve)
- Federiko Hajnc (Federico Heinz)
- Bredli Kun (Bradley Kuhn)
- Eben Moglen (Eben Moglen)
- Ričard Stolman (Richard Stallman)
- Dejvid Šuger (David Sugar)
Priznanja uredi
Vidi još uredi
- Zadužbina za slobodni softver
- Pokret slobodnog softvera
- Slobodan sadržaj
- Otvoreni standardi
- Kopileft
- [[Spisak GNU paketa]]
Reference uredi
- ^ „The GNU Operating system”. Pristupljeno 18. 8. 2008.
Spoljašnje veze uredi
- Zvanični veb-sajt
- Kopija prvobitne objave Ričarda Stolmana
- Prevod „Manifesta GNU-a“ na srpski jezik Arhivirano na sajtu Wayback Machine (24. januar 2012)
- Lista slanja gnu-system-discuss, tehnička diskusija o GNU sistemu
- GNU Forum - Veliki spoljni nezvanični forum koji udomljuje Nabble. Arhivira liste slanja mnogih GNU-ovih projekata, što omogućava lakše pregledanje i pretraživanje.
- Stolmanova objava projekta GNU iz 1983.
- Poduže Stolmanovo lično mišljenje o projektu i njegovoj istoriji
- Slobodna univerzalna enciklopedija i izvor za učenje (The Free Universal Encyclopedia and Learning Resource), Stolmanov esej o GNU-ovoj enciklopediji
- GNU-prijatelji (GNU-friends), diskusioni forum
- Sorsfordžovi portovi GNU-ovih alata za Majkrosoftov Windows
- Sorsfordž-oliki sajt za projekte razvoja GNU-ovog softvera