Geeks često opisuje programe kao "open source" ili "slobodni softver". Ako se pitate što točno znače te pojmove i zašto su važni, pročitajte dalje. (Ne, "besplatni softver" ne znači samo da ga besplatno možete preuzeti.)
Bez obzira je li program otvoren ili ne, to ne znači samo razvojnim programerima, već i korisnicima. Licence softvera otvorenog koda pružaju korisnicima slobode koje inače ne bi imale.
Slika kredita: Quinn Dombrowski na Flickr
Ako je program otvoren, izvorni kod slobodno je dostupan korisnicima. Njegovi korisnici - i svi ostali - imaju mogućnost preuzeti ovaj izvorni kod, mijenjati ga i distribuirati vlastite verzije programa. Korisnici također imaju mogućnost distribucije onoliko kopija izvornog programa koliko god žele. Svatko može koristiti program za bilo koju svrhu; ne postoje naknade za licenciranje ili druga ograničenja softvera. OSI ima detaljniju definiciju "open source" na svojoj web stranici.
Na primjer, Ubuntu Linux je open-source operativni sustav. Možete preuzeti Ubuntu, stvoriti onoliko kopija koliko želite, i dati ih svojim prijateljima. Ubuntu možete instalirati na neograničen broj vaših računala. Možete stvoriti remiksove Ubuntu instalacijskog diska i distribuirati ih. Ako ste bili posebno motivirani, mogli biste preuzeti izvorni kod za program u Ubuntu i izmijeniti ga, stvarajući vlastitu prilagođenu verziju tog programa - ili samog Ubuntua. Sve licence otvorenog izvornog koda omogućuju vam da to učinite, dok licence zatvorenog izvora postavljaju ograničenja za vas.
Suprotno od otvorenog izvornog softvera je zatvoreni izvorni softver koji ima licencu koja ograničava korisnike i čuva ih izvorni kod.
Firefox, Chrome, OpenOffice, Linux i Android su neki popularni primjeri open-source softvera, a Microsoft Windows vjerojatno je najpopularniji dio zatvorenog izvornog softvera.
Open source aplikacije općenito su dostupne - iako nema ništa zaustavljanja razvojnog programera za naplatu za kopije softvera ako dopuste preraspodjelu aplikacije i njegovog izvornog koda poslije.
Međutim, to se ne odnosi na "slobodni softver". "Slobodno" u slobodnom softveru znači "slobodno kao u slobodi", a ne "besplatno kao u pivu". Besplatni programski kamp, kojeg predvode Richard Stallman i Zaklada za slobodnu internetsku stranicu, usredotočuje se na etiku i moralu korištenja softvera koji se može kontroliran i modificiran od strane korisnika. Drugim riječima, kamp slobodnog softvera usredotočen je na slobodu korisnika.
Richard Stallman. Slika Fripog na Flickr.
Pokretanje softvera otvorenog koda stvoreno je kako bi se usredotočili na pragmatičnije razloge za odabir ove vrste softvera. Zagovornici sa otvorenim izvorima željeli su se usredotočiti na praktične prednosti korištenja open-source softvera koji bi privlačio više tvrtki, a ne moral i moral.
U konačnici, zagovornici obiju otvorenih izvora i slobodnih softvera razvijaju istu vrstu softvera, ali se ne slažu oko poruka.
Mnogo je različitih licenci koje koriste projekti otvorenog izvora, ovisno o tome koji programeri preferiraju svoj program.
GPL, ili GNU opća javna licenca, naširoko koriste mnogi projekti otvorenog izvora, kao što je Linux. Uz sve gore navedene definicije otvorenog izvora, uvjeti GPL-a navode da, ako netko promijeni program otvorenog izvora i distribuira izvedeni posao, mora također distribuirati izvorni kôd za svoj derivatni posao. Drugim riječima, nitko ne može uzeti kôd otvorenog koda i stvoriti program zatvorenog izvora - moraju vratiti svoje promjene natrag u zajednicu. Zbog tog razloga Microsoft je GPL-u nazvao "virusnim" jer prisiljava programe koji sadrže GPL kôd kako bi oslobodili vlastiti izvorni kod. Naravno, razvojni programeri programa mogu odlučiti ne upotrebljavati GPL kôd ako je to problem.
Neke druge licence, kao što je BSD licenca, manje ograničavaju razvojne programere. Ako je program licenciran pod licencom BSD, svatko može uključiti izvorni kod programa u drugi program. Oni ne moraju pustiti svoje promjene natrag u zajednicu. Neki smatraju da je to još "slobodnija" od GPL licence jer daje razvojnim inicijatorima slobodu uključivanja koda u vlastite zatvorene programe, a neki ga smatraju manje slobodnima jer imaju pravo na prava od krajnjih korisnika izvedenog programa.
Ovo nije sve suhe, nevažne stvari koje su važne samo za programere. Najočitija prednost softverskog softvera otvorenog izvora je da se može besplatno dobiti. Primjer gore navedenog Ubuntu Linuxa čini to jasnim - za razliku od Windowsa, možete instalirati ili distribuirati onoliko kopija Ubuntua kako želite, bez ograničenja. Ovo može biti osobito korisno poslužitelj - ako postavljate poslužitelj, možete ga samo instalirati. ako postavljate virtualizirani skup poslužitelja, možete jednostavno duplicirati jedan Ubuntu poslužitelj. Ne morate brinuti o licenciranju i koliko slučajeva Linuxa imate dopuštenje za pokretanje.
Program otvorenog izvora također je fleksibilniji. Na primjer, novo sučelje sustava Windows 8 razočaralo je mnoge dugotrajne korisnike sustava Windows za stolna računala. Budući da je Windows zatvoren izvor, niti jedan korisnik sustava Windows ne može preuzeti sučelje za Windows 7, mijenjati ga i učiniti ga pravilno funkcionirati na sustavu Windows 8. (Neki korisnici sustava Windows pokušavaju, ali ovo je mukotrpan proces obrnutog inženjeringa i mijenjanje binarnih datoteka. )
Kada Linux radna površina, poput Ubuntua, uvede novo sučelje stolnog računala koje neki korisnici nisu ljubitelji, korisnici imaju više mogućnosti.Na primjer, kada je izdana GNOME 3, mnogi korisnici Linuxa radne površine bili su jednako isključeni. Neki su uzeli kôd na staru verziju, GNOME 2 i izmijenili ga kako bi se pokrenuli na najnovijim Linux distribucijama - to je MATE. Neki su uzeli kôd GNOME-u 3 i izmijenili ga kako bi radili na način koji su preferirani - to je Cimet. Neki su korisnici upravo prebacili na postojeće alternativne stolna računala. Ako je sustav Windows bio open source, korisnici sustava Windows 8 imat će više izbora i fleksibilnosti. Pogledajte CyanogenMod, popularnu distribuciju Androida na temelju zajednice koja dodaje značajke i podršku za nove uređaje.
Softver otvorenog izvora također omogućava programerima da "stoje na ramenima divova" i stvaraju vlastiti softver. Svjedok Android i Chrome OS, koji su operativni sustavi izgrađeni na Linuxu i drugim open-source softverima. Jezgra Appleovog operativnog sustava OS X - i zbog toga iOS - izgrađena je i kod otvorenog koda. Valve je žestoko radeći na prijenosu svoje platforme Steam gaming na Linux, jer bi im to omogućilo stvaranje vlastitog hardvera i kontrolu vlastite sudbine na način koji nije moguć na Microsoftovom sustavu Windows.
Ovo nije iscrpan opis - čitave su knjige pisane na tu temu - ali sada biste trebali imati bolju predodžbu o tome koji je softver otvorenog izvora zapravo i zašto vam je to korisno.