Sloboda je važna! (Osvrt na povijest slobodnog softvera)



 

Osvrt na povijest slobodnog softvera

 

Nebrojeno puta u člancima u koje ste čitali korišteni su termini slobodni softver, GNU projekt, Fondacija za slobodni softver, pa i GNU/Linux. Neupućenost u značenje tih pojmova može biti pogubna po cjelokupnu zajednicu korisnika slobodnog softvera i GNU/Linuxa jer dovodi do remećenja i obilaženja osnovnih principa koji su omogućili da danas imamo funkcionalne slobodne operativne sisteme i softver.

 

Softver treba biti slobodan

 

Osvrt na povijest slobodnog softvera vraća nas u 1983. godinu kada je Richard Stallman, pritisnut ograničenjima koja je smatrao neetičkim, prekinuo svoj rad u laboratoriji za umjetnu inteligenciju MIT-a (Massachusetts institute of technology) i posvetio se stvaranju slobodnog operativnog sistema pod nazivom GNU. Ime u stvari predstavlja rekurzivni akronim od GNU’s Not Unix jer je osnovna zamisao bila formirati slobodan operativni sistem sličan Unixu.

 

Cijela ideja se vrti oko toga da bi softver koji čini operativni sistem trebalo da bude slobodan. Po Stallmanovom viđenju, razloga za ovo bilo je nekoliko, a oni su pretočeni u četiri osnovne slobode koje i danas definiraju slobodni softver. Za vrijeme svog rada u MIT-u, Stallman je bio dio grupe programera koja je bila potpuno otvorena u smislu da je softver koji su tada pravili slobodno kružio unutar njihove zajednice i bio slobodan za nadograđivanje i korištenje. Nažalost, u jednom trenutku su stvari počele da se mjenjaju, ugrožavajući koncepciju koja je do tada vladala u njihovoj zajednici. Zato je, kao što je spomenuto, RMS napustio MIT i posvetio se slobodnom softveru. Godine 1985. osnovana je Fondacija za slobodni softver kao pravna podrška GNU projektu, a slobodni softver je definiran putem četiri osnovne slobode koje su kasnije formalno definirane pomoću GNU GPL (General Public Licence).


The freedom to run the program, for any purpose

 

„Nulta sloboda” se tiče upotrebe programa i govori da se softver može koristiti u bilo koje svrhe (The freedom to run the program, for any purpose). Drugim riječima, slobodnom softveru se ne smije ograničavati svrha korištenja, poput probnih, nekomercijalnih ili edukativnih izdanja i verzija, na primjer. „Prva sloboda” govori o neophodnosti uvida u način funkcioniranja programa i mogućnosti njegovog prilagođavanja (The freedom to study how the program works, and adapt it to your needs). Dostupnost izvornog kôda programa jeste preduvjet za zadovoljavanje ove slobode i bilo kakvo ograničavanje pristupa izvornom kôdu softvera čini ga neslobodnim. „Druga sloboda” osigurava slobodnu redistribuciju i dijeljenje softvera (The freedom to redistribute copies so you can help your neighbor). Drugim riječima, softver koji nije moguće kopirati i dijeliti ne može biti slobodan. Na kraju, „treća sloboda” skreće pažnju na mogućnost poboljšavanja softvera, objavljivanja i redistribucije nadograđenih kopija (The freedom to improve the program, and release your improvements to the public, so that the whole community benefits). Dostupnost izvornog kôda je ponovo preduvjet, a ukoliko je ovo na bilo koji način onemogućeno, program nije slobodan. Citirani navodi na engleskom jeziku u zagradama potiču sa Web strane projekta GNU koja govori o definiciji slobodnog softvera (www.gnu.org/philosophy/free-sw.html).


Zaštita od zloupotrebe

 

Pored samih sloboda, projekt GNU i FSF su ustanovili koncept koji bi trebalo da osigura slobodni softver od zloupotrebe. Ovakav princip je nazvan Copyleft, predstavljajući pravilo po kojem se redistribucija softvera mora vršiti pod istim uvjetima pod kojima je i dobiven. Na taj način je osujećen bilo kakav pokušaj oduzimanja slobode i zloupotrebe. Copyleft je i pravno reguliran u okviru GNU GPL-a.



 

Na slici: Richard Stallman


Vođen ovim principima, Richard je pozvao programere da mu se priključe u radu na GNU-u. Pošto je idejna zamisao bila stvaranje operativnog sistema sličnog Unixu, bilo je potrebno iskopirati njegovu koncepciju. Delovi Unixa nisu mogli biti korišteni jer nisu bili slobodni softver pa je sve njih (kernel, C biblioteku, kompajler, debugger i drugo) bilo potrebno napisati od nule. Dakle, posla je bilo više nego dovoljno, zajednica se širila pa je do kraja osamdesetih godina GNU bio skoro završen. Jedini dio koji je nedostajao bio je kernel, a razlog leži u činjenici da se ekipa odlučila za napredniji dizajn (mikrokernel), što je, kako se pokazalo, bio preveliki zalogaj za njih.



 

Na slici: Linus Torvalds 


Linux - prvi slobodni operativni sistem (OS)


Početkom devedesetih, finski student računarstva Linus Torvalds počeo je da radi na projektu monolitnog kernela koji je kasnije nazvan Linux. Torvalds je bio inspirisan Minixom, čiji je autor njegov profesor koji mu nije dozvolio da ga nadogradi pa je Linus odlučio da započne svoj projekt. Iako je početna zamisao njegovog autora bila lična upotreba, Linux je počeo da stvara zajednicu oko sebe budući da ga je Torvalds objavio pod GNU GPL-om. Na taj način je konačno bilo moguće kompletirati GNU sistem pošto je Linux mogao da zadovolji potrebu za slobodnim kernelom. Pojedinci, programerske grupe ili kompanije počeli su da pakuju GNU i Linux u funkcionalnu cjelinu pa je operativni sistem GNU/Linux počeo da nastanjuje računare širom planete.

 

Pragmatični idealizam

 

Pored toga što slobodni softver predstavlja drugačiji koncept razvoja, on je i društveno angažiran. Razlog tome je činjenica da prednosti slobodnog softvera osjećaju svi njegovi korisnici, bez obzira na nivo tehničkog znanja. Drugim riječima, slobodni softver poštuje slobodu korisnika. Mogućnost slobodne upotrebe, kopiranja i dijeljenja softvera jest esencijalni razlog stvaranja korisničkih zajednica koje postoje širom planete na raznim osnovama. S druge strane, javnost razvoja slobodnog softvera korisnike i njihovu slobodu stavlja u prvi plan ispred bilo kakvih ograničenja i mogućih zloupotreba.


Razvoj slobodnog softvera je javan

 

Sam koncept slobodnog razvoja softvera u zajednici programera i korisnika između ostalog pruža nekoliko vrlo bitnih prednosti. Na prvom mjestu, razvoj slobodnog softvera je javan, što omogućava neograničen priliv ideja sa jedne i mogućnost slobodne provjere sa druge strane, a direktna posljedica ovakve situacije je veoma dinamičan razvoj. Pošto zajednicu korisnika slobodnog softvera između ostalih čine i programeri, ispravljanje propusta u softveru omogućeno je svima koji imaju znanje za to. Na kraju, ono što je možda najvažnije, ne postoji mogućnost skrivanja propusta.

 

Još jedna vrlo bitna posljedica koncepcije slobodnog softvera jeste mogućnost slobode u pružanju i odabiru tehničke podrške. Dostupnost izvornog kôda pruža podjednaku mogućnost za proučavanje softvera i pružanje podrške za njega, dok je jedini kriterij selekcije kvalitet. Na taj način se stvara otvoreno tržište, dok korisnici imaju mogućnost slobodnog izbora podrške na osnovu kvaliteta ponude.


Sloboda kao osnovno ljudsko pravo

 

No vraćamo na korisnika koji svakodnevno obavlja obične poslove na svom računaru. Zastupnici i poštovaoci ideje slobodnog softvera njegove slobode shvaćaju kao osnovno ljudsko pravo, što je još jedan pokazatelj njegovog društvenog značaja. Ovakav stav jeste legitiman ukoliko informatičke tehnologije shvatimo kao sredstvo za učešće u društvenim tokovima, što se dalje dotiče slobode govora i prava na mišljenje. Kompjuteri i softver svakako jesu alat u ostvarivanju ovih prava, dok su pravo na izbor i jednake mogućnosti za sve nešto što ne bi trebalo da bude predmet polemike.


------------------------------------


Prilog - Definicija slobodnog softvera


Definicija slobodnog softvera predstavlja kriterij za određivanje da li se partikularni softverski program kvalificira kao slobodan softver. S vremena na vrijeme revidiramo ovu definiciju, da bi pojasnili ili da bi riješili pitanja oko suptilnih predmeta ove debate. Pogledajte dio o povijesti ispod za listu izmjena koje utječu na definiciju slobodnog softvera.


“Slobodan softver” podrazumijeva softver koji poštuje slobodu korisnika i zajednicu. Približno, korisnici imaju slobodu da pokrenu, kopiraju, distribuiraju, proučavaju, izmjene i poboljšaju softver. S tim slobodama, korisnici (individualno i kolektivno) imaju kontrolu nad programom i nad onim što on čini za njih.

Kada korisnici nemaju kontrolu nad programom, program ima kontrolu nad korisnicima. Developer kontrolira program i kroz njega kontrolira korisnike. Takav neslobodni ili posjednički (“proprietary”) program je dakle instrument nepravedne moći.

Prema tome, “slobodan softver” je stvar slobode, ne cijene. Da se shvati taj koncept, trebate misliti na “slobodan” kao u “sloboda govora” ne kao u “slobodno (besplatno) pivo”.

Program je slobodan softver ako korisnici programa imaju četiri osnovne slobode:

1.) Sloboda pokretanja programa, u bilo koje svrhe (sloboda 0).


2.) Sloboda proučavanja rada programa, i sloboda prilagodbe istog tako da vrši računalne aktivnosti kakve vi želite (sloboda 1). Pristup izvornom kodu je preduvjet za to.


3.) Sloboda ponovne distribucije kopija, da biste mogli pomoći svomu bližnjemu (sloboda 2).


4.) Sloboda distribucije kopija izmijenjenih verzija drugima (sloboda 3). Radeći to možete dati cijeloj zajednici priliku da ima korist od vaših izmjena. Pristup izvornom kodu je preduvjet za to.


Program je slobodni softver ako korisnici istog imaju sve te slobode. Prema tome, možete slobodno ponovno distribuirati kopije, s preinakama ili bez njih, bez naplate ili s naplatom troškova distribucije, svakome svugdje. Biti slobodnim činiti sve to znači (između ostalog) da ne morate tražiti dopuštenje niti platiti za njega.

Trebali biste, također, imati slobodu činiti preinake i rabiti ih privatno u vašem poslu ili igri, bez ikakve obveze spominjanja njihova postojanja. Ako objavite vaše preinake, niste obvezni na to nikoga posebno upozoravati, ni na koji posebni način.

Sloboda uporabe programa

Sloboda uporabe programa znači slobodu osobe ili organizacije, da ga rabi na bilo kojoj vrsti računalnih sustava, za bilo koju vrstu sveukupnog posla i svrhe, bez ikakve obveze za naknadnim priopćavanjima toga developeru programa, ili bilo kojem posebnom tijelu. U toj slobodi, korisnička svrha je važna, ne svrha developera; vi ste kao korisnik slobodni pokretati program za vaše svrhe, i ako distribuirate nekom drugom, ona je tada slobodna pokrenuti program za svoje svrhe, ali vi nemate pravo nametnuti njoj vaše svrhe.

Sloboda distribuiranja kopija 

Sloboda distribuiranja kopija mora uključivati binarne ili izvršne oblike programa, kao i njegov izvorni kod, i izmijenjene i netaknute inačice. (Distribuiranje programa u izvršnom obliku je nužno za slobodne operativne sustave koji se mogu pogodno instalirati.) Sasvim je u redu ako ne postoji način izrade binarnog ili izvršnog oblika određenog programa (pošto neki jezici ne podržavaju tu značajku), ali ljudi moraju imati slobodu distribuiranja takvih oblika da bi pronašli ili razvili način njihove izrade.

Da bi slobode 1 i 3 (sloboda izrade izmjena i sloboda objave izmijenjenih inačica) bile smislene, morate imati pristup izvornom kodu programa. Prema tome, dostupnost izvornog koda je nužan uvjet za slobodan softver. Namjerno višeznačan i nerazumljiv (obfuscated) “izvorni kod” nije pravi izvorni kod i ne prolazi kao izvorni kod.

Sloboda 1 uključuje slobodu da koristite vašu izmijenjenu inačicu umjesto originala. Ako je program isporučen u proizvodu dizajniranom da izvodi tuđe izmijenjene inačice ali odbija izvoditi vaše — praksa znana kao “tivoizacija” ili “svođenje na zaključavanje (lockdown)”, ili (u izopačenoj terminologiji njenih praktikanata) kao “sigurnosno podizanje sustava (secure boot)” — sloboda 1 postaje teoretska fantastika radije nego praktična sloboda. To nije dovoljno. Drugim riječima, te binarne datoteke nisu slobodan softver iako je izvorni kod iz kojeg su kompilirane slobodan.

Jedan važan način preinake programa je uključivanje dostupnih slobodnih potprograma i modula. Ako licenca programa kaže da ne možete uključiti pogodno licencirani postojeći modul — na primjer, ako zahtijeva od vas da budete posjednik autorskih prava kopiranja bilo kojeg koda kojeg dodate — tada je licenca previše restriktivna da bi se kvalificirala kao slobodna.

Sloboda da objavite vaše preinačene inačice kao slobodan softver

Sloboda 3 uključuje slobodu da objavite vaše preinačene inačice kao slobodan softver. Slobodna licenca može isto i dopustiti druge načine objavljivanja; drugim riječima, ne mora biti copyleft (teško prevodiva igra riječi, od “copyright”, eng. autorsko pravo, op.prev.) licenca. Međutim, licenca koja zahtijeva da preinačene inačice budu neslobodne se ne kvalificira kao slobodna licenca.

Sloboda je vaše pravo sve dok ne činite neko zlo

Da bi te slobode bile stvarne, one moraju biti trajne i neopozive sve dok ne činite neko zlo; ako developer softvera ima moć opozivanja licence, ili retroaktivno dodavanja restrikcija na pravila, a bez ikakva razloga s vaše strane, softver nije slobodan.

Ipak, prihvatljive su stanovite vrste pravila o načinu distribuiranja slobodnog softvera, dok nisu u sukobu sa središnjim slobodama. Na primjer, copyleft (vrlo pojednostavnjeno) je pravilo po kojemu pri distribuiranju programa, vi ne možete stavljati ograničenja na središnje slobode drugih ljudi. Ovo pravilo nije u sukobu sa središnjim slobodama; zapravo, ono ih štiti.

Slobodan program mora biti dostupan za tržišnu uporabu

“Slobodan softver” ne znači “netržišni”. Slobodan program mora biti dostupan za tržišnu uporabu, tržišno razvijanje i tržišnu distribuciju. Tržišno razvijanje slobodnog softvera više nije neobično; takav slobodan tržišni softver je vrlo važan. Može biti da ste platili kopije slobodnog softvera, ili ste možda nabavili kopije besplatno. Ma kako vi dobili te vaše kopije, uvijek imate slobodu ponovnog kopiranja i mijenjanja istih, pa čak i prodavanja kopija.

Da li izmjena tvori poboljšanje je subjektivna stvar. Ako je vaše pravo da mijenjate program ograničeno, u suštini, na izmjene koje netko drugi smatra poboljšanjem, taj program nije slobodan.

Međutim, prihvatljiva su pravila o načinu pakiranja preinačenih inačica, ako ona djelotvorno ne sprječavaju vašu slobodu ustupanja preinačenih inačica, ili vašu slobodu da privatno napravite i koristite preinačene inačice. Dakle je prihvatljivo za licencu da zahtijeva da promijenite ime izmijenjene inačice, odstranite logo ili identificirate vaše preinake kao vaše. Sve dok ti zahtjevi nisu toliko tegobni da vas efektivno sputavaju u objavi vaših izmjena, oni su prihvatljivi; vi već radite druge izmjene u programu, pa nećete imati problema u izradi još nekoliko.

Poseban problem nastaje kada licenca zahtijeva izmjenu imena kojim će se program pozvati iz drugih programa. To vas efektivno sputava od objavljivanja vaše izmijenjene inačice tako da može zamijeniti original kada se pozove iz tih drugih programa. Ovakva vrsta zahtijeva je prihvatljiva samo ako postoji pogodno postrojenje za upravljanje pseudonimima koje vam dopušta da odredite ime originalnoga programa kao pseudonim za izmijenjenu inačicu.


Pravila takva da “ako napravite vašu inačicu dostupnu na ovaj način, morate je isto napraviti dostupnom na onaj način” mogu isto biti prihvatljiva, pod istim uvjetom. Primjer takvog prihvatljivog pravila je ono koje govori da ako ste distribuirali izmijenjenu inačicu i prijašnji developer pita za kopiju iste, morate poslati kopiju. (Primijetite da vam takvo pravilo još uvijek ostavlja izbor da li uopće distribuirati vašu inačicu.) Pravila koja zahtijevaju objavu izvornog koda korisnicima za inačice koje ste stavili u javnu upotrebu su isto prihvatljiva.

Pravna zaštiti slobode za sve

U GNU projektu, upotrebljavamo copyleft da bi pravno zaštitili te slobode za svih. Ali slobodan softver koji nije pod copyleftom isto postoji. Vjerujemo da postoje važni razlozi zašto je bolje koristiti copyleft, ali ako je vaš program slobodan softver koji nije pod copyleftom, još je uvijek u osnovi etičan. (Pogledajte kategorije slobodnog softvera za opis kako se “slobodan softver,” “softver pod copyleftom” i druge kategorije softvera odnose jedna prema drugoj.)

Ponekad vladini propisi o kontroli izvoza i odobrenja za trgovinu mogu ograničiti vašu slobodu da distribuirate kopije programa internacionalno. Developeri softvera nemaju moć eliminacije ili nadglasavanja tih restrikcija, ali ono što oni mogu i moraju napraviti je odbijanje da ih nametnu kao uvjete uporabe programa. Na taj način, restrikcije neće utjecati na aktivnosti i ljude izvan nadležnosti tih vlada. Dakle, licence slobodnog softvera ne smiju zahtijevati poslušnost bilo kojem propisu o izvozu kao uvjetu za bilo koje od suštinskih sloboda.

Većina licenci slobodnog softvera je bazirana na autorskim pravima, i postoje granice na vrste zahtijeva koji mogu biti nametnuti kroz autorsko pravo. Ako licenca bazirana na autorskom pravu poštuje slobodu na način opisan iznad, nevjerojatno je pojavljivanje druge vrste problema kojeg nismo predvidjeli (iako se to ponekad dogodi). Međutim, neke licence slobodnog softvera su bazirane na ugovorima, i ugovori mogu nametnuti mnogo veći opseg mogućih restrikcija. To znači da postoje mnogi mogući načini na koje takva licenca može biti neprihvatljivo restriktivna i neslobodna.

Ako licenca uključuje nesavjesne restrikcije, mi je odbijamo

Nismo u mogućnosti da popišemo sve načine na koje se to može dogoditi. Ako licenca bazirana na ugovoru ograničava korisnika na neuobičajeni način, ograničavanje koje licenca bazirana na autorskom pravu ne može napraviti, i koje nije spomenuto ovdje kao legitimno, morati ćemo razmisliti o tome, i vjerojatno ćemo zaključiti da je neslobodna.

Kada se govori o slobodnom softveru, najbolje je izbjegavati termine kao “dati” ili “besplatno” zato jer ti termini impliciraju da je problem u cijeni, ne u slobodi. Neki uobičajeni termini kao što su “piratstvo” utjelovljuju mišljenja za koja se nadamo da ih nećete odobriti. Pogledajte zbunjujuće riječi i fraze koje je najbolje izbjegavati za raspravu o tim terminima. Također imamo popis pravih prijevoda “slobodnog softvera” na razne jezike.

Napokon, primijetite da kriteriji, kakvi su iskazani u ovoj definiciji slobodnog softvera, zahtijevaju pomnu misao za njihovu interpretaciju. Da se dođe do odluke o tome da li se određena softverska licenca kvalificira kao licenca slobodnog softvera, prosuđujemo na temelju tih kriterija da bi odredili da li odgovara njihovom duhu kao i preciznim riječima. Ako licenca uključuje nesavjesne restrikcije, mi je odbijamo, čak iako nismo predvidjeli problem u ovim kriterijima. Ponekad zahtjevi licence podižu pitanje koje zahtijeva opsežnu misao, uključujući i raspravu sa odvjetnikom, prije nego što možemo odlučiti da li je zahtjev prihvatljiv. Kada napravimo zaključak oko novog predmeta, često ažuriramo ove kriterije da bi olakšali razumijevanje o razlozima zašto se određene licence kvalificiraju ili ne kvalificiraju.

Ako ste zainteresirani o tome da li se određena licenca kvalificira kao licenca slobodnog softvera, pogledajte naš popis licenci. Ako je licenca kojom se bavite nije uključena u popis, možete nas pitati o toj licenci slanjem elektroničke pošte na <licensing@gnu.org>.

Ako razmišljate o pisanju nove licence, molimo vas prvo kontaktirajte Zakladu za slobodan softver na navedenu adresu. Proliferacija različitih licenci slobodnog softvera znači povećani napor za korisnike da shvate te licence; možda vam možemo pomoći naći postojeću licencu slobodnog softvera koja odgovara vašim potrebama.

Ako to nije moguće, ako zaista trebate novu licencu, s našom pomoći vi možete osigurati da je licenca zaista licenca slobodnog softvera i tako izbjeći razne praktične probleme.

Softverski priručnici moraju biti slobodni, iz istih razloga zbog kojih softver mora biti slobodan, i zato jer su priručnici ustvari dio softvera.

Isti argumenti također imaju smisla za druge vrste djela za praktičnu uporabu — to jest, djela koja utjelovljuju korisno znanje, kao što su djela za obrazovanje i referentna djela.Wikipedia je najbolje znani primjer.

Svaka vrsta djela može biti slobodna, i definicija slobodnog softvera je proširena na definiciju slobodnih kulturoloških djela primjenjivu na bilo koju vrstu djela.

 



Napisao, uredio i obradio: Nenad Grbac


------------------------

Sva prava i Copyright : Nenad Grbac & Impero present


     Sadržaj ove stranice nije dopušteno ni kopirati, ni prenositi u drugim medijima, bez odobrenja njenog autora.

 


Prethodni post     
     Sljedeći post
     Blog

Zid

Nema komentara
Morate se prijaviti na komentar