GNU
GNU je Unixu sličan računalni operacijski sustav koji se potpuno sastoji od slobodnog softvera i ne sadrži Unixov kôd. GNU je rekurzivna kratica za "GNU nije Unix" (izgovara se "g'nju").
Projekt razvoja sustava GNU pokrenuo je 1984. godine Richard Stallman. Kroz 6 godina Stallman i suradnici napisali su na stotine programa koji su inače dio jednog tipičnog Unixu sličnog operacijskog sustava. Programi proizišli iz tog projekta obično se nazivaju GNU-paketi ili GNU-programi. GNU se konstantno razvija. Službena jezgra sustava (eng. kernel), GNU Hurd, nije dovršena te je stoga projekt GNU postao jedna od bitnih komponenti operacijskog sustava GNU/Linux.
Povijest GNU projekta
urediRichard Matthew Stallman, softverski inženjer na MIT-u (Massachusetts Institute of Technology), uvidio je 1980. godine da se programi ne isporučuju s izvornim kodom, uvode se stroga pravila kopiranja i licence pa ih ne možemo prilagođavati svojim potrebama.
Dugogodišnju ideju o slobodnim informatičkim tehnologijama koje će biti dostupne svima oživotvorio je 1983. godine u objavi GNU project. U listopadu 1985. godine Stallman je izdao GNU Manifesto i osnovao Zakladu slobodnog softvera (FSF), neprofitnu organizaciju koja pruža logističku, pravnu i financijsku podršku GNU projektu. Malo je ljudi njega i taj projekt tada ozbiljno shvaćalo, a to se kasnije pokazalo velikom pogreškom. Danas smo svjedoci da se slobodni softver najbrže razvija i širi među korisnicima. Stallman je neumoran aktivist slobodnog softvera i autor najpoznatije licence – GPL (General Public License), a i nekolicine drugih.
U nepovezanom razvoju iste godine tvorci grafičkog sučelja s mrežnom podrškom - X window sustava (X, X11) izdaju izvorni kod bez povlastica, ograničenja ili licenciranog koda. X tako postaje neutralno područje za suradnju između isporučitelja Unix verzija, čime se izbjegava da se na njih dograde vlasnički (komercijalni) prozori (grafika).
GNU programi
urediU sklopu razvoja slobodnog unixoidnog operativnog sustava Stallman je najprije kreirao potrebne alate za taj projekt. Tu se ubrajaju GCC (Gnu Compiler Collection), Glibc (Gnu C Library), uređivač teksta - Gnu Emacs i Gnome - grafičko korisničko sučelje. GNU programi mogu se koristiti samostalno ili se mogu instalirati na vlasničke Unix verzije umjesto originalnih programa. To se posebno odnosi na alate za programiranje ili razvojne alate. U praksi su se oni pokazali superiornima u odnosu na ekvivalentne Unix programe, iako SYSTEM V nije potpuno kompatibilan s POSIX standardom. Mnogi GNU programi se kompajliraju i za Microsoft Windows, Apple Mac OSX i druge platforme.
Neovisno o ovom revolucionarnom GNU projektu finski znanstvenik Linus Benedict Torvalds pokrenuo je još jedan. Linus je, inspiriran Minix operativnim sustavom (čiji je autor Andrew Tanenbaum), napravio potpuno novi središnji dio operativnog sustava sličan Unix verziji koji je nazvao Linux. On je u rujnu 1991. godine objavio prvi Linux kernel verzije 0.01, za arhitekturu procesora 80386. Torvalds je danas glavni programer u razvoju Linux jezgre, a djeluje i kao koordinator cijele projektne ekipe.
Spajanjem ovih dvaju projekata nastaje GNU/Linux - višekorisnički i višeposlovni operativni sustav s mnoštvom slobodnih i besplatnih aplikacija, koji se često pogrešno naziva samo Linux. Cjelokupan sistemski i korisnički softver izdaje se pod različitim slobodnim licencama.
GNU licence
urediLicenca je pravo na korištenje softvera prema pravilima licencnog ugovora, a neke od GNU licenci su:
- GPL (General Public License), opća javna licenca koja je copyleft kompatibilna licenca, ima niz prednosti u odnosu na copyright restriktivnije licence, a aktualna je verzija 3. GPL licenca dozvoljava korisniku da proizvod prilagođava svojim potrebama, da ga mijenja u smislu poboljšanja ili uvođenja novih osobina te da ga slobodno redistribuira svim zainteresiranim osobama. GPL softver specifičan je i po tome što je izvorni kod dostupan svima i ne postoje ograničena prava na uvid u algoritme i slično. GPL program je besplatan, ali se distribucija smije naplaćivati, korisnik je slobodan s programom činiti što ga je volja, dopušteno je npr. mijenjanje koda, ispravljanje pogrešaka, povećanje mogućnosti i distribucija. Novi izvorni kod nasljeđuje licencu, tvorac koda koji je uključen u novi kod ne gubi autorska prava. Ako se program razvija za osobne potrebe, ne treba stavljati GPL licencu na program ili njegov dio. Ako se proizvod namjerava prodavati ili ga želimo na neki drugi način dati u javnost, treba onaj dio koda koji koristi GPL-licencirani kod dati pod GPL licencu. Ako se razvijani program može razlučiti u logičke cjeline – module, tada GPL licencu moraju naslijediti samo oni moduli koji prvotno sadrže izvorni kod koji je pod GPL-om. Slobodni programi mogu se prodavati pod uvjetom da je omogućen pristup izvornom kodu ili se mora pismenim putem obavezati na davanje izvornog koda svim zainteresiranima, u tom slučaju postoje određena ograničenja cijene proizvoda. Licencu možemo napisati ispočetka ili možemo primijeniti neku već postojeću.
- FDL (Free Documentation License), licenca slobodne dokumentacije logičan je slijed GPL-a, a preporučuje se za licenciranje priručnika i ostale prateće dokumentacije. Vrhunski sistemski i aplikativni softver otvorenog izvornog koda pod tim licencama postaje dostupan poduzećima, državnim institucijama i pojedincima. Unix tako doživljava svoju drugu mladost, brzo se razvija i postaje operativni sustav na svim kategorijama računala (od osobnih do super), a ugrađen je i u uređaje široke potrošnje (Embedded Systems). U vremenu kada prevladavaju operativni sustavi s grafičkim korisničkim sučeljem (Graphic User Interface) kojima daju prednost korisnici koji nisu informatički obrazovani, bitno je ljubazno lice unix-oida (User Friendly), što upravo omogućava X s pripadajućim grafičkim aplikacijama. Najpoznatije Linux verzije su: Debian, Slackware, Ubuntu/Kubuntu/Xubuntu/Edubuntu, SuSE/OpenSuSE, RedHat/Fedora, Cent OS, Gentoo, PC Linux OS, Mandriva, Knoppix, Mint, MeeGo, Android, itd.
Prednosti programa otvorenog izvornog koda pred programima zatvorenog koda su:
- mogućnost mijenjanja i prilagodba namjeni
- dijeljenje i kopiranje među korisnicima
- učenje iz tuđih programskih rješenja
- neovisnost o jednom dobavljaču
- brži i učinkovitiji razvoj
- podupiranje lokalnog gospodarstva
- izraženija kreativnost i inventivnost
- niža cijena kompletnog informacijskog rješenja
- povećana sigurnost jer nema skrivenih funkcija
- otvorenost formata zapisa datoteka (ODF)
Svijet je velik, u njemu ima mjesta za sve, dakle, svaki program nalazi svoje korisnike. Za sve znanosti, a tako i za informatičke te za računalsku, važno je da ne postoji monopol i da zbog toga ne zastane razvoj. Na kraju profitiraju svi korisnici jer imaju mogućnost izbora.