GNU/Linux, otvoreni kod i slobodni softver

Strategija “zatvaranja koda”, odnosno ograničavanja pristupa izvorima informacija, kao i uopće nedostupnosti i netransparentnosti podataka od vitalnog društvenog interesa, protivna je demokratskim standardima, ali također, kako je to Stallman primijetio, i društvenim i etičkim normama. Njezine posljedice za našu budućnost mogu biti dalekosežne

“Nakon raspada softwaresharing zajednice kojoj sam pripadao, ništa više nije bilo isto kao prije. I tada sam se suočio s dubokom moralnom dvojbom. S jedne strane, mogao sam se bez problema pridružiti svijetu vlasničkog softvera i potpisati ugovor kojim se obavezujem da ću držati u tajnosti detalje svoga rada, odnosno obećati da neću pomagati svojim kolegama hakerima. Tako bih se posvetio radu na razvoju softvera predviđenog za izdavanje pod nekom od restriktivnih softverskih licenci, čime bih pridonio povećanju pritiska na ostale hakere da i oni iznevjere svoje drugove i izdaju svoje ideale. Na taj sam način mogao zarađivati novac, možda i uživati u pisanju koda. Ali, bio sam svjestan kako bi me, da sam krenuo tim putem, na kraju karijere, dok bih gledao iza sebe na godine koje sam proveo podižući zidove što razdvajaju ljude, pekla savjest jer sam svijet učinio gorim mjestom za život nego što je on to bio ranije.”
(Richard Stallman The GNU Project)

Zdenko Kremer
S obzirom da se informatičkim tehnologijama danas služi velik dio populacije, o nekim osnovnim pojmovima vezanim uz informatičku djelatnost nije potrebno mnogo govoriti. Primjerice, za nešto što se zove Microsoft Windows, ljudi su uglavnom čuli i većina ih zna o čemu se tu radi (a radi se o operativnom sustavu za osobna računala tj. skupu programa od kojih se neki automatski pokreću neposredno nakon uključenja računala i koji omogućavaju njegov rad, odnosno izvršavanje drugih programa koji su nam potrebni u nekom konkretnom poslu. Nasuprot tome, o Linuxu ili GNU/Linuxu, zna se puno manje. Istina, za taj je operativni sustav, dosta ljudi čulo, ali nema baš mnogo onih koji ga svakodnevno koriste i koji se mogu smatrati “pravim inuxašima”.Također, mnogi su ljudi čuli za pojmove sharewarea i freewarea. No pojmovi open source software i free software u prijevodu softver otvorenog koda i slobodni softver puno su slabije poznati. Ili, recimo, mnogo ih je više čulo za ime Bill Gates, nego za ime Richard Stallman, a korporacija po imenu Microsoft daleko je poznatija od organizacije koja se zove Zaklada za slobodni softver (Free Softvare Foundation). Namjera je ovoga teksta razjasniti ove slabije poznate pojmove koje smo upravo spomenuli, te objasniti zašto su neki pojmovi, odnosno imena, u javnosti puno prisutniji od drugih, premda predstavljaju vrlo slične stvari i premda se ljudi o kojima je ovdje riječ s približno jednakim uspjehom bave gotovo istim poslom. Da bismo u tome uspjeli, vratimo se u prošlost, u “zlatno doba informatike”.
Naime, od početaka informatike, a njezinim “rođenjem” simbolički možemo smatrati trenutak kad je proradilo prvo elektroničko računalo (ENIAC, 1945.), pa sve do početka osamdesetih godina prošlog stoljeća, bilo je vrijeme kad se ona smatrala (primijenjenom) znanošću, a ne “biznisom”. Bilo je to vrijeme kad su se njome bavili uglavnom ljudi sa sveučilišta ili iz znanstvenih laboratorija, odnosno instituta. Kako je to i inače običaj u znanosti, oni su rezultate svoga rada slobodno iznosili u javnost i njima raspolagali u skladu sa vlastitim željama i potrebama. Neki autori tako spominju pojam “softwaresharing community”, zajednice hakera (*1) koji su svoje kompjuterske programe (točnije njihov “izvorni kod” (*2)) međusobno razmjenjivali, proučavali, mijenjali, dorađivali i prilagođavali vlastitim potrebama. Kao što u svom tekstu “The GNU Project” o tom vremenu kaže Richard Stallman, guru GNU/Linux zajednice, utemeljitelj Zaklade za slobodni softver  i začetnik projekta GNU, koji se početkom sedamdesetih počeo raditi u MIT-ovom (Massachusetts Institute of Technology) AI-Lab-u (Artificial Intelligence Laboratory) – “Razmjena softvera nije bila ograničena na pojedinačne institucije. Kad god bi ljudi s nekog drugog univerziteta 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.” Nažalost, ovo je stanje trajalo, kako rekosmo, do početka osamdesetih godina.

GNU Head i Pingvin Tux maskote projekata GNU i Linux:

Pojavom novih tehnologija koje su omogućile proširenje područja upotrebe računala, posebice razvojem miniračunala i mikroračunala (PC-jeva),sazrelo je vrijeme za komercijalizaciju informatičke djelatnosti. Pretpostavka za taj proces bilo je uvođenje koncepta “vlasničkog” (proprietary) softvera, odnosno odluka države da zakonski regulira pojam “vlasništva” nad softverskim rješenjima, pri čemu vlasnik obično postaje kompanija koja je omogućila njihovu izradu. Tako se informatika brzo pretvorila u unosan biznis. Softverske kompanije poput Microsofta ili Oraclea doživjele su nagli uzlet, a njihovi osnivači poput Billa Gatesa,
odnosno Larryja Ellisona, počeli su gomilati svoje milijune. Istovremeno je ono što se zvalo softwaresharing 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. spinoff 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. kupio novi PDP10,njegovi su administratori odlučili koristiti Digitalov vlasnički operativni sustav umjesto ITS-a.” (ITS je naziv operativnog sustava razvijenog ranije u AI-Labu).
Dakako da uzlet cijelog jednog 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, obaveza programera, odnosno razvijača softvera, da izvorni kod i tehničke detalje svoga rada ne objelodanjuju u javnosti (to se obično realizira putem ugovora između programera i njegovog poslodavca), kao i obaveza kupaca softvera da ga dalje ne distribuiraju, niti ga samostalno mijenjaju u skladu sa vlastitim potrebama, (a takve su intervencije, s obzirom da su proizvođači softvera ubrzo prestali isporučivati izvorni kod programa, ionako postale neizvedive), što se realizira putem softverskih licenci. Međutim, na ovaj se način krši pravo korisnika softerskog produkta da bude upoznat sa njegovim pojedinostima kako bi ga mogao primjenjivati što efikasnije, mijenja i prilagođava vlastitim potrebama, a također se nekim “prirodnim pravom” može smatrati i pravo programera da javno obznane sve pojedinosti svoga rada na nekom softverskom produktu. Stallman tako smatra da je ovaj 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 takav sustav u suprotnosti sa 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 – ekstravisoku).
U skladu s ovim svojim zaključcima, Stallman je odlučio je pokrenuti projekt izrade operativnog sustava za računala koji bi sadržavao sve komponente potrebne korisnicima u standardnoj osobnoj ili poslovnoj primjeni, upotrebljiv na što većem broju hardverskih platformi, koji bi bio svima dostupan i mogao se slobodno razmjenjivati i prilagođavati vlastitim potrebama, baš onako kako je to bilo sa softverom prije pojave ideje o “vlasništvu“. Taj se projekt pod nazivom GNU (GNU je inače (rekurzivna) kratica za ‘GNU’s not UNIX (*3)’), 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 strane softverskih  korporacija i iskorišten u “komercijalne” svrhe, pa je tako uveo pojam “slobodnog softvera” (“free software”) čije je značenje, precizno definirao u dokumentu 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.

Različitosti GNU/Linux distribucija
Tokom vremena u GNU projekt se uključivalo sve više programera-volontera iz cijelog svijeta, a brojni pojedinci i grupe započele su vlastite projekte razvoja slobodnog softvera koji su se mogli inkorporirati u GNU projekt. Premda je Stallman započeo i s razvojem vlastitog slobodnog kernela (jezgra, centralni dio 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 sustavu. Tako je do polovice devedesetih nastao operativni sustav GNU/Linux, prikladan za korištenje u većini poslovnih i osobnih primjena. Obzirom da je taj sustav slobodan, odnosno svima dostupan i “otvoren” (otvorenog tj. dostupnog koda), mnogi su pojedinci i skupine krenuli u razvoj vlastitih verzija (“distribucija”), pa tako imamo Debian GNU/Linux, Red Hat Linux, SuSe Linux, Fedoru, Mandrivu,Slackware, Knoppix, Ubuntu, a tu je i prva hrvatska distribucija (HRID). Neke od njih postale su vremenom “komercijalne” ili “djelomično komercijalizirane” kao što je to primjerice Ubuntu, dok su neke, poput Debiana, ostale u potpunosti “nekomercijalne”. Spomenute dvije distribucije mnogočemu se izdvajaju od ostalih.
Debian je tako distribucija značajna zbog svoje stabilnosti, podržanih hardverskih platformi kao i zbog svoje veličine tj. broja softverskih paketa koje uključuje, te kao takva predstavlja osnovu za razvoj mnogobrojnih drugih više ili manje specijaliziranih distribucija (kojih danas ima na hiljade). Ubuntu je opet projekt koji je napokon uspio približiti GNU/Linux najširim masama softverskih korisnika, stvorivši istoimenu GNU/Linux distribuciju baziranu na Debianu koja je jednostavna korištenje. Ovdje treba primjetiti da se Linux ranije najviše koristio na serverskim računalima, zato što je znatno stabilniji od komercijalnih (Microsoftovih) serverskih sustava, a da je na području stolnih računala bio znatno manje zastupljen zbog kompliciranijeg postupka instalacije, problema s podržanim hardverom, nedostatka softvera za neke specifične primjene, kao i zbog na prvi pogled kompliciranijeg održavanja, a i samog načina rada. Ovi su se nedostaci tokom vremena postupno otklanjali i može se reći da su do danas uglavnom prevladani, premda se još uvijek mogu pojaviti problemi, posebno s nekim novijim i specifičnim hardverom (driveri), no oni su daleko manji nego što su bili ranije. Tako u zadnjih nekoliko godina GNU/Linux polako osvaja i računala “običnih” korisnika, na poslu, a i kod kuće, ali ne možda onim tempom koji bismo očekivali.
Napomenimo da “nekomercijalne” distribucije kao i paketi koje one uključuju uglavnom podrazumijevaju GNU General Public License, no osim ove postoje i druge licence tj. propisani uvjeti korištenja (a oni se propisuju kako smo rekli radi zaštite, da se slobodni softver ne bi jednostavno bio preuzet i iskorišten u komercijalne svrhe) 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 otvorenog koda (open source software) koji nisu identični, premda se puno ne razlikuju. Razliku uglavnom čini zahtjev da za modifikacije programa mora, odnosno ne mora vrijediti ista licenca kao i za original.

Sučelje Debiana 6.0

Tipična distribucija GNU/Linuxa, osim Linux kernela, uključuje osnovu grafičkog sučelja (X Windows System), razne vrste radnih okruženje (desktop environment WMaker, Gnome, KDE), standardne pomoćne programe (utilityje), programske alate i biblioteke, te mnoštvo aplikativnih softverskih paketa za različite svrhe. Može se reći da je količina slobodnog softvera koji nam stoji na raspolaganju, zaista impresivna.
Primjerice, 5.0 verzija Debian distribucije (Lenny) sadrži oko 25.000 softverskih paketa. Tu spadaju uredski paketi, web pretraživači, e-mail klijenti, baze podataka tj. DBMS-ovi (database management system) i drugi serverski paketi, kao što su web server, mail server, application server, terminal server, domain name server; zatim razni razvojni alati, preglednici (vieweri) za različite formate datoteka, grafičke i multimedijske aplikacije i sl. Neki od najvažnijih softverskih paketa koji su danas u standardnoj upotrebi nastali su tako što je programski kod koji su razvile softverske kompanije proglašen slobodnim i stavljen pod GPL. Primjeri za to su uredski paket StarOffice, danas OpenOffice, te popularna kombinacija web browsera i e-mail klijenta pod nazivom Mozilla Firefox odnosno Thunderbird (čiji je razvoj započeo nekada čuveni Netscape), dok su neki nastali kao rezultat inicijative raznih neprofitnih organizacija, neformalnih skupina ili pojedinaca. Tako je recimo X-Consortium, odnosno X.org Foundation razvio spomenuto grafičko sučelje, Apache Group odnosno Apache Softvare Foundation razvila sveprisutni slobodni web server Apache, koji daleko nadmašuje one komercijalne, dok je Michael Stonebraker, softverski stručnjak poznat po tome što je još početkom sedamdesetih stvorio tada revolucionarnu relacijsku bazu podataka (točnije relacijski sustav upravljanja bazom podataka, RDBMS) pod nazivom INGRES, sredinom osamdesetih pokrenuo razvoj novog relacijskog sustava nazvanog Postgres, koji danas poznajemo kao PostgreSQL, najbolji slobodni RDBMS koji ne zaostaje za razvikanim i sveprisutnim Oracleom, a taj je vrlo skupo komercijalno rješenje.

Dostupan, besplatan i siguran, ali slabo raširen
No usprkos kvantiteti, ali i kvaliteti slobodnog softvera, kao i onoga što se smatra softverom otvorenog koda, koji je po svim svojim karakteristikama i prefomansama uglavnom ravnopravan, a u nekima i superioran komercijalnim rješenjima (premda, kao što smo već napomenuli, u nekim situacijama mogu iskrsnuti uglavnom manji problemi, no toga ima i u radu sa vlasničkim softverom), a svima je dostupan tj. besplatan,te se može bez problema skinuti s interneta i koristiti bez ikakvih ograničenja, udio slobodnog softvera na tržištu još uvijek je razmjerno malen. Tako recimo GNU/Linux zauzima između 10% i 15% udjela na području instaliranih operativnih sustava za stolnih računala, dok microsoftovi proizvodi pokrivaju preko 80%. Što se tiče serverskih instalacija, tu je prednost na strani GNU/Linuxa, čiji je udio veći od 50%, no to sve zajedno ipak čini znatno manji dio tržišnog “kolača”. Treba također napomenuti da je kod nas u Hrvatskoj situacija sa slobodnim i otvorenim softverskim rješenjima još nepovoljnija nego u nekim drugim zemljama Europe i svijeta, gdje se zapažaju značajni pothvati uvođenja informacijskih sustava baziranih na slobodnom (GNU/Linux) softveru u javne i državne službe, kao i u gospodarski sektor od zemalja Evropske Unije tu se naročito ističu Njemačka, Španjolska i Francuska, dok od ostalih zemalja treba spomenuti Kinu i Brazil. (*4)
Kod nas je recimo elektroničko poslovanje s tijelima državne uprave omogućeno samo građanima i poslovnim subjektima koji se koriste microsoftovim softverskim produktima, a u javnoj se komunikaciji s tim ustanovama mogu koristiti samo zatvoreni tj. vlasnički formati dokumenata (radi se opet o microsoftovim formatima kao što su .xls i .doc). Već i sama činjenica da na ovakve stvari javnost uopće ne reagira, ukazuje na zastupljenost slobodnih odnosno otvorenih softverskih rješenja u našoj zemlji, i uopće interes (medija) za ovu problematiku.
Zašto je to tako, nije teško pogoditi. Jasno je da se iz prodaje vlasničkog softvera izvlače ekstraprofiti (inače zasigurno najbogatiji čovjek na svijetu ne bi bio vlasnik jedne softverske korporacije), pa su zbog interesa “svijeta biznisa” otpori prema uvođenju slobodnih softverskih rješenja često nesavladivi, premda njihova cijena, ako je uopće ima, obično uključuje samo troškove njihove implementacije i eventualno održavanja, što je redovito za koji red veličine manje od cijene vlasničkih rješenja. Propagandna podrška vlasničkim rješenjima je golema, dok je za slobodna nema uopće (treba samo vidjeti koliko se po informatičkim časopisima piše o temama koje se tiču vlasničkog, a koliko o temama koje se tiču slobodnog softvera), pa uopće nije čudno da se o slobodnom softveru u široj javnosti zna relativno malo.
Uz navedene prednosti slobodnog softvera treba istaći da zatvorenost (koda) vlasničkih rješenja otvara mogućnost raznovrsnih manipulacija (financijske ucjene, ugrožavanje tajnosti podataka i dr.) od strane kompanije koja je softver proizvela, dok s druge strane, slobodni softver zbog svoje otvorenosti i činjenice da je uglavnom besplatan, isključuje mogućnost manipulacije bilo kakve vrste, a k tomu, stručnjacima je omogućeno da ga unaprijede i prilagode specifičnostima konkretne implementacije. Slične probleme stvaraju zatvoreni formati dokumenata, odnosno datoteka drugih vrsta, koje (vlasnički) softver jednom može prestati podržavati. Još jedna važna prednost je i u tome što slobodni softver u daleko manjoj mjeri ugrožavaju kompjutorski virusi i ostali izvori kibernetičke opasnosti (spyware, addware, troyans i sl.), nego što je to slučaj sa vlasničkim softverom, a razlog tomu je veća kvaliteta ovoga softvera, kao i veća briga koja se posvećuje pitanjima sigurnosti. Također, često je puta tehnička podrška za slobodni softver znatno kvalitetnija od one koju softverske kompanije pružaju za svoje produkte. Sve u svemu, treba naglasiti da principi na kojima se zasniva ideja slobodnog softvera omogućavaju stvaranje znatno povoljnijeg radnog i životnog okruženja, ne samo za informatičke profesionalce, već i za sve one koji se na ovaj ili onaj način služe informatičkim tehnologijama (a oni danas, u ovom postindustrijskom ili informacijskom društvu čine možda i većinu), od onog koji je stvorila koncepcija “vlasništva nad softverom”, gdje je sve podređeno interesima zarade.
No, ono što se u priči o slobodnom i otvorenom softveru čini najvažnijim odnosi se na ideju slobode, tj. društvenu ulogu ovih ideja kao i pokreta koji te ideje pokušava propagirati. Treba uočiti da strategija “zatvaranja koda”, odnosno ograničavanja pristupa izvorima informacija, kao i uopće nedostupnosti i netransparentnosti podataka od vitalnog društvenog interesa, protivna demokratskim standardima, odnosno principu “demokratizacije znanja”, ali također, kako je to Stallman primijetio, i društvenim i etičkim normama, te da njezine posljedice za našu budućnost mogu biti dalekosežne. Također treba naglasiti da se ideja slobodnog softvera zasniva na koncepciji pojma vlasništva koju je razradio veći broj društvenih reformatora raznovrsnih usmjerenja i ideoloških opredjeljenja s raznih strana svijeta, a koju zagovara i socijalni nauk Katoličke crkve, utemeljenoj na principima supsidijarnosti i solidarnosti, prema kojoj “stvari ne treba smatrati samo svojim, već i zajedničkim, u smislu da se njima po mogućnosti može poslužiti svatko kome je to potrebno”. A očito je jako moguće da se jednom izrađenim softverom posluži svatko tko to želi, u bilo kojoj prilici, posebno danas u doba sveprisutnog interneta.
Recimo na kraju da u ovom današnjem vremenu koje karakterizira potraga za novim modelima ekonomskih i društvenih odnosa (jer su stari očito potrošeni), ideje pokreta za slobodni softver koji možemo shvatiti i u širem smislu, pa govoriti o pokretu za slobodne informacije i intelektualne slobode uopće mogu predstavljati bitan doprinos i dati značajan impuls promjenama na bolje. Pritom, dakako, treba biti svjestan i vlastite odgovornosti za njihovu realizaciju, jer se promjene o kojima je ovdje riječ mogu dešavati i u našem vlastitom radnom i životnom okruženju, a mogu započeti i od softvera koji koristimo na svom vlastitom računalu.

Citati:
1) Ovaj termin, koji danas ima negativne konotacije, prvobitno se odnosio na sve kompjuterske stručnjake,odnosno na sve one koji su se mogli nazvati informatičkim entuzijastima.
2) Radi se o nizu ljudima razumljivih programskih instrukcija (naredbi) koje računalo, na ovaj ili onaj način, također može “razumjeti”, a onda i “izvršiti”.
3) UNIX je operativni sustav za računala razvijen krajem šezdesetih godina prošlog stoljeća, koji je i danas vrlo rasprostranjen – GNU projekt je utemeljen na UNIXU i s njim je “kompatibilan”.
4)  Vlada španjolske pokrajine Extremadura za potrebe svoje administracije omogućila je razvoj posebne GNU/Linux distribucije nazvane LinEx, dok je kineska Akademija znanosti, odnosno njezin Institut za softverska istraživanja, razvila distribuciju pod nazivom Red Flag Linux koja je prilagođena specifičnostima njihove zemlje i koja je tamo široko rasprostranjena. I ruski predsjednik Vladimir Putin potpisao ukaz o “prijelazu Rusije na Linux” (tu se misli na njihove državne institucije).