Linuks i Projekat GNU
Mnogi korisnici računara svakodnevno koriste
izmenjenu verziju sistema
GNU, a da toga nisu ni svesni. Zahvaljujući čudnom spletu
okolnosti, verzija GNU-a koja je danas veoma rasprostranjena se često
naziva „Linuksom“, a mnogi korisnici nisu
ni svesni da je ona u osnovi sistem GNU, koga izgrađuje Projekat
GNU.
Linuks stvarno postoji, i ljudi ga koriste, ali se
ne radi o operativnom sistemu. Linuks je jezgro: program u sistemu
koji dodeljuje resurse mašine drugim programima koje pokrećete.
Jezgro je ključni deo operativnog sistema, ali je samo za sebe
beskorisno; ono može da funkcioniše samo u sklopu celog operativnog
sistema. Linuks se obično koristi u kombinaciji sa operativnim
sistemom GNU: ceo sistem je u osnovi GNU sa dodanim Linuksom, tj. GNU
sa Linuksom. Sve distribucije takozvanog „Linuksa“ su u stvari
distribucije GNU-a sa Linuksom.
Mnogi korisnici ne razumeju razlike između jezgra,
koje je Linuks, i celokupnog sistema, koji takođe nazivaju
„Linuksom“. Dvosmislena upotreba naziva ne poboljšava
razumevanje stvari. Takvi korisnici obično misle da je Linus
Torvalds razvio ceo operativni sistem 1991. uz neznatnu pomoć
drugih.
Programeri uglavnom znaju da je Linuks jezgro. Ali,
pošto su čuli da se sistem u većini slučajeva naziva „Linuksom“,
oni često konstruišu izmišljeni istorijski tok događaja koji bi
opravdao takvo imenovanje celog sistema po jezgru. Na primer, mnogi
veruju da su čim je Linus Torvalds završio pisanje Linuksa, jezgra,
njegovi korisnici tražili drugi slobodni softver da to jezgro
dopuni, i otkrili da je (bez ikakvog konkretnog povoda) većina
stvari koje su neophodne uniksolikom sistemu već bila dostupna.
To što su otkrili nije bilo slučajno — to je bio
tada još nedovršen sistem GNU. Dostupan slobodni
softver je dopunio sistem, jer je u okviru Projekta GNU od 1984.
razvijan takav, potpun sistem. Manifestom
GNU-a je zacrtan cilj — razvoj slobodnog uniksolikog sistema,
koji se zove GNU. Prvobitna
najava Projekta GNU takođe ilustruje neke od prvobitnih planova
za sistem GNU. Ceo sistem je bio skoro gotov do vremena kada je
započet Linuks.
Većina projekata slobodnog softvera imaju za cilj
razvoj određenog programa za obavljanje određenog posla. Na primer,
Linus Torvalds je sebi postavio zadatak da napiše uniksoliko jezgro
(Linuks); Donald Knut (Donald Knuth) je sebi postavio
zadatak da napiše program za slaganje teksta (TeH); Bob Šajfler
(Bob Scheifler) je sebi postavio zadatak da razvije
prozorski sistem (prozorski sistem Iks). Prirodno je ocenjivati
veličinu doprinosa koji ovakvi projekti donose, kroz pojedinačne
programe koji su razvijeni u okviru projekta.
Šta bismo zaključili ako bismo pokušali da
ocenimo doprinos projekta GNU na ovaj način? Jedan prodavac sistema
na CD-ROM-ova je otkrio da je u njegovoj „distribuciji
Linuksa“ udeo GNU-ovog
softvera najveći, otprilike oko 28% od ukupnog izvornog koda, a
on uključuje neke od najvažnijih delova bez kojih sistem ne bi
mogao da funkcioniše. Linuks je imao udeo od oko 3%. (Odnosi 2008.
su slični: u skladištu gNewSense-a, Linuks zauzima 1,5% a
GNU-ovi paketi 15%.) Dakle, ukoliko ćete da birate naziv sistema na
osnovu toga ko je napisao programe koji čine taj sistem, najbolja
varijanta, koja bi se ograničila na jedan izvor, bila bi „GNU“.
Ali mi ne smatramo da je ovo ispravan način da se
razmatra ovo pitanje. Projekat GNU nije bio i nije projekat razvoja
određenih softverskih paketa. On nije projekat izgradnje
prevodioca za Ce, iako smo u okviru Projekta GNU izgradili i
prevodilac za Ce. On nije projekat izgradnje uređivača teksta, iako
smo u okviru njega razvili jedan uređivač. Projekat GNU je pokrenut
da izgradi potpun slobodni uniksoliki sistem: GNU.
Mnogi ljudi su značajno doprineli slobodnom
softveru koji čini sistem, i svi oni zaslužuju da im se oda
priznanje. Ali razlog zbog koga je GNU združeni sistem, a
ne samo skup korisnih programa, je što je Projekat GNU osnovan sa
namerom da takav sistem napravi. Sačinili smo spisak programa koji
su neophodni da se napravi potpun slobodan sistem, i
sistematski smo tražili, pisali, ili tražili ljude koji bi pisali,
sve sa tog spiska. Napisali smo i ključne ali nezanimljive (1)
delove, jer sistem ne može da funkcioniše bez njih. Neki od delova
našeg sistema, programerski alati, su zasebno postali popularni među
programerima, ali smo napisali i mnoge delove koji nisu alati (2).
Čak smo razvili i igru šaha, GNU-ov šah, jer su za potpun sistem
neophodne i dobre igre.
Do ranih devedesetih sastavili smo ceo sistem,
isključujući jezgro. Pokrenuli smo i izgradnju jezgra, GNU-ovog
Krda, koje se izvršava preko Maha. Razvoj ovog jezgra je bio
dosta teži od očekivanog; GNU-ovo
Krdo je postalo stabilno tek 2001, ali je daleko od toga da ga
ljudi mogu šire koristiti.
Srećom, nismo morali da čekamo Krdo, jer već bio
dostupan Linuks. Napisavši Linuks, Linus Torvalds je popunio
značajnu prazninu u sistemu GNU. Ljudi su mogli da spoje
Linuks sa sistemom GNU i time dobiju potpun slobodni sistem:
sistem GNU zasnovan na jezgru Linuks, ili, kraće, sistem GNU sa
Linuksom.
Omogućavanje da oni dobro funkcionišu zajedno nije
bio lak posao. Neke delove GNU-a (3)
je bilo potrebno korenito menjati da bi mogli da rade sa Linuksom.
Veliki posao je predstavljalo i združivanje potpunog sistema u vidu
distribucije koja bi radila „odmah po raspakivanju“. Ono je
zahtevalo rešavanje problema sa instalacijom i pokretanjem sistema —
taj problem tada nismo načinjali, jer dotle tada nismo stigli. Ljudi
koji su gradili razne distribucije sistema su nam veoma pomogli u
osnovnom radu. Ali taj posao, po prirodi stvari, je neko zasigurno
morao da obavi.
Projekat GNU podržava sisteme GNU-a sa Linuksom
isto kao i pravi[1]
sistem GNU. ZSS je finansirala ponovno
pisanje proširenja GNU-ove biblioteke za Ce, koja su u vezi sa
Linuksom, tako da su sad ona dobro združena, a najnoviji sistemi
GNU-a sa Linuksom bez izmena koriste najnovija izdanja te biblioteke.
ZSS je takođe finansirala rane faze razvoja Debijanovog GNU-a sa
Linuksom.
Danas postoje mnoge različite varijante sistema GNU
sa Linuksom (koje se često nazivaju „distribucijama“). Većina
njih sadrži neslobodni softver. Njihovi graditelji prate filozofiju
koja se povezuje sa Linuksom, a ne GNU-ovu filozofiju. Ali, postoje i
potpuno slobodne distribucije
GNU-a sa Linuksom. ZSS obezbeđuje računarske resurse dvema od
ovih distribucija, Ututou i
gNewSense-u.
Pravljenje slobodne distribucije GNU-a sa Linuksom
nije samo stvar eliminisanja raznih neslobodnih programa. Danas
uobičajena verzija Linuksa takođe sadrži neslobodne programe. Ovi
programi su predviđeni za učitavanje u U/I uređaje u vreme početka
izvršavanja sistema, a uključeni su u „izvorni kod“ Linuksa kao
nizovi brojeva. Zato održavanje distribucije GNU-a sa Linuksom sada
uključuje i održavanje slobodne
verzije Linuksa.
Bez obzira na to da li koristite GNU sa Linuksom ili
ne, molimo vas da ne zbunjujete javnost upotrebljavajući dvosmisleni
naziv „Linuks“. Linuks je jezgro, jedan od najvažnijih delova
sistema. Sistem kao celina je u osnovi sistem GNU, sa dodatkom jezgra
Linuks. Kada pričate o ovoj kombinaciji, molimo vas da je nazivate
„GNU-om sa Linuksom“.
Ukoliko negde želite da pomenete vezu (u smislu veb
stranice) ka „GNU-u sa Linuksom“, dobri izbori su ova stranica i
stranica http://www.gnu.org/gnu/the-gnu-project.html.
Ukoliko pominjete samo jezgro Linuks, i želite da pomenete vezu za
dalje informacije, dobar URL je
http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Linux.
Dodatak: Pored GNU-a, još jedan projekat je
nezavisno proizveo slobodan uniksoliki operativni sistem. Ovaj sistem
je poznat pod nazivom BSD, a razvijen je na Univerzitetu Berkli.
Osamdesetih je bio neslobodan, ali je postao slobodan ranih
devedesetih. Slobodni opreativni sistem koji postoji u današnje
vreme (4)
je skoro sigurno varijanta sistema GNU ili sistema BSD.
Ljudi nas ponekad pitaju da li je i BSD jedna
verzija GNU-a, kao što je to GNU sa Linuksom. Primer Projekta GNU je
inspirisao graditelje BSD-a da njihov kod učine slobodnim softverom,
a eksplicitne molbe GNU-ovih aktivista su im u tome pomogle, ali
njihov kod sam po sebi nema skoro ničeg zajedničkog sa GNU-om.
Sistemi BSD danas koriste neke GNU-ove programe, a sistem GNU i
njegove varijante koriste neke BSD-ove programe, ali, u celini, oni
predstavljaju dva razna sistema koji su se razvijali uporedo.
Graditelji BSD-a nisu napisali jezgro i dodali ga sistemu GNU, pa
stoga nazivi kao što je GNU sa BSD-om ne bi bili odgovarajući.(5)
Fusnote:
- Ovi nezanimljivi ali ključni delovi uključuju GNU-ov asembler, GAS i povezivač, GLD, a i jedan i drugi su delovi paketa GNU-ovih binarnih alata (GNU Binutils), GNU-ovog arhivara tar, i drugih.
- Na primer, Burnova ljuska Baš (The Bourne Again SHell — BASH), interpretator PostSkripta Gostskript (Ghostscript), i GNU-ova biblioteka za Ce nisu programerski alati, kao što to nisu ni programi GNUKeš (GNUCash), Gnom i GNU-ov šah.
- Na primer, GNU-ova biblioteka za Ce.
- Od kada je ovo napisano, izgrađuje se skoro-slobodni vindovsoliki sistem, ali tehnički on uopšte nije poput GNU-a ili Uniksa, pa ne utiče na ovaj problem. Veliki deo jezgra Solarisa je oslobođen, ali ukoliko biste želeli da na osnovu njega napravite slobodni sistem, morali biste, pored zamene nedostajućih delova jezgra, da ga stavite u GNU ili BSD.
- Sa druge strane, u godinama koje su usledile posle pisanja ovog članka, GNU-ova biblioteka za Ce je prenesena i na jezgro FriBSD-a, što je omogućilo da se sistem GNU kombinuje sa tim jezgrom. Kao što je to slučaj i sa GNU-om sa Linuksom, i ovo su zaista varijante GNU-a, koje se nazivaju GNU-om sa jFriBSD-om (GNU/kFreeBSD) i GNU-om sa jNetBSD-om (GNU/kNetBSD), u zavisnosti od toga koje jezgro sistem koristi. Obični korisnici uobičajenih kućnih računara teško mogu da razlikuju GNU sa Linuksom od GNU-a sa *BSD-ovima.
Primedbe prevodioca:
- U engleskom je istaknut određeni član the, što, mišljenja sam, u srpskom ne može drugačije da se predstavi nego uvođenjem prideva „pravi“. [SR]
Autor:
Ričard Stalman
Нема коментара:
Постави коментар