Traduceri ale acestei pagini

Linux şi Proiectul GNU

de Richard Stallman

 [imaginea unui GNU junior]

Multi utilizatori de computere folosesc o versiune modificată a sistemului GNU (18k caractere) în fiecare zi, fără să o ştie. Printr-o întorsătură ciudată a evenimentelor, versiunea de GNU care este folosită pe scară largă astăzi este mai ales cunoscută ca ``Linux'' şi mulţi utilizatori nu sunt conştienţi de amploarea conexiunilor sale cu Proiectul GNU.

Există într-adevăr un Linux; iar aceşti oameni îl folosesc, dar el nu este sistemul de operare. Linux este un kernel: programul din sistem care alocă resursele computerului altor programe care sunt executate. Kernelul este o parte esenţială a unui sistem de operare, dar un kernel de unul singur nu se poate folosi; el poate funcţiona numai ca parte a unui întreg sistem de operare. Linux este în mod uzual folosit în combinaţie cu sistemul de operare GNU: sistemul este în fapt GNU, cu Linux funcţionând ca şi kernelul său.

Mulţi utilizatori nu sunt conştienţi de distincţia dintre kernel, care este Linux, şi întregul sistem, pe care îl numesc de asemenea ``Linux''. Folosirea ambiguă a numelui nu promovează înţelegerea conceptelor. Aceşti utilizatori adesea cred că Linus Torvalds a dezvoltat întregul sistem de operare în 1991, cu un pic de ajutor.

Programatorii în general ştiu că Linux este un kernel. Dar întrucât ei au auzit de asemenea întregul sistem numit ``Linux'', ei adeseori imaginează o istorie care ar justifica numirea întregului sistem după kernel. De exemplu mulţi cred că odată ce Linus Torvalds a terminat de scris Linux, kernelul, utilizatorii săi au căutat alt software liber disponibil cu care acesta să funcţioneze, şi au descoperit că (din pură întâmplare) aproape tot ceea ce era necesar pentru a face un sistem similar Unix-ului era deja disponibil.

Ceea ce au găsit ei nu era un accident--era sistemul GNU. Software-ul liber disponibil a întregit un sistem complet pentru că Proiectul GNU a lucrat către acest obiectiv încă din 1984. Manifestul GNU (31k caractere) a formulat ca scop dezvoltarea unui sistem liber similar Unix-ului, numit GNU. Anunţul iniţial al Proiectului GNU schiţează de asemenea unele dintre planurile iniţiale ale sistemului GNU. Până în momentul când Linux a fost scris, sistemul era aproape terminat.

Cele mai multe dintre proiectele de software liber au ca scop dezvoltarea unui anumit program pentru a rezolva o anumită sarcină. De exemplu Linus Torvalds a decis să scrie un kernel similar Unix-ului (Linux); Donald Knuth a decis să scrie un program pentru formatarea textelor (TeX); Bob Scheifler a decis să scrie un sistem de ferestre (X Window). Este natural să măsurăm contribuţia acestui tip de proiecte prin programele specifice care au rezultat din proiect.

Dacă am încerca să măsurăm contribuţia Proiectului GNU în acest fel, ce putem concluziona? Un distribuitor de CD-ROM-uri a constatat că în ``distribuţia Linux'' pe care o generau software-ul GNU constituia cea mai mare parte din conţinut, aproximativ 28% din totalul codului sursă, iar aceasta includea unele componente esenţiale majore, fără de care sistemul nu ar exista. Linux în sine era aproximativ 3%. Aşa că dacă ar fi să se aleagă un nume pentru sistem pe baza celor care au scris programele din sistem, cea mai potrivită alegere individuală ar fi ``GNU''.

Dar noi nu credem că aceasta este metoda corectă de soluţionare a problemei. Proiectul GNU nu a fost şi nu este un proiect pentru dezvoltarea de pachete software specifice. Nu a fost un proiect pentru dezvoltarea unui compilator C, dar l-am creat. Nu a fost un proiect pentru dezvoltarea unui editor de texte, dar l-am creat. Scopul Proiectului GNU a fost să dezvolte un sistem liber complet, similar Unix-ului: GNU.

Mulţi oameni au făcut contribuţii majore la software-ul liber din sistem şi ei toţi merită să le acordăm credit. Dar motivul pentru care el este un sistem integrat - şi nu doar o colecţie de programe utilitare - este pentru că Proiectul GNU a fost menit să creeze unul. Noi am făcut o listă de programe necesare pentru a forma un sistem liber complet iar apoi sistematic am găsit, scris, sau găsit oameni să scrie programele de pe listă. Noi am scris componentele esenţiale dar mai puţin senzaţionale (1) cum ar fi asembler-ul şi linker-ul, pentru că nu poţi avea un sistem fără ele. Unele componente ale sistemului nostru, uneltele pentru programare, au devenit populare pe cont propriu printre programatori, dar noi am scris multe componente care nu sunt unelte (2). Am dezvoltat chiar şi un joc de şah, GNU Chess (Şah), pentru că un sistem complet are nevoie şi de jocuri bune.

Până pe la începutul anilor 90 noi am pus laolaltă întregul sistem, cu excepţia kernelului (şi lucram de asemenea la kernel, numit GNU Hurd, care rulează bazat pe Mach). Dezvoltarea acestui kernel a fost mult mai dificilă decât ne aşteptam; GNU Hurd a început să funcţioneze corespunzător în 2001. Noi ne pregătim acum să distribuim actualul sistem GNU, cu kernelul GNU Hurd.

Fortunately, you didn't have to wait for the Hurd, because Linux was available. When Linus Torvalds wrote Linux, he filled the last major gap. People could then put Linux together with the GNU system to make a complete free system: a Linux-based version of the GNU system; the GNU/Linux system, for short. The earliest Linux release notes recognized that Linux was a kernel, used with parts of GNU: "Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren't in the distribution - ask me (or GNU) for more info."

Din fericire d-voastră nu a trebuit să aşteptaţi pentru Hurd, pentru că Linux a fost disponibil. Când Linus Torvalds a scris Linux el a umplut ultimul gol major în sistem. Oamenii au putut atunci pune laolaltă Linux împreună cu sistemul GNU pentru a obţine un sistem liber complet: o versiune a sistemului GNU bazat pe Linux: pe scurt sistemul GNU/Linux. Notele de distribuire ale Linux-ului au recunoscut că Linux era un kernel, folosit cu părţi din GNU: "Multe dintre uneltele folosite cu Linux sunt software GNU şi sunt sub copyleft GNU. Aceste unelte nu sunt în distribuţie - cereţi-mi mie (sau proiectului GNU) informaţii suplimentare."

A le pune laolaltă sună simplu, dar nu a fost o treabă elementară. Unele componente GNU(3) au avut nevoie de schimbări substaţiale pentru a funcţiona cu Linux. Integrarea unui sistem complet într-o distribuţie care să meargă ca ``scoasă din cutie'' a fost de asemenea un efort major. Aceasta a necesitat abordarea problemelor de instalare şi boot-are a sistemului, o problemă pe care noi n-am tratat-o pentru că noi nu atinsesem încă acel nivel. Oamenii care au dezvoltat diversele distribuţii ale sistemului au făcut o contribuţie substanţială.

Proiectul GNU suportă atât sistemele GNU/Linux cât şi sistemul GNU - chiar şi cu fonduri. Noi am contribuit fonduri pentru rescrierea extensiilor legate de Linux pentru biblioteca GNU C, astfel încât ele sunt astăzi bine integrate iar cele mai noi sisteme GNU/Linux folosesc aceste biblioteci fără nici o schimbare. Noi am mai contribuit fonduri pentru una dintre etapele iniţiale ale distribuţiei Debian GNU/Linux.

Noi folosim astăzi sisteme GNU bazate pe Linux pentru cea mai mare parte a muncii noastre şi sperăm că şi d-voastră faceţi la fel. Dar vă rugăm nu încurcaţi publicul folosind numele ``Linux'' în mod ambiguu. Linux este kernelul, unul din componentele majore esenţiale ale sistemului. Sistemul ca un întreg este mai mult sau mai puţin sistemul GNU, cu Linux adăugat. Când vorbiţi despre această combinaţie, vă rugăm numiţi-o ``GNU/Linux''.

Dacă doriţi să creeaţi o legătură despre ``GNU/Linux'' pentru viitoare referinţe, această pagină şi http://www.gnu.org/gnu/the-gnu-project.ro.html sunt alegeri bune. Dacă vă referiţi la Linux, kernelul, şi doriţi să adăugaţi o legătură pentru viitoare referinţe, http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Linux este un URL bun de folosit.

Addendum: Pe lângă GNU, un alt proiect a dezvoltat în mod independent un sistem de operare similar Unix-ului. Acest sistem este cunoscut ca BSD, şi a fost dezvoltat la UC Berkeley. Acesta nu a fost liber în anii 80, dar a devenit liber la începutul anilor 90. Un sistem de operare liber care există astăzi este aproape sigur fie o variantă a sistemului GNU, fie un fel de sistem BSD.

Oamenii întreabă uneori dacă BSD este de asemenea o versiune de GNU, cum este GNU/Linux. Programatorii BSD au fost inspiraţi să facă codul lor software liber după exemplul Proiectului GNU iar apeluri explicite din partea activiştilor GNU a ajutat la convingerea lor, dar codul BSD are foarte puţin în comun cu GNU. Sisteme BSD folosesc azi unele programe GNU, aşa cum şi GNU şi variantele sale folosesc unele programe BSD; totuşi, luate pe ansamblu, ele sunt două sisteme diferite care au evoluat separat. Programatorii BSD nu au scris un kernel şi nu l-au adăugat sistemului GNU, aşa că un nume ca GNU/BSD n-ar fi potrivit situaţiei.

[Dacă doriţi să aflaţi mai multe despre această chestiune, puteţi citi şi pagina noastră de ``întrebări puse frecvent'', GNU/Linux FAQ.]

Note:

  1. Aceste componente mai puţin senzaţionale dar esenţiale includ asambler-ul GNU, GAS, şi linker-ul, GLD, amândouă sunt acum parte a pachetului GNU Binutils, GNU tar, şi altele.
  2. De exemplu, Bourne Again SHell-ul (BASH), interpretorul PostScript Ghostscript, şi biblioteca GNU C nu sunt unelte de programare. Aşa cum nu sunt nici GNUCash, GNOME, şi GNU Chess.
  3. De exemplu, biblioteca GNU C.

Traduceri ale acestei pagini:
[ Català | 简体中文 | 繁體中文 | Česky | Deutsch | English | Español | Français | עברית | Italiano | 日本語 | 한국어 | Polski | Português | Română | Русский | Srpsko-Hrvatski | Slovensko | Српски ]