This translation may not reflect the changes made since 2014-04-04 in the English original.

You should take a look at those changes. Please see the Translations README for information on maintaining translations of this article.

Linux i sustav GNU

napisao Richard Stallman

Za više informacija pogledajte također ČPP o GNU/Linuxu, i Zašto GNU/Linux?

Mnogi korisnici računala svakodnevno upotrebljavaju izmijenjenu inačicu sustava GNU, iako toga nisu svjesni. Uslijed čudnovatog razvoja događaja, inačica GNU-a koja je danas rasprostranjena u upotrebi često se naziva “Linux”, a mnogi njeni korisnici nisu svjesni da je to u osnovi sustav GNU kojeg je razvio Projekt GNU.

Linux zaista postoji i ovi ljudi ga upotrebljavaju, međutim, to je samo dio sustava kojeg koriste. Linux je jezgra: program u sustavu koji dodjeljuje resurse stroja drugim programima koje pokrećete. Jezgra je ključan dio operativnog sustava, no samostalno je beskorisna—može djelovati samo u sklopu potpunog operativnog sustava. Linux se uobičajeno koristi udružen s operativnim sustavom GNU: cijeli sustav je u osnovi GNU s dodanim Linuxom, ili GNU/Linux. Sve takozvane “Linux” distribucije su zapravo distribucije GNU/Linuxa.

Mnogi korisnici ne razumiju razliku između jezgre, koja je Linux, i čitavog sustava, kojeg također nazivaju “Linuxom”. Nejasno korištenje imena ne pomaže u razumijevanju. Ovi korisnici često misle da je Linus Torvalds, uz malu pomoć, razvio cijeli operativni sustav 1991. godine.

Programeri općenito znaju da je Linux jezgra. No kako su većinom čuli da se cijeli sustav isto tako naziva “Linuxom”, često si predočavaju prošlost koja bi opravdala nazivanje cijelog sustava prema jezgri. Na primjer, mnogi vjeruju da su, jednom kada je Linus Torvalds dovršio pisanje Linuxa, jezgre, korisnici potražili drugi slobodan softver koji bi išao uz nju i pronašli kako je (bez nekog naročitog razloga) gotovo sve potrebno za sustav nalik Unixu već bilo dostupno.

To što su pronašli nije bila slučajnost—bio je to ne u potpunosti dovršen sustav GNU. Dostupan slobodan softver upotpunio je sustav jer je Projekt GNU na njemu radio od 1984. godine. U Manifestu GNU-a postavili smo cilj da razvijemo potpun sustav nalik Unixu, nazvan GNU. Prvotna objava Projekta GNU također ocrtava neke od izvornih nacrta sustava GNU. Do trenutka kada je započet Linux, GNU je već bio gotovo dovršen.

Cilj većine projekata slobodnog softvera je razvoj nekog određenog programa za određen posao. Na primjer, Linus Torvalds je krenuo pisati jezgru nalik Unixu (Linux); Donald Knuth je krenuo pisati oblikovatelj teksta (TeX); Bob Scheifler je krenuo razvijati sustav prozora (X Window System). Prirodno je mjeriti doprinos projekata ovakve vrste određenim programima koji su iz projekta proizišli.

Što bismo zaključili ako bismo pokušali na ovaj način mjeriti doprinos Projekta GNU? Jedan isporučitelj CD-ROM-ova utvrdio je da je u njihovoj “distribuciji Linuxa” softver GNU imao najveći pojedinačni udio, oko 28% ukupnog izvornog koda, a ovo je uključivalo neke od osnovnih glavnih sastavnih dijelova bez kojih sustava ne bi bilo. Sam Linux činio je oko 3%. (Omjeri 2008. godine su slični: u “glavnom” skladištu gNewSensea Linux je činio 1.5% a paketi GNU 15%.) Dakle, ako krenemo birati naziv sustava na temelju toga tko je napisao programe u sustavu, najprikladniji izbor bio bi “GNU”.

Međutim, to nije i najdublji način razmatranja tog pitanja. Projekt GNU nije bio niti je projekt razvoja određenih softverskih paketa. To nije bio projekt razvoja prevodioca za jezik C, premda smo to učinili. To nije bio niti projekt razvoja programa za obradu teksta, premda smo i njega razvili. Projekt GNU krenuo je razvijati potpun slobodan sustav nalik Unixu: GNU.

Mnogo ljudi značajno je pridonijelo slobodnom softveru u sustavu i svi oni zaslužuju priznanje za svoj softver.Međutim, razlog zbog kojeg je to integrirani sustav—a ne samo zbirka korisnih programa—je taj što je Projekt GNU postavio sebi za cilj da ga napravi takvim. Napravili smo popis programa potrebnih za potpun slobodan sustav te smo sustavno pronašli, napisali ili pronašli ljude koji će napisati sve što se nalazi na popisu. Napisali smo suštinske ali neuzbudljive (1) komponente jer bez njih nije moguće imati sustav. Neke od naših komponenata sustava, programski alati, postali su i samostalno popularni među programerima, ali napisali smo i mnogo komponenata koje nisu alati (2). Čak smo razvili i igru šaha, GNU Chess, jer potpun sustav treba i igre.

Do ranih devedesetih sastavili smo cijeli sustav osim jezgre. Započeli smo i rad na jezgri, GNU Hurd, koju pokreće Mach. Razvoj te jezgre bio je mnogo teži nego što smo očekivali; GNU Hurd postao je stabilan 2001. godine, ali još je daleko od toga da bude spreman za opću upotrebu.

Srećom, zbog Linuxa nismo morali čekati da Hurd bude dovršen. Jednom kada je Torvalds 1992. godine učinio Linux slobodnim, popunio je zadnju veliku prazninu u sustavu GNU. Ljudi su tada mogli udružiti Linux sa sustavom GNU kako bi napravili potpun slobodan sustav — inačicu sustava GNU koja je sadržavala i Linux, drugim riječima, sustav GNU/Linux.

Postići da zajedno rade nije bio jednostavan posao. Nekim komponentama GNU-a(3) bila je potrebna značajna izmjena kako bi radile s Linuxom. Integriranje cijelog sustava kao distribucije koja će raditi odmah nakon instalacije bio je također velik posao. To je zahtijevalo rješavanje načina instaliranja i pokretanja sustava—problem kojim se nismo bavili jer još nismo bili došli do njega. Dakle, ljudi koji su razvijali razne distribucije sustava napravili su mnogo neophodnog posla. No bio je to posao koji je, po prirodi stvari, netko svakako morao napraviti.

Projekt GNU podupire GNU/Linux sustave jednako kao i sam GNU sustav. FSF je financirao ponovno pisanje dodataka biblioteke GNU C vezanih uz Linux, tako da su oni sada dobro integrirani, a najnoviji sustavi GNU/Linux koriste trenutna izdanja biblioteke bez izmjena. FSF je također financirao rani stadij razvoja Debian GNU/Linuxa.

Danas postoji mnogo različitih varijanti sustava GNU/Linux (često zvanima “distre”). Većina njih uključuje neslobodan softver—njihovi razvijatelji slijede filozofiju povezanu s Linuxom više nego onu povezanu s GNU-om. No postoje i potpuno slobodne GNU/Linux distre. FSF podupire računalne sadržaje dviju takvih distribucija, Ututo i gNewSense.

Stvaranje slobodne distribucije GNU/Linuxa nije samo stvar uklanjanja raznih neslobodnih programa. Danas uobičajena inačica Linuxa također sadrži neslobodne programe. Ovi programi su namijenjeni učitavanju u ulazno-izlazne jedinice za vrijeme pokretanja sustava, a uključene su, kao dugački nizovi brojeva, u "izvorni kod" Linuxa. Stoga održavanje slobodnih distribucija GNU/Linuxa sada povlači za sobom i održavanje slobodne inačice Linuxa.

Koristili ili ne GNU/Linux, molimo nemojte zbunjivati javnost nejasnom upotrebom naziva “Linux”. Linux je jezgra, jedna od temeljnih glavnih komponenti sustava. Sustav kao cjelina je u osnovi sustav GNU kojem je dodan Linux. Kada govorite o toj kombinaciji, molimo zovite je “GNU/Linux”.

Ukoliko želite napraviti poveznicu na “GNU/Linux” za daljnje povezivanje, ova stranica i http://www.gnu.org/gnu/the-gnu-project.html dobar su izbor. Ukoliko spominjete Linux, jezgru, i želite dodati poveznicu, http://foldoc.org/linux je dobra adresa.

Dopuna: Uz GNU, još je jedan projekt neovisno proizveo slobodan operativni sustav nalik Unixu. Taj sustav poznat je kao BSD, a razvijen je na UC Berkeleyu. Osamdesetih godina bio je neslobodan, ali je u ranim devedesetima postao slobodan. Slobodni operativni sustavi koji danas postoje(4) gotovo sigurno su ili inačica sustava GNU ili neka vrsta sustava BSD.

Ponekad ljudi pitaju je li BSD također inačica GNU-a, kao GNU/Linux. Razvijatelje BSD-a je primjer Projekta GNU nadahnuo da svoj kod učine slobodnim softverom, a izričite molbe aktivista GNU-a pomogle su uvjeriti ih, ali sam kod ima malo dodirnih točaka s GNU-om. Sustavi BSD danas koriste neke programe GNU-a, baš kao što sustav GNU i njegove inačice koriste neke programe BSD-a; ipak, u cjelini, to su dva različita sustava koji su se razvijali odvojeno. Razvijatelji BSD-a nisu razvili jezgru i dodali je sustavu GNU pa ime kao što je GNU/BSD ne bi odgovaralo prilikama.(5)

Napomene:

  1. Ove neuzbudljive ali ključne komponente uključuju GNU asembler, GAS i linker, GLD, (oba su sada dio GNU Binutils paketa), GNU tar, i druge.
  2. Na primjer, Bourne Again SHell (BASH), interpreter PostScripta Ghostscript i biblioteka GNU C nisu programski alati. Nisu to ni GNUCash, GNOME, niti GNU Chess.
  3. Na primjer, biblioteka GNU C.
  4. Nakon što je ovo napisano, razvijen je gotovo potpuno slobodan sustav nalik sustavu Windows, no on tehnički uopće nije sličan GNU-u ili Unixu, tako da zapravo ne utječe na to pitanje. Većina jezgre Solarisa učinjena je slobodnom, ali ukoliko biste od toga željeli napraviti slobodan sustav, osim nadomještanja nedostajućih dijelova jezgre, morali biste ga također smjestiti u GNU ili BSD.
  5. S druge strane, u godinama nakon što je ovaj članak napisan, biblioteka GNU C prenesena je na više inačica jezgre BSD-a, što je omogućilo jednostavno udruživanje sustava GNU s tom jezgrom. Jednako kao i GNU/Linux, ovo su zaista inačice GNU-a i stoga se nazivaju, na primjer, GNU/kFreeBSD i GNU/kNetBSD, ovisno o jezgri sustava. Obični korisnici na tipičnim stolnim računalima teško mogu razlikovati GNU/Linux i GNU/*BSD.