Slobodna programska podrška
Slobodna programska podrška (ili slobodni softver) je softver koji se može koristiti, proučavati i mijenjati bez ograničenja, te presnimavati i distribuirati bez ograničenja odnosno uz ograničenje da se daljnjim korisnicima moraju osigurati ista navedena prava, a u nekim slučajevima i da im u tu svrhu proizvođači hardvera moraju dopustiti pristup hardveru i njegovo mijenjanje.
U praksi, kako bi softver mogao biti distribuiran kao slobodan, on mora biti dostupan u obliku koji je čovjeku razumljiv (u izvornom kodu) uz naznaku gore navedenih povlastica. Ta naznaka je ili licencija za slobodan softver, ili izjava da je izvorni kod predan u javno vlasništvo.
Povijest
urediU ranim danima informatike softver se slobodno dijelio i mijenjao među malobrobrojnim korisnicima računala na sveučilištima, istraživačkim laboratorijima, institutima te vladinim organizacijama. U tim ranim danima sav softver je bio slobodan. Tek krajem 70-ih godina 20. stoljeća pojedine su tvrtke (među kojima prednjači Microsoft), bojeći se konkurencije, počele zatvarati izvorni kod i licencirati svoj softver tako da ograničava slobodu korisnika. Taj model je vrlo brzo prihvatila većina informatičke industrije. Nasuprot tom modelu, 80-tih godina 20. stoljeća nastao je pokret koji se zalaže za ponovno uvođenje slobodnog softvera u svakodnevni rad. Taj pokret utemeljio je Richard Stallman, no i prije njega je postojao slobodni softver (npr. BSD).
Slobode
urediStallmanova definicija slobodnog softvera, koju je objavio Free Software Foundation u veljači 1986., kaže da je softver slobodan ako ljudi koji dobe primjerak tog softvera imaju sljedeće četiri slobode:[1]
- sloboda 0: Sloboda pokretanja programa u bilo koje svrhe.
- sloboda 1: Sloboda proučavanja rada programa i prilagodbe istog svojim potrebama (pristup izvornom kodu je preduvjet za to).
- sloboda 2: Sloboda distribuiranja presnimaka kako bi se pomoglo bližnjemu.
- sloboda 3: Sloboda poboljšavanja programa i ustupanja izmijenjenih inačica javnosti za blagodat cijele zajednice (pristup izvornom kodu je preduvjet za to).
Program je slobodni softver ako korisnici istog imaju sve te slobode. Prema tome, svatko može slobodno distribuirati presnimke, s preinakama ili bez njih, bez naplate ili s naplatom troškova distribucije, svakome i svugdje. Biti slobodan činiti sve to znači (između ostalog) da se ne mora tražiti dopuštenje ni platiti za njega.
Licencije
urediLicencije za slobodni softver mogu se podijeliti u nekoliko kategorija:
- Javno vlasništvo (eng. public domain) – Softver je u javnom vlasništvu ako mu je autorsko pravo isteklo, ako nije ni bio zaštićen autorskim pravom (u zemljama gdje je to zakonski moguće) ili ga je autor izdao kao javno vlasništvo (u zemljama gdje je to zakonski moguće). Budući da softver u javnom vlasništvu nije zaštićen autorskim pravom, može se slobodno uključiti u bilo koji drugi softver.
- Dopuštajuće licencije (eng. permissive licenses, copyfree licenses) ne postavljaju nikakva ograničenja na distribuiranje izmijenjenih inačica softvera, osim u pogledu navođenja autora, što znači da dopuštaju da se izmijenjena inačica distribuira i pod uvjetima drukčije vrste licencija (npr. licencija za vlasnički softver). Najistaknutiji primjeri ovakve licencije su BSD-ova licencija i MIT-ova licencija.
- Licencije koje čuvaju slobode (eng. copyleft licenses) su licencije koje korisniku daju gore navedene četiri slobode te dozvoljavaju distribuiranje presnimaka kao i izmijenjenih inačica softvera samo pod uvjetima iste licencije, a to znači da se u daljnjem razvoju softvera u potpunosti čuvaju sve postavljene korisničke slobode, što je i glavna namjera ovih licencija. Engleski pojam copyleft je izveden kao igra riječi od pojma copyright koji u zakonu o autorskom pravu označava skup ekskluzivnih prava autora u pogledu izvođenja, distribuiranja i prerađivanja njegovog djela. Općenito autori koriste autorsko pravo kako bi ostalima ograničili slobodu izvođenja, distribuiranja i prerađivanja svoga djela. No u ovim licencijama autori koriste to pravo kako bi ostalima jamčili te slobode. Prva i najviše korištena ovakva licencija je GPL, a druge poznate su npr. LGPL, MPL i Apache License. Neki smatraju da ove licencije daju korisniku manje sloboda nego dopuštajuće licencije jer postavljaju uvjete na distribuiranje softvera, no s druge strane dopuštajuće licencije ne jamče očuvanje svih korisničkih sloboda.
Slobodni softver i strojni kod
urediZa korištenje nekog softvera na određenoj vrsti računala općenito je potrebno izvorni kod tog softvera prevesti u strojni kod koji odgovara hardverskoj platformu i operacijskom sustavu računala, što nije trivijalan posao. Izvorni kod vlasničkog softvera dostupan je jedino njegovom autoru koji stoga mora osigurati prevođenje u strojni kod. Kod slobodnog softvera postoji više mogućnosti u tom pogledu:
- Autor slobodnog softvera daje samo izvorni kod, a prevođenje u strojni kod prepušta korisnicima.
- Autor slobodnog softvera uz izvorni kod daje i strojni kod za jednu ili više hardverskih platformi i operacijskih sustava te ga obično javno objavljuje putem Interneta. Ako neka hardverska platforma ili operacijski sustav nije podržan od strane autora, korisnici mogu sami napraviti prevođenje i nezavisno objaviti strojni kod (poštujući pri tome licencu dotičnog slobodnog softvera).
- Autor, ili netko drugi, prodaje medije sa strojnim kodom. U paketu s medijima, ili pak odvojeno, mogu se prodavati i tiskane korisničke upute. Autori uputa za slobodni softver obično podržavaju ideju slobodnog softvera te ih objavljuju pod licencama koje korisnicima omogućavaju slobodno kopiranje i mijenjanje tih uputa te distribuiranje izmijenjenih inačica.
Primjeri slobodnog softvera
urediPoveznice
uredi- Zaklada za slobodan softver
- GPL
- Richard Stallman
- GNU/Linux (GNU + Linux kernel)
- freeware
- shareware
- demo
- abandonware
- vaporware
- shovelware (crapware, garbageware)
- adware
- donationware
- otvoreni kod
- nagware
- glossyware
- beerware
Izvori
uredi- ↑ Definicija slobodnog softvera. Projekt GNU. Pristupljeno 6. lipnja 2011.