Hrvatska revija 4, 2015

Informatika

Unix, Linux i slobodni softver

Zdenko Kremer

Informatičke tehnologije i ideja slobode

Premda ljudi u ovo današnje vrijeme, pogotovo oni mlađi, o informatičkim tehnologijama znaju mnogo i premda se vezano uz to područje mnogo toga govori i piše u javnosti, tako da se u optjecaju nalazi znatan broj popularnih odnosno informativnih članaka koji razmatraju razne njihove aspekte, čini se da još jedan članak koji obrađuje tu tematiku na općenitijoj razini i dijelom iz povijesne perspektive ipak nije suvišan. Stvar je u tome što su neke informatičke teme veoma dobro zastupljene u javnom govoru, dok su neke druge zastupljene u znatno manjoj mjeri, pa se onda o tome u široj javnosti relativno malo i zna. Tako je primjerice pojam Windowsa ili Microsoft Windowsa svakomu tko čita ovaj tekst sasvim sigurno poznat, a većina ne samo da zna o čemu je tu riječ (a riječ je o operativnom sustavu za osobna računala, tj. PC-jeve) nego ima priliku i služiti se njime, tako da taj operativni sustav barem donekle i poznaje. No, nasuprot tomu, o Unixu[1], unixoidima ili pak Linuxu tj. GNU/Linuxu, zna se ipak manje. I premda su ti pojmovi tj. operativni sustavi široj javnosti poznati, ipak nema baš tako mnogo onih (barem ne ovdje kod nas u Hrvatskoj) koji ih svakodnevno koriste i koji se mogu smatrati »pravim unixašima ili linuxašima«. Također, mnogi su ljudi čuli za pojmove sharewarea i freewarea. Međutim, pojmovi open source software i free software – u prijevodu soft­ver otvorenoga koda i slobodni softver – slabije su poznati. Ili, recimo, mnogo ih je više čulo za ime Bill Gates nego za ime Richard Stallman ili pak Linus Torvalds, a korporacija po imenu Microsoft daleko je poznatija od organizacije koja se zove Zaklada za slobodni softver (Free Softvare Foundation). Nije stoga naodmet reći nešto više o spomenutim, manje poznatim pojmovima i imenima, tim prije što su oni vezani uz cijeli jedan kompleks tema i problema vrlo značajnih za naš tehnološki, a i ukupni društveni razvoj, koji se našao gotovo na marginama interesa šire javnosti (i naše, ali i ine) i to, po našem mišljenju, posve nezasluženo.

Da bismo stvari izložili na sustavan način, reći ćemo najprije nešto više o samom pojmu operativnog sustava za računala, o nekim postojećim operativnim sustavima, kao i o povijesti razvoja te vrste računalnog softvera. Kao što je poznato, za normalan rad, odnosno korištenje računala (kompjutora) nužno je, dakako, uz odgovarajući hardver koji čine materijalne komponente – elektronički sklopovi, imati i potreban softver koji predstavlja informacijski, nematerijalni sadržaj bez kojega računalo ne može funkcionirati, a koji je obično pohranjen na tvrdom disku ili na nekim drugim memorijskim jedinicama – primjerice tzv. BIOS (basic input/output system) nalazi se u »flash memoriji« ugrađenoj na matičnu ploču računala. Operativni sustav predstavlja onaj »osnovni«, najvažniji dio toga softvera o kojem ovisi sve ostalo – s obzirom na to da je riječ o skupu programa od kojih se neki automatski pokreću neposredno nakon uključenja računala, točnije nakon izvršavanja spomenutog BIOS-a (ili EFI-ja, što su mali »ugrađeni« programi za inicijalizaciju sustava), da bi, upravljajući radom hardvera, omogućili njegovo funkcioniranje, odnosno izvršavanje drugih programa koji su nam potrebni u nekom konkretnom poslu.

 

 

 


Dennis Ritchie, Ken Thompson i PDP-11 (godine 1972) (preuzeto s web sitea http://s7.computerhistory.org/)

 

 

Operativni sustavi za računala počeli su se pojavljivati tijekom pedesetih godina prošlog stoljeća, u vrijeme kad je razvoj računala, tj. njihovih elektroničkih komponenata omogućio da se određene osnovne operacije (rutine) potrebne za njihov rad, kao što je recimo učitavanje programa u radnu memoriju ili ispis rezultata preko izlaznih uređaja, automatiziraju (prije su se takve rutine morale izvoditi »manualno«, pri izvršavanju svakog programa, a vještina programiranja uključivala je i sposobnost izvođenja fizičkih prepravki na samim elektroničkim sklopovima računala). Tako su nastali operativni sustavi što podržavaju tzv. »batch obradu«, tj. automatsko izvršavanje određenih rutina jedne za drugom. Poslije, od sredine šezdesetih, usporedo s daljim usavršavanjem računalnoga hardvera nastaju »time-sharing« operativni sustavi koji podržavaju višekorisnički i višezadaćni rad (multitasking), a od početka osamdesetih pojavljuju se operativni sustavi koji omogućuju rad na mreži (»mrežni operativni sustavi«), kao i oni »distribuirani«, zahvaljujući kojima je moguće koristiti veći broj računala za izvršavanje jednog zadatka. Osobito značajan impuls razvoju operativnih sustava dala je pojava osobnih računala (PC-jeva), tj. IBM-ova PC-ja godine 1981., što nije nimalo neobično, s obzirom na to da se od tada broj računala u upotrebi naglo povećava, a veoma se širi i područje njihove primjene.

Treba napomenuti kako su u prvo vrijeme operativne sustave razvijali sami proizvođači računala. Poslije se, usporedo s razvojem minikompjutora od sredine šezdesetih počinju u taj razvoj uključivati nezavisne skupine stručnjaka, obično po istraživačkim institucijama ili kompanijama. Najpoznatija kompanija koja je svoj uzlet bazirala upravo na razvoju operativnih sustava za osobna računala američki je softverski gigant Microsoft.

Microsoftovi Windowsi, GNU/Linux i Appleov Mac OS X danas su svakako najpoznatiji operativni sustavi (za
PC-jeve), no treba reći da operativnih sustava ima mnogo. Od onih koji se više na koriste najznačajniji je vjerojatno
MS-DOS, koji je sve do prije dvadesetak godina, dok ga nisu istisnuli također Microsoftovi Windowsi, bio apsolutno dominantan operativni sustav za osobna računala, a tu su još i nešto stariji CP/M, pa zatim IBM-ov OS2, Appleovi operativni sustavi Next, NextStep, SGI-jev Irix, Sun-ov SunOS, te mnogi drugi koji su manje poznati. Danas su uz gore spomenute, u znatnijoj mjeri zastupljeni Sun-ov Solaris, IBM-ov AIX, HP-ov HP-UX, moderne varijante BSD-a (FreeBSD, OpenBSD, NetBSD), Minix, te drugi Unixi ili »unixoidi« (Unix-like sustavi), zatim VMS, odnosno OpenVMS tvrtke Digital (koja je danas u vlasništvu Hewlett-Packarda), BeOS, FreeDOS i sl, a postoje i tzv. web operativni sustavi (Chrome OS), operativni sustavi za smartphone i mobitele (Android) i još štošta drugo.

Veći broj nabrojenih operativnih sustava okarakterizirali smo terminom Unix tj. unixoid, što znači da su bazirani na operativnom sustavu zvanom Unix ili pak da su koncipirani po njegovu uzoru. Taj »predak« mnogobrojnih današnjih operativnih sustava nastao je u pionirskom dobu razvoja time-sharing sustava, tijekom šezdesetih godina prošlog stoljeća, i svojom je evolucijom postavio određene standarde kojih se njegovi nasljednici uglavnom pridržavaju, premda ne striktno (prema stupnju kompatibilnosti s Unix specifikacijom zaključujemo može li se neki operativni sustav smatrati jednom varijantom Unixa ili pripada među Unix-like sustave, tj. je li uniksoid u pravom smislu te riječi).

Za Unixe tj. unixoide možemo reći da su uz MS-Windowse najraširenija »klasa« operativnih sustava u današnjem svijetu – s obzirom na to da su unixoidi i Appleovi Mac OS X, i GNU/Linux, s tim da se i znatan dio operativnih sustava za kojekakve gadgete bazira na Linuxu (točnije na »Linux jezgri«). Razlog toj »popularnosti« je veoma široka funkcionalnost izvornog Unixa (onodobna), njegova velika pouzdanost, prenosivost i prilagođenost za rad u mrežnom okružju. Nastanak Unixa vezan je zapravo uz, za vrijeme kada je nastajao, prilično ambiciozan projekt višekorisničkog i višezadaćnog operativnog sustava za mainframe računala nazvanog MULTICS (Multiplexed Information and Computing System), na kojem su zajednički radili istraživači iz američke kompanije General Electric, MIT-a (Massachusetts Institute of Technology) i istraživačke institucije Bell Laboratories (kraće Bell Labs), vezane uz veliku američku telekomunikacijsku kompaniju AT&T. Premda taj projekt nije doveo do zadovoljavajućeg rezultata, on je ipak potaknuo jednoga od njegovih aktera, Kena Thompsona iz Bell Labsa, da zajedno s još nekoliko svojih kolega pokuša napisati nešto jednostavniji operativni sustav za tadašnja računala. Tako je godine 1969. stvorena jedna manje složena verzija MULTICS-a za u to vrijeme vrlo popularno računalo (minikompjutor) PDP-7 tvrtke Digital, pisana u assembleru[2], koju je njezin autor nazvao UNICS (Uniplexed Information and Computing System). Veličina memorije računala i »snaga« centralne procesorske jedinice (CPU) u to su vrijeme bili vrlo ograničeni, pa je UNICS (poslije preimenovan u UNIX) koristio kratke komande, da bi se minimizirao prostor potreban za spremanje programa i vrijeme potrebno za njegovo dekodiranje – odatle tradicija kratkih Unix komandi kojima se koristimo i danas – primjerice ls, cp, rm, mv, ps, itd.

Thompson i njegovi suradnici nastavili su rad na razvoju UNIX-a izdavajući tijekom sedamdesetih godina njegove nove, usavršene verzije. Velik korak naprijed u tom razvoju bilo je prevođenje njegove »jezgre« (kernel, bazični dio operativnog sustava) na računalni jezik C, čega su se 1972. prihvatili Thompson i Dennis Ritchie, autor prvog C-kompajlera, tj. programa za prevođenje C-koda u »strojni kod«[3]. Tako je nastala peta verzija UNIX-a, izdana godine 1973., koja je na taj način postala »prenosiva«, tj. mogla se koristi na raznim tipovima računala – treba doduše napomenuti da prenosivost nije bila potpuna, jer su neki dijelovi koda ipak ostali assemblerski, no njihova prilagodba različitim tipovima računala od tada više nije bila velik problem. Sedma verzija UNIX-a, izdana 1978., označila je rascijep u njegovu razvoju, koji od tada kreće u dva smjera – tako nastaju UNIX SYSV (Unix System Five) i BSD – Berkeley Software Distribution ili Berkeley Unix.

BSD je nastao na Kalifornijskom sveučilištu u Berkeleyu, gdje je Ken Thompson proveo jednu »slobodnu« akademsku godinu. Njegov su razvoj nastavili berkeleyski studenti i neke istraživačke institucije. SYSV je u početku razvijao AT&T, odnosno grupe stručnjaka vezane uz razvojne odjele te kompanije – u čijoj se »domeni« Unix našao s obzirom na to da je nastao u njoj pridruženom Bell Labsu. Za verzije Unixa bazirane na SYSV-u može se reći da su »konzervativnije«, ali i bolje podržane nego verzije bazirane na BSD-u, čiji je razvoj »dinamičniji«. No različitost tih dviju »grana« Unixa nije baš prevelika, razlike se mogu uočiti u strukturi datotečnog sustava, nazivima sistemskih alata i opcija, te u bibliotekama sistemskih poziva. Rascijep u razvoju UNIX-a predstavljen je na slici 2.

Spomenuti rascijep bio je zapravo uzrokovan pokušajem komercijalizacije toga operativnog sustava od strane AT&T-a. Poznati softverski stručnjak i aktivist Eric Raymond, koji je bio svjedok tih događanja, slikovito je opisao kako je to izgledalo – Radilo se otprilike o podjeli na ona s dugom i ona s kratkom kosom – programeri i tehnički stručnjaci stali su uz BSD, dok su ljudi orijentirani prema biznisu stali uz AT&T i System V. Inače, ovdje je potrebno naglasiti kako zbog određenih ograničenja u pravnom sustavu SAD-a UNIX nije mogao biti komercijaliziran već prije (u pravom smislu te riječi, premda su se njegove »kopije« mogle i kupiti), tako da se slobodno širio po sveučilištima i drugim obrazovnim ustanovama, a takva se praksa prenijela i na drugi softver koji je bio razvijan za taj operativni sistem. Tomu su zasigurno mnogo pridonijeli i njegovi tvorci, koji su magnetne trake s izvornim kodom slali svima koji su za njega bili zainteresirani. O »filozofiji« vezanoj uz izvorni razvoj Unixa govorio je i jedan od najistaknutijih njegovih aktera, danas pokojni Dennis Ritchie – Ono što smo željeli bilo je ne samo osigurati prikladno okruženje neophodno za programiranje nego stvoriti sustav oko kojega se može uspostaviti suradnja. Znali smo iz iskustva da bit zajedničkog rada na računalnom sustavu koji omogućava udaljeni pristup (remote access) i dijeljenje vremena (time-sharing) nije samo tipkati programe na terminalu nego i ohrabriti što prisniju komunikaciju.

O »zlatnom dobu informatike« tijekom šezdesetih i sedamdesetih godina prošlog stoljeća, kada se informatika u najvećoj mjeri smatrala (primijenjenom) znanošću, a ne »biznisom« i kad su se njome bavili uglavnom ljudi sa sveučilišta ili iz znanstvenih laboratorija, odnosno instituta pridruženih sveučilištima, državnim ustanovama ili većim kompanijama mnogo je govorio i govori Richard Stallman, guru GNU/Linux zajednice, utemeljitelj Zaklade za slobodni softver (Free Software Foundation) i začetnik projekta GNU, koji je početkom sedamdesetih počeo raditi u MIT-ovu AI-Lab-u (Artificial Intelligence Laboratory). U svom tekstu »The GNU Project« o tom vremenu kaže – Razmjena softvera nije bila ograničena na pojedinačne institucije. Kad god bi ljudi s nekog drugog sveučilišta ili iz neke druge kompanije željeli prenijeti program na svoje računalo da bi ga i sami mogli koristiti, to bi im rado bilo omogućeno. Ako si vidio nekoga da koristi neki neobičan i zanimljiv program, uvijek si mogao zatražiti njegov izvorni kod, tako da ga možeš proučiti, modificirati, iskoristiti neke njegove dijelove za neki svoj vlastiti program. Stallman zajedno s nekim drugim autorima, inače sudionicima svih tih događanja, spominje tako pojam »software-sharing community«, zajednice hakera[4] koji su svoje kompjutorske programe (točnije njihov izvorni kod) međusobno razmjenjivali, proučavali, mijenjali, dorađivali i prilagođavali vlastitim potrebama. No to »zlatno doba« nije potrajalo dugo.

 

 

 


Pojednostavljena shema razvoja Unixa i unixoida (preuzeto iz Wikipedije)

 

 

Promatrano u širem kontekstu, nastojanja AT&T-a oko komercijalizacije Unixa početkom osamdesetih godina prošlog stoljeća mogu se smatrati logičnim potezom, s obzirom na to da je tada, s pojavom novih tehnologija koje su omogućile značajno proširenje područja upotrebe računala, posebice razvojem minikompjutora i mikrokompjutora (u prvom redu PC-jeva), krenula nagla komercijalizacija »svega postojećeg« u informatičkoj branši, najprije u SAD-u, a poslije i u ostalim zemljama svijeta. Tada dolazi do dalje zakonske regulacije pojma »vlasništva« nad soft­verom, odnosno uvođenja koncepta »vlasničkog« (proprietary) softvera, s tim da su se počele uvoditi i nove prakse u odnosu između onih koji softver kreiraju i onih koji se njime koriste, koje su, dakako, spomenutoj komercijalizaciji još više pogodovale.

Tako se informatika brzo pretvorila u unosan biznis. Soft­verske kompanije poput Microsofta ili Oraclea doživjele su nagli uzlet, a njihovi osnivači poput Billa Gatesa ili Larryja Ellisona počeli su gomilati svoje milijune, a poslije i milijarde. Danas su spomenuta dvojica po bogatstvu prvi odnosno peti čovjek na svijetu, pri čemu se imovina prvoga procjenjuje na gotovo osamdeset, a imovina drugoga na oko pedeset pet milijardi dolara (podatci s tzv. »Forbesove liste« za ovu godinu). Istodobno je ono što se zvalo software-sharing community jednostavno nestalo. U već navedenom tekstu Stallman je opisao sudbinu jedne takve zajednice – one kojoj je sam pripadao – Zajednica hakera u AI Labu se raspala... Godine 1981. spin-off kompanija Symbolics preuzela je gotovo sve hakere iz AI Laba, i zajednica više nije mogla održavati samu sebe. Kad je AI Lab 1982. godine kupio novi PDP-10, njegovi su administratori odlučili koristiti Digitalov vlasnički operativni sustav umjesto ITS-a. (ITS je naziv operativnog sustava razvijenog prije u AI-Lab-u).

Dakako da uzlet cijeloga jednoga privrednog sektora i bogaćenje pojedinaca nije samo po sebi nešto loše, ali cijela ta »lijepa priča« ima i svoje naličje. Naime, pretpostavka je cijele koncepcije »vlasničkog softvera« koji je zavladao u informatici od početka osamdesetih godina prošlog stoljeća, a održava se i danas, obveza programera, odnosno razvijatelja softvera, da izvorni kod i tehničke detalje svoga rada ne objelodanjuju u javnosti, što se obično realizira ugovorom između programera i njegova poslodavca, kao i obveza kupaca softvera da ga dalje ne distribuiraju, niti ga samostalno mijenjaju u skladu s vlastitim potrebama (a takve su intervencije, s obzirom na to da su proizvođači softvera ubrzo prestali isporučivati izvorni kod programa, ionako postale neizvedive), što se realizira softverskim licencama. Međutim, na taj se način krši pravo korisnika softerskog produkta da bude upoznat s njegovim pojedinostima kako bi ga (softverski produkt) mogao primjenjivati što efikasnije, odnosno da ga mijenja i prilagođava vlastitim potrebama, a također se »prirodnim pravom« može smatrati i pravo programera da javno obznane sve pojedinosti svoga rada na određenom softverskom produktu. Spomenuti Richard Stallman tako smatra da je taj koncept u potpunosti pogrešan i promašen jer – Osnovni kriterij za odlučivanje o načinu korištenja programa treba biti sloboda i prosperitet društva u cjelini (a ne samo prosperitet softverskih korporacija i njihovih dioničara). On nadalje tvrdi kako – Treba utvrditi tko priznavanjem prava vlasništva nad softverom gubi a tko dobiva, te zašto i koliko. Drugim riječima treba provesti analizu isplativosti (jedne i druge strategije) u odnosu na društvo kao cjelinu, uzimajući u obzir zahtjev za slobodom pojedinca kao i koristi za društvo u jednom i drugom slučaju. A takva analiza, koju provodi u svom tekstu »Why Software Should Be Free«, jasno pokazuje brojne prednosti »koncepta slobode« nad »konceptom vlasništva«. Uz to, Stallman naglašava da je ovaj drugi (prevladavajući) koncept u suprotnosti s društvenim konvencijama i etičkim normama, jer je nedopustivo zahtijevati od bilo koga (u ovom slučaju programera) da uskrati pomoć svom bližnjemu (korisniku programa) i na osnovi toga zahtjeva, suprotnog ljudskoj solidarnosti i ljudskosti uopće, izvlačiti zaradu (i to ne bilo kakvu, nego kako smo vidjeli, ekstravisoku zaradu).

U skladu s tim svojim zaključcima Stallman je, upravo u doba odvijanja »rata« između BSD i SYSV Unixa, 1983. godine odlučio pokrenuti projekt izrade operativnog sustava za računala čiji bi uzor bio Unix (dakle unixoida), a koji bi sadržavao sve komponente potrebne korisnicima u standardnoj osobnoj ili poslovnoj primjeni, koji bi bio upotrebljiv na što većem broju hardverskih platformi, i koji bi svima bio dostupan i mogao se slobodno razmjenjivati i prilagođavati vlastitim potrebama, baš onako kako je to bilo sa softverom prije striktnoga zakonskog reguliranja ideje o »vlasništvu« nad produktima te vrste. Taj se projekt pod nazivom GNU (GNU je inače /rekurzivna/ kratica za »GNU’s not Unix«) počeo ostvarivati početkom 1984.

Stallman je također odlučio poduzeti sve ne bi li spriječio da tako nastali softver jednostavno bude »preuzet« od soft­verskih korporacija i iskorišten u »komercijalne« svrhe, pa je tako uveo pojam »slobodnog softvera« (»Free Software«), čije je značenje precizno definirao u dokumentu (soft­verskoj licenci) pod nazivom »GNU General Public License« (GNU GPL). Osnovni principi GPL-a mogu se svesti na tri točke – (1) programi se mogu slobodno koristiti u bilo koju svrhu, (2) izvorni kod programa svima je dostupan i može se slobodno mijenjati i prilagođavati vlastitim potrebama, (3) originalne ili modificirane verzije programa mogu se slobodno distribuirati, besplatno ili uz naknadu, ali opet pod GPL-om. Ovdje treba napomenuti kako je koncepcija slobodnog softvera nešto posve različito od koncepcije freewarea ili sharewarea, što predstavljaju kategorije softvera koji se može slobodno kopirati, ali za koji je obično ograničen način ili vrijeme upotrebe. Kod programa koji se pojavljuju pod tim oznakama u pravilu nije dostupan, a izvršne verzije programa često se izdaju u komercijalne svrhe – radi promocije i reklame osnovnih, komercijalnih produkata, od kojih obično i nastaju.

Tijekom vremena u GNU-projekt se uključivalo sve više programera-volontera iz cijelog svijeta, a brojni pojedinci i skupine započeli su vlastite projekte razvoja slobodnog soft-
vera koji su se mogli inkorporirati u GNU projekt. Premda je Stallman krenuo i u razvoj vlastite slobodne jezgre (kernela) toga novog operativnog sustava (pod nazivom GNU Hurd), u tom ga je poslu pretekao finski programer Linus Torvalds sa svojim kernelom nazvanim Linux, koji se pokazao vrlo pogodnim za primjenu u GNU projektu. Tako je do polovice devedesetih nastao operativni sustav GNU/Linux, prikladan za korištenje u većini poslovnih i osobnih primjena. GNU/Linux se po svojim »tehničkim karakteristikama« može smatrati unixoidom koji uključuje obilježja i SYSV i BSD Unixa (primjerice ima startup datoteke u SYSV-stilu, a datotečni sustav u BSD-stilu) i pritom je uglavnom usklađen Unix specifikacijama.

 

 


Head i Pingvin Tux – maskote projekata GNU i Linux
(preuzeto iz Wikipedije)

 

 

 

Kroz ovih tridesetak godina rada na GNU projektu odnosno na GNU/Linuxu, u koji su se, osim pojedinaca i »neformalnih skupina«, uključile i neke kompanije, te mnogobrojne institucije raznih država širom svijeta, stvoreno je mnoštvo GNU-kompatibilnih »softverskih paketa« za mnogobrojne praktične primjene. Neke druge manje ili više formalne skupine razvile su opet velik broj »GNU/Linux distribucija« – zaokruženih softverskih produkata koji uključuju »Linux jezgru«, jednu ili više »naredbenih ljuski« (shell), zajedno s drugim standardnim uslužnim programima (utilityjima), zatim razne softverske alate i biblio­teke, grafičko sučelje (X Windows System) i neka radna okruženja (desktop environment), mnogobrojne »pomoćne programe« te potrebni »aplikacijski softver«, koji se relativno jednostavno mogu instalirati na računalo i koristiti u svim uobičajenim informatičkim poslovima.

Među svim tim distribucijama, kojih danas ima na tisuće (mnoge su od njih »specijalizirane«, dakle namijenjene specifičnim primjenama), mogli bismo izdvojiti one pod nazivima Debian i Ubuntu. Projekt Debian pokrenuo je godine 1993. Amerikanac Ian Murdock i postupno, zajedno sa svojim suradnicima, stvorio distribuciju značajnu zbog svoje stabilnosti, sigurnosti, podržanih hardverskih platformi, kao i zbog svoje veličine tj. broja softverskih paketa koje uključuje, pa je ona, kao takva, osnova za razvoj mnogobrojnih drugih, više ili manje specijaliziranih distribucija. Zanimljivo je ovdje spomenuti da najnovija verzija distribucije Debian (upravo u vrijeme pisanja ovoga teksta izdan je Debian 8 ili Jessie) sadrži više od 43.000 softverskih paketa. Debian se smatra »konzervativnom« i vrlo pouzdanom GNU/Linux distribucijom, zbog čega se mnogo koristi na serverskim sustavima, premda je pogodan i za upotrebu na stolnim/uredskim računalima (desktopima). Ubuntu je pak projekt Južnoafrikanca Marka Shuttlewortha, koji je napokon uspio približiti GNU/Linux najširim masama softverskih korisnika stvorivši istoimenu GNU/Linux distribuciju baziranu na Debianu koja je vrlo jednostavna za instalaciju i korištenje. Stoga ne čudi popularnost Ubuntua, koji je brzo nakon svoga pojavljivanja (2004. godine) postao najrasprostranjenija GNU/Linux distribucija.

 

 


Linus Torvalds i Richard Stallman. Slika aludira na sukob koncepcija »softvera otvorenoga koda« (OpenSource Software) i »slobodnog softvera« (Free Softvare) koje zastupaju ta dva softverska pionira (respektivno). (preuzeto s web sitea http://innovate.ucsb.edu/)

 

 

 

Napomenimo da »nekomercijalne« distribucije GNU/Linuxa (postoje i one »komercijalne«, s obzirom na to da gorespomenuti »Stallmanovi principi« ne isključuje distribuciju softvera uz određenu naknadu), kao i paketi koje one uključuju, obično (u cjelini) podrazumijevaju GNU General Public License, no osim te postoje i druge licence, tj. propisani uvjeti korištenja (a oni se propisuju, kako smo rekli, radi zaštite, da taj softver ne bi jednostavno bio preuzet i iskorišten u neprimjerene svrhe od softverskih kompanija), koje se odnose na slobodni softver (Free Software Licences). Postoje također i Open Source Licences, tako da se pojavljuju pojmovi slobodnog softvera (Free Software) i softvera otvorenoga koda (Open Source Software) koji nisu identični, premda se puno ne razlikuju (no i te razlike izazivaju velike dvojbe i sukobe unutar GNU/Linux zajednice). Razlike se uglavnom odnose na uvjete pod kojima se izdaju modificirane verzije programa, no njihovu bit čine, kako tvrde mnogi, značajna »ideološka razilaženja« zagovornika koncepcije »otvorenoga koda« (»Open Source«) i koncepcije »slobodnog softvera« (»Free Softvare«).[5]

 

 

 


Prikaz nastanka i razvoja GNU/Linux distribucija u razdoblju od pojave Linux jezgre sredinom 1991. do početka 2007. godine – slika se može pronaći na web adresi http://files.cyberciti.biz/uploads/tips/2007/06/44218-linuxdistrotimeline-7.2.png

 

 

Inače, za većinu se »standardnih« GNU/Linux distribucija, pa tako i za Ubuntu, a posebno za Debian, bez ikakvog pretjerivanja može reći da su posve ravnopravne, a u mnogim stvarima i superiorne najraširenijem i najrazvikanijem operativnom sustavu za osobna računala (PC-jeve) – Microsoftovim Windowsima. Također se može reći da nakon pojave Ubuntua više gotovo da ne postoji razlog da ljudi i dalje koriste vlasnički softver (tj. Microsoftove Windowse) na svojim osobnim računalima. Prije je razlog mogao biti relativno komplicirana instalacija GNU/Linuxa, problemi s nekim specifičnim hardverom (driveri) koje GNU/Linux nije mogao prepoznati, eventualno i kompliciraniji način korištenja toga operativnog sustava. Danas, kad je procedura instalacije (posebice kod Ubuntua) krajnje pojednostavljena, kad je većina problema s »prepoznavanjem« hardvera riješena i kad radna okruženja poput Gnomea ili KDE-a funkcioniraju vrlo »intuitivno« (analogno MS-Windows okruženju), problem može predstavljati jedino neki vrlo specifičan softver kreiran za Microsoftove Windowse koji nema svoga analogona koji radi pod GNU/Linuxom (kojega danas nema tako mnogo). Još jedan razlog može biti činjenica što su »elektronički servisi« koje institucije naše države nude građanima i poslovnim subjektima najčešće prilagođeni samo korisnicima MS-Windowsa, a nekada možda i nezgoda što postoji veći izbor računalnih igrica koje rade pod Windowsima od onih koje se mogu pokretati pod GNU/Linuxom. Međutim, okolnost da se recimo Ubuntu može slobodno skinuti s interneta i koristiti bez ikakvih ograničenja očito predstavlja mnogo važniju prednost. Premda cijene Windowsa nisu tako visoke, treba reći kako je frustrirajuće uopće i razmišljati o tzv. »licenciranju«, voditi brigu je li nešto što se može skinuti s interneta uistinu freeware tj. shareware ili piratska kopija, a znatni problemi javljaju se i kod reinstalacija softvera u slučaju kvarova na računalu i sličnih nezgoda, te zbog kompjutorskih virusa, što je opasnost gotovo potpuno nepoznata u GNU/Linux svijetu. Pritom su relativno jeftine tek »okljaštrene« verzije vlasničkih softverskih paketa, dok su one funkcionalnije, »professional« verzije, znatno skuplje. Nasuprot tomu, GNU/Linux je »professional« u svakom pogledu (stabilan, siguran, lišen »virusa«), a softverski paketi koje pojedina distribucija sadrži uglavnom su također »profesionalni«, no ne koštaju ništa. K tomu su slobodni uredski paketi OpenOffice ili LibreOffice, koji su uključeni u sve važnije GNU/Linux distribucije, također potpuno ravnopravni, ako ne i bolji od Microsoftova Officea. Inače, osim u defaultnom odt (open document) formatu tu je dokumente moguće učitavati tj. spremati i u drugim formatima (pa i u Microsoftovu doc/docx formatu), tako da se sve poznatije GNU/Linux distribucije mogu bez problema koristiti za »uredske« primjene.

Možemo napomenuti kako za većinu GNU/Linux distribucija postoji i veoma dobra korisnička podrška. Primjerice, sve informacije o Ubuntu distribuciji mogu se naći na web siteu www.ubuntu.com, odakle se mogu skinuti i sadržaji (CD/DVD-images) odgovarajućih instalacijskih CD-ova, odnosno DVD-ova za tu distribuciju. Analogno vrijedi za site www.debian.org u slučaju distribucije Debian. Također je dobro znati da se u slučajevima problema pri instalaciji i radu s bilo kojom distribucijom GNU/Linuxa korisnik može sa svojim pitanjima i problemima obratiti Hrvatskoj udruzi Linux korisnika (HULK), preko njihova web portala na adresi www.linux.hr. Slične takve organizacije GNU/Linux entuzijasta osnovane su širom svijeta sa svrhom promoviranja slobodnog softvera u javnosti, njegovim prevođenjem i prilagođavanjem lokalnim standardima i konvencijama (lokalizacija), a vrlo su bitne i njihove edukativne aktivnosti.

Mnogobrojne informacije vezane uz projekt GNU, odnosno Zakladu za slobodni softver (Free Software Foundation), organizaciju koja je »nosilac« toga projekta – njihove programske dokumente, tekstove koji se bave poviješću projekta GNU, podatke o njihovim aktivnostima, aktualnim dostignućima i problemima s kojima se projekt suočava, idejama koje zastupaju i uopće o »filozofiji« pokreta za slobodni softver, mogu se naći na web siteu te organizacije odnosno projekta – www.gnu.org.

 

 


Malo GNU humora
(preuzeto s web sitea projekta GNU – www.gnu.org)

 

 

Treba reći kako unatoč brojnim prednostima slobodnih softverskih rješenja nad onim vlasničkim, GNU/Linux zasad tek donekle ugrožava primat Microsoftovih produkata na području softvera tj. operativnih sustava za osobna računala (za razliku od serverskih sustava, gdje je »pobjeda« osigurana, no ti sustavi ipak čine manji dio »kolača«). Međutim, stvar se tek zahuktava, a trendovi koji se mogu pratiti u Europi i svijetu daju nam pravo da se nadamo kako će početak kraja koncepcije vlasničkog softvera i softverskih monopola nastupiti u nekom doglednom vremenu. Nažalost, Hrvatska (i) u tom pitanju bitno zaostaje za većinom drugih zemalja Europe s kojima se volimo uspoređivati, gdje se određeni napredak uočava mnogo lakše. Zbog toga je naša odgovornost za širenje slobodnog softvera još i veća, tim prije što je ovdje, kako rekosmo, riječ o nekoj vrsti europskog i svjetskog trenda koji bi hrvatska država trebala slijediti u prvom redu zbog sebe same, zbog svojih nacionalnih interesa, kao i svoga ugleda u europskoj i međunarodnoj zajednici. Naime, potrebno je naglasiti, tim više jer se stvari koje se tiču ove problematike uglavnom događaju prešutno, bez gotovo ikakve medijske pozornosti, da je ovdje riječ i o značajnom političkom pitanju, s obzirom na to da vlasnički softver u državnim institucijama rezultira nekom vrstom ovisnosti države o kompaniji koja je taj softver proizvela, što otvara mogućnost raznovrsnih manipulacija (financijske ucjene, ugrožavanje tajnosti podataka i dr.). Nasuprot tomu, orijentacija na slobodni softver omogućuje aktiviranje značajnih razvojnih potencijala zemlje u prvom redu kroz obrazovanje i zapošljavanje mladih stručnjaka, širenje autonomije tzv. IT-
-sektora, a otvara i prostor za proboj na inozemna tržišta.

Još jedan značajan aspekt priče o slobodnom i otvorenom softveru odnosi se i na ideju slobode, odnosno društvenu ulogu pokreta za slobodni softver i slobodne informacije, koji smo pokušali elaborirati u većem broju tekstova, pa ovdje nećemo duljiti. Samo ćemo naglasiti kako u svijetu koji se našao na prekretnici i koji ubrzano pokušava pronaći nove modele ekonomskih i društvenih odnosa, ideje ovoga pokreta shvaćene u najširem smislu (koje uključuju viziju modela »slobodne ekonomije«) po našem mišljenju mogu znatno pridonijeti humanizaciji međuljudskih odnosa na poslovnom i intelektualnom polju, obrazovanju mladih generacija za otvorenost srca i uma, razbijanju lanaca korupcije u državnim aparatima većine svjetskih zemalja i njihove interesne sprege s velikim »igračima« u poslovnom svijetu, uništenju monopolističkih tiranosaurusa čije je vrijeme već odavno prošlo, te preobrazbi ovoga današnjega »pomahnitaloga globalnoga kapitalizma« u primjeren ekonomski i društveni sustav koji će zadovoljavati interese i potrebe svakoga ljudskog bića i svjetske zajednice u cjelini.

Napomenimo kako se te ideje vrlo dobro uklapaju u socijalni nauk Katoličke crkve, odnosno društveno-ekonomske koncepcije većine katoličkih (kršćanskih) teoretičara društva, od Tome Akvinskog do onih suvremenih, od principa da »stvari ne treba smatrati samo svojim nego i zajedničkim, u smislu da se njima po mogućnosti može poslužiti svatko komu je to potrebno«, do zahtjeva za »komunitarnom organizacijom rada« ili težnje da se »besplatno dobije što je moguće više« (J. Maritain – »Cjeloviti humanizam«, poslanice pape Ivana Pavla II. – »Laborem Exercens« i »Centesimus Annus«, apostolska pobudnica Pape Franje »Evangelii Gaudum«).

Nadamo se da će najšira javnost u našoj zemlji u što skorije vrijeme postati u punoj mjeri svjesna značenja ove problematike za našu sadašnjost i budućnost, te dati i odgovarajući svoj doprinos, ne samo u promociji izloženih ideja nego i u realizaciji mnogih planova i zadataka vezanih uz afirmaciju slobodnog softvera, slobodnih informacija kao i ideala ljudske slobode uopće.


[1]           U tekstu razlikujemo pojmove UNIX i Unix – termin UNIX odnosi se na izvorni operativni sustav (razvijan od kraja šezdesetih do početka osamdesetih godina prošlog stoljeća, tj. do rascjepa na BSD i SYSV), dok je Unix općenitiji pojam pod kojim se podrazumijevaju i operativni sustavi nastali neposredno iz izvornog Unixa tj. UNIX-a.

 

[2]           Assembler je programski jezik »niske razine« kojim se pojednostavljuje pisanje instrukcija za hardver računala. U doba nastanka UNIX-a bio je uobičajen, danas se koristi samo za pisanje programa odnosno dijelova programa koje je potrebno izvršiti što je moguće brže.

 

[3]           C je programski jezik »više razine« koji danas ima vrlo široku primjenu, a C-kod je niz ljudima razumljivih programskih instrukcija (naredbi) koje hardver računala, nakon kompajliranja (prevođenja na »strojni jezik« kojim se opisuju električni signali koji putuju njegovim vodovima) također može »razumjeti«, a onda i »izvršiti«.

 

[4]           Haker, termin koji danas ima negativne konotacije, prvotno se odnosio na sve kompjutorske stručnjake, tj. na sve one koji su se mogli nazvati informatičkim entuzijastima.

 

[5]           Zagovornici koncepcije »slobodnog softvera« smatraju se ortodoksnima, dok se zagovornici koncepcije »otvorenoga koda« smatraju liberalnijima.

 

Hrvatska revija 4, 2015

4, 2015

Klikni za povratak