Cum a aparut Linux? De ce sta pinguinul jos si nu pe un skateboard? Totusi de ce un pinguin? Acestea sunt intrebari frecvente pe care multi utilizatori si le pun si la care vom incerca sa raspundem in continuare. De aceea va invitam sa va asezati comod in fotoliu si sa purcedem la drum incepand cu inceputul!
A fost odata ca niciodata
Aparitia lui Linux este strans legata de evolutia UNIX-ului, "pinguinul " fiind o clona a acestuia, si deci mostenind multe insusiri ale sale. Afirmarea cu adevarat a UNIX-ului in lumea informaticii a avut loc in anul 1971, cand a aparut prima editie destinata serverelor; aceasta a reprezentat promotorul altor sisteme de operare, in ziua de azi celebre, si anume Solaris dezvoltat de Sun Microsystems, Berkeley FreeBSD si IRIX al celor de la Silicon Graphics. In anul 1975 a fost lansata o varianta de UNIX rescrisa in C si Assembler, cele doua limbaje devenind un standard pentru scrierea programelor destinate acestor platforme.
Totusi fara existenta unui personaj numit Richard Stallman, Linux-ul nu ar fi fost ceea ce cunoastem astazi, chiar daca prin anii '80 nimeni nu se gandea la aparitia acestui sistem de operare. Stallman si-a inceput cariera in anul 1970 la faimosul laborator de Inteligenta Artificiala din MIT, creand editorul de texte emacs, foarte cunoscut in lumea intreaga; acesta era disponibil tuturor persoanelor interesate, fiind gratuit. Perioada anilor '80 a fost cunoscuta pentru faptul ca marile companii de software doreau sa-si protejeze investitiile, incercand astfel sa semneze diferite contracte cu angajatii lor pentru a nu divulga codul sursa al produselor dezvoltate. Stallman nu a fost de acord cu aceasta atitudine si in 1985 publica manifestul GNU (GNU is Not UNIX - versiunea in limba romana poate fi vizualizata la adresa https://www.gnu.org/home.ro.html) care a dat nastere conceptului de open-source. Principiul era simplu si a fost adoptat rapid de simpatizantii lui Stallman: codul sursa al produselor software trebuie sa fie accesibil oricui, pentru a permite diversilor programatori din intreaga lume sa le modifice si imbunatateasca, eventual corectand unele greseli de programare. Mai tarziu a aparut GPL (GNU General Public License), o licenta "anticopyright " care intarea statutul de open-source. Numerosi programatori l-au sustinut si in anul 1984 ei au pus bazele programului de dezvoltare al compilatorului GCC (GNU C Compiler), o adevarata valoare pe vremea aceea. Codul sursa fiind disponibil conform licentei GPL, de multe ori versiunile gratuite ale aplicatiilor UNIX ajungeau sa detina mai putine erori si sa fie chiar mai performante.
Anul 1987 a fost marcat de aparitia sistemului de operare Minix, o clona UNIX pusa la dispozitie de catre Andrew S. Tanenbaum. Minix constituia un raspuns la decizia producatorilor UNIX de a mentine secrete sursele. Desi nu era un sistem iesit din comun prin calitatile sale, avea sursele disponibile si astfel a generat un mare succes printre studenti si programatori, curiosi sa inteleaga in profunzime modul de functionare al unui sistem de operare. Versiunea initiala a Minix-ului avea 12.000 de linii de cod, era scris in C si Assembler si era proiectat pentru platformele Intel, care erau foarte usor de achizitionat in acea perioada.
Totusi marea problema a miscarii GNU nu era rezolvata deoarece nu exista inca un kernel, piesa necesara unui sistem de operare pentru a deveni complet, celelalte componente fiind realizate deja. Pentru Stallman, Minix nu reprezenta o alternativa viabila, iar in viziunea lui si a celorlalti programatori, scrierea unui nucleu putea sa insemne o munca ce putea sa dureze cativa ani buni. Nefiind de acord cu aceasta atitudine, un student la stiinta computerelor pe nume Linus Torvalds isi incepe lucrul la un nou sistem de operare care avea sa revolutioneze modul de gandire al open-source-ului tocmai prin oferirea componentei lipsa: un kernel.
Initial Linus nu dorea prin proiectarea acestui sistem de operare decat sa-si demonstreze abilitatea de a programa, insa mai tarziu aceasta s-a transformat in dorinta de a oferi o alternativa la sistemul de operare DOS de la Microsoft sau la sistemele Apple Macintosh, foarte performante dar inaccesibile unui utilizator normal din cauza pretului, si nu in ultimul timp la UNIX, care la randul sau era foarte scump.
Totul a inceput pe data de 25 august 1991 cand Linus a postat pe grupurile de stiri MINIX urmatorul mesaj:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Ce doriti cel mai mult de la sistemul de operare Minix?
Summary-ID: un mic chestionar pentru sistemul meu de operare
Date: 25 Aug 91 20:57:08 GMT
Organization: Universitatea din Helsinki
"Ii salut pe toti cei care folosesc sistemul Minix. In acest moment lucrez la un sistem de operare gratuit (doar un hobby, nu va fi ceva mare si profesional ca GNU) destinat clonelor 386 (486) AT. Lucrez la el de prin aprilie si incep sa ma apropii de final. As aprecia orice raspunsuri in legatura cu ce va place si ce nu va place la Minix, deoarece sistemul meu seamana oarecum cu el (are acelasi format al sistemului de fisiere, printre altele). Pana in acest moment am portat bash (versiunea 1.08) si gcc (1.40), si se pare ca lucrurile functioneaza. Asta inseamna ca o sa pot obtine ceva care sa aiba un contur in urmatoarele luni si de aceea doresc sa stiu cam ce ati dori voi. Orice sugestii sunt binevenite, dar nu promit ca o sa le si implementez :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Si da - nu contine nici un cod proprietar Minix si este bazat pe multi-threading. Nu este portabil si probabil nu va suporta niciodata altceva in afara de hard disk-urile AT, pentru ca doar asta am :-(. "
Entuziasmul lui Linus a fost rasplatit din plin. Dupa ce in septembrie 1991 a fost pusa pe Internet versiunea 0.01, numerosi programatori au modificat-o, iar versiunile obtinute au fost postate pe grupurile de stiri Minix, fapt care a contribuit la aparitia in scurt timp a versiunii 0.02 (5 octombrie 1991). Dupa cum Linus afirma in mesaj, prima versiune suporta doar hard disk-urile AT si nu avea login (boot-a direct in bash). Versiunea 0.11 a fost inzestrata cu suport pentru tastaturi "multilingual ", pentru unitati de discheta, pentru display-uri VGA, EGA, Hercules etc. Un salt mai spectaculos a fost efectuat odata cu trecerea de la versiunea 0.12 la 0.95, motivata de faptul ca kernel-ul este suficient de verificat si stabil pentru a se trece la o versiune mult superioara ca numar.
Cum era si normal, au aparut si reactii adverse, mai ales din partea creatorului Minix:
"Inca sustin ca proiectarea unui kernel monolitic in 1991 este o eroare fundamentala. Sa te bucuri ca nu esti studentul meu. Nu ai fi promovat cu o nota foarte mare pentru acest design :-) "
(Andrew Tanenbaum catre Linus Torvalds)