Slobodan softver

Pokreti za otvoren pristup i otvorene podatke su privukli puno pažnje u poslednjih nekoliko godina. Međutim, ne treba izgubiti iz vida pokret za slobodan softver koji takođe može da ima veliki uticaj na društvo. Mnogi čitaoci nisu čuli za pokret za slobodan softver, međutim većina svakodnevno koristi slobodan softver koji je nastao kao rezultat projekata implementiranih u skladu sa vrednostima i principima koje ovaj pokret zastupa.

Ubrzanom digitalizacijom društva, život i rad u razvijenim zemljama nije moguće zamisliti bez svakodnevne upotrebe informacionih tehnologija. S obzirom da se zavisnost od informacionih tehnologija i udeo slobodnog softvera u njima samo povećava, slobodan softver i praksa pokreta za slobodan softver postaje prepoznata i van IT krugova.

Pokret za slobodan softver nastao je osamdesetih godina prošlog veka i do danas je prošao kroz nekoliko transformacija – od marginalnog pokreta poznatog samo u IT krugovima, preko pokreta koji je odigrao bitnu ulogu u razvoju interneta i veba, do pokreta koji utiče na svakodnevni život milijarde ljudi. Poznat i priznat u IT krugovima nekoliko decenija, ovaj pokret i organizacije koje ga čine polako, ali sigurno izlaze iz anonimnosti.

Termin „slobodan softver“ (eng. free software) prvi put je ušao u upotrebu osamdesetih godina prošlog veka i označava softver koji se može slobodno koristiti, proučavati, deliti i unapređivati. Deceniju kasnije javlja se drugi termin – „softver otvorenog izvornog koda“ (eng. open source software). Ovaj termin češće se koristi u komercijalnom okruženju, potencira tehničke prednosti otvorenog softvera i ne podrazumeva nužno vrednosti na kojima je zasnovan pokret za slobodan softver. Istovremeno je u engleskom govornom području nastao i termin libre softver (eng. libre software) da bi se izbegla višeznačnost engleskog termina „free software“ koji može označavati i slobodan i besplatan softver. Sva tri termina često se obuhvataju terminom FLOS softver (eng. free/libre/open source software). Iako se ovi termini često koriste kao sinonimi, u pokretu za slobodan softver postoje kontradiktorni stavovi po pitanju definicije slobodnog i otvorenog softvera i uloge koju treba da ima u društvu.

Softver nastaje tako što programeri pišu izvorni kod u programskim jezicima visokog nivoa (npr. Java, C# i Python) i prevode ga u izvršni kod u programskim jezicima niskog nivoa (npr. mašinski jezik) korišćenjem alata za razvoj softvera. Programski jezici visokog nivoa su razumljivi ljudima (ili bar onim ljudima koje nazivamo programeri), dok programski jezici niskog nivoa mogu da se izvršavaju na računarima. Izvršni kod se zajedno sa ostalim resursima kao što su grafika, audio i video pakuje u datoteke u posebnim formatima. Konačno, te datoteke se distribuiraju krajnjim korisnicima. Za distribuciju softvera mogu da se koriste prodavnice poput Google Play, Apple Store i Microsoft Store ili „klasični“ kanali za distribuciju softvera poput preuzimanja sa interneta i prenosivih medija.

Bitno je napomenuti da je vrlo teško proučiti ili unaprediti softver ako je dostupan samo izvršni kod. To znači da u praksi sloboda proučavanja i unapređivanja softvera podrazumeva dostupnost izvornog koda.

Jedna od karakteristika industrije informacionih tehnologija je da su troškovi kopiranja i distribucije softvera zanemarljivi u odnosu na troškove njegove proizvodnje. Takođe, najveći udeo u troškovima proizvodnje imaju troškovi ljudi koji prave softver, a ne opreme i sirovine. Isto se ne može reći za neke druge privredne grane kao što je poljoprivreda, eksploatacija mineralnih sirovina, industrija, itd. To je verovatno doprinelo nastanku pokreta za slobodan softver i prakse povezane sa slobodnim softverom. Naime, jedan programer ili relativno mala grupa programera mogu u slobodno vreme napraviti i distribuirati softver koji može da koristi, proučava, deli i unapređuje mnogo veća grupa ljudi.

Izvorni i izvršni kod, kao i ostale tvorevine ljudskog uma, mogu biti i obično jesu intelektualno vlasništvo. Intelektualne tvorevine se obično štite da bi se ostvarila prednost u odnosu na konkurenciju na tržištu. Glavne institucije zaštite intelektualne svojine su autorsko delo, patent i/ili žig. U nekim zemljama, poput SAD i Japana, softver se može zaštititi i kao autorsko delo i kao patent. U drugim zemljama, poput zemalja EU čijim pravnim tekovinama Srbija teži, softver se može zaštititi samo kao autorsko delo. Bilo kako bilo, žig se koristi da bi se zaštitio znak koji razlikuje neki softver u odnosu na konkurenciju.

Suprotni pogledi na intelektualnu svojinu su javno vlasništvo ili copyleft („neka prava zadržana“). Termin copyleft označava pravo slobodnog deljenja i unapređenja intelektualnih tvorevina pod uslovom da je i novonastala intelektualna tvorevina dostupna pod istim uslovima. Organizacije i pojedinci koji su deo pokreta za slobodan softver iskoristili su pravnu instituciju autorskog dela da zaštite izvorni kod i ostale softverske resurse i učine ih dostupnim za korišćenje, proučavanje, deljenje i unapređivanje (pod svojim uslovima).

Dva glavna pravca u FLOS (Free/Libre/Open-Source) pokretu i dve glavne filozofije FLOS softvera su slobodan softver i otvoren softver. Slobodan softver pored tehničkih i pravnih pitanja podrazumeva i skup vrednosnih i političkih stavova, a otvoren softver se fokusira samo na tehnička i pravna pitanja. Iz tog razloga su slobodne licence obično restriktivnije.

GNU (GNU je rekurzivna skraćenica od „GNU‘s Not Unix“) General Public License (GPL) je primer jedne od najstarijih i najrestriktivnijih licenci za slobodan softver. Ovaj tip licence dozvoljava korisnicima da koriste, proučavaju, dele i unapređuju softver, ali zahteva da se i unapređen softver distribuira pod istim uslovima. Iz tog razloga ne moraju biti pogodne za komercijalnu upotrebu. Nazivaju se i copyleft ili recipročne licence.

Massachusetts Institute of Technology (MIT), Berkeley Software Distribution (BSD) i Apache licence su primeri manje restriktivnih licenci. Obično ne postavljaju uslove pod kojima unapređen softver mora da se distribuira. Zahtevaju samo da se delo pripiše izvornom autoru. One se nazivaju i ne-copyleft ili nerecipročne licence.

Mozilla Public License (MPL) se po ograničenjima nalazi između GPL i MIT/BSD/Apache licenci.

Još jedna familija licenci, koja se češće koristi u kreativnoj industriji nego u softverskoj industriji je Creative Commons (CC) grupa licenci. U zavisnosti od varijante CC licence, ona može da pokrije široki spektar potreba, od copyleft do ne-copyleft varijanti.

Neki od najpoznatijih primera slobodnog softvera su Android, GNU/Linux, Mozilla Firefox i Thunderbird i Apache HTTP server.

Skoro devet od deset pametnih telefona prodatih 2018. godine su Android pametni telefoni. Android je operativni sistem, programski radni okvir i skup aplikacija za mobilne uređaje.

Njegov razvoj vodi Savez za otvorene mobilne telefone (eng. Open Handset Alliance). To je neprofitna organizacija koja je osnovana sa ciljem da ubrza inovacije u mobilnim tehnologijama i ponudi korisnicima bolje iskustvo. Najuticajniji član ovog saveza je Google, ali ga čine još 83 organizacije iz oblasti softvera, hardvera i mobilnih komunikacija.

Android je slobodan softver koji je pretežno dostupan pod Apache 2.0 licencom. S obzirom da Android koristi Linux jezgro, neke komponente su dostupne pod GPL licencom.

GNU/Linux je drugi primer uspešnog projekta slobodnog softvera. To je jezgro operativnog sistema i skup programskih biblioteka i sistemskog softvera nastalih po uzoru na UNIX operativni sistem. Prvu verziju jezgra operativnog sistema je napisao Linus Torvalds (eng. Linus Torvalds) 1991. godine. Programske biblioteke i sistemski softver preuzeti su iz GNU projekta. GNU je pokrenuo Ričard Stalman (eng. Richard Stallman) 1983. godine.

Za razliku od Androida, razvoj GNU/Linux operativnog sistema vode članovi pokreta za slobodni softver. Iako razvoj Linux jezgra vodi zvanično Linus Torvalds, Fondacija Linux (eng. Linux Foundation) je neprofitna organizacija osnovana 2000. godine sa ciljem da standardizuje Linux i podrži njegov rast. Fondacija za slobodan softver (eng. Free Software Foundation) je neprofitna organizacija osnovana 1985. godine sa ciljem da pruža podršku pokretu za slobodan softver. Blisko je povezana sa GNU projektom.

Linux jezgro i GNU programske biblioteke i sistemski softver obično se distribuiraju zajedno pod GPL licencom. Tokom godina, nastale su mnoge GNU/Linux distribucije. Najpoznatije su Debian, Fedora, SUSE i Ubutnu. Iako nije dominantan operativni sistem na tržištu personalnih računara, na većini servera se izvršava neka distribucija GNU/Linux operativnog sistema.

Slobodan softver doživeo je procvat širenjem interneta. Apache HTTP server je već godinama najrasprostranjeniji HTTP server na internetu.

Uspeh Apache HTTP servera prouzrokovao je nastanak Apache softverske fondacije (eng. Apache Software Foundation). Apache fondacija je decentralizovana zajednica programera koja koristi kolaborativni proces za razvoj softvera i distribuira ga pod otvorenim licencama. Svakim projektom autonomno upravlja grupa tehničkih eksperata koji su aktivni učesnici na projektu. Trenutno postoji blizu dvesta softverskih projekata koji se implementiraju pod okriljem ove fondacije.

Naravno, sav softver se distribuira pod Apache licencom.

Još jedan primer slobodnog softvera koji je ušao u široku upotrebu su Firefox i Thunderbird. ‘00-tih godina su bili glavni rivali Internet Explorer-u i Outlook-u u oblasti veba i elektronske pošte. Međutim, poslednjih godina ih je zajedno istisnuo Google Chrome (i njegova slobodna varijanta Chromium) i Google Mail.

Razvoj Firefox-a i Thunderbird-a vodi Fondacija Mozilla (eng. Mozilla Foundation). Osnovana je od strane Netscape-a, i iako neprofitna organizacija, posluje na profitnoj osnovi preko ćerke-firme Mozilla Corporation.

I Firefox i Thunderbird su objavljeni pod Mozilla Public License (MPL).

I mnoge druge komponente internet infrastrukture koriste slobodan softver. Neke od njih su WordPress, LAMP, MariaDB, Postfix i Xen.

Naravno, otvoreni softver je pronašao najširu upotrebu među programerima. Mnogi programeri (ili većina njih koje autor poznaje) preferira slobodan softver – od integrisanih okruženja za razvoj softvera kao što su Eclipse i IntelliJ, preko alata za upravljanje verzijama izvornog koda kao što je Git, do alata za neprekidnu integraciju softvera kao što su Jenkins i SonarQube. Poučeni ovim iskustvima, mnogi protagonisti u oblastima informacionih tehnologija koje su sada u zamahu, kao što su veštačka inteligencija i mašinsko učenje, veliki podaci (eng. big data), internet stvari (eng. IoT), tehnologije distribuiranih zapisa (eng. distributed ledger), od početka koriste i promovišu komponente i alate otvorenog koda. To ne važi samo za neprofitni sektor, nego i za profitni sektor predvođen najvećim i najuticajnijim IT kompanijama.

Pored pokreta za slobodan softver koji autonomno stvara slobodan softver, otvoreni kod je poslovni model koji je postao popularan i među profitnim organizacijama. Google i Facebook od početka koriste i doprinose softveru otvorenog koda. Čak je i Microsoft, kompanija koja je ‘90-tih i ’00-tih godina bila glavni antagonista pokreta za slobodan softver, počeo da doprinosi projektima otvorenog koda. Takođe, kupio je i GitHub koji je najveći i najpopularniji repozitorijum slobodnog softvera. Možda je rano govoriti o namerama, ali je očigledno da je slobodan softver dobio pažnju najvećih i najuticajnijih IT kompanija.

Različiti IT kompanije su se profilisale u različitim segmentima IT tržišta. Neke, kao što su Intel i AMD, prvenstveno proizvode hardver. Druge, kao što je Microsoft, prvenstveno proizvode softver. Treće, kao što su Apple i IBM, proizvode i hardver i softver. Četvrte , kao što su Google, Facebook i Amazon, prvenstveno nude usluge. Primetno je da se težište IT industrije pomera od proizvodnje hardvera, preko proizvodnje softvera, do nuđenja usluga. U zavisnosti od uloge koju imaju u podeli rada, različite IT kompanije imaju različit pogled i  pristup slobodnom softveru.

Treba biti svestan da softver, osim u slučaju softverskih proizvoda široke potrošnje, zahteva i pružanje pratećih usluga. Neke od tih usluga su konfiguracija i prilagođavanje softvera potrebama korisnika, obuka korisnika, pružanje tehničke podrške i održavanje softvera. Naročito treba imati u vidu da je cena softvera u toku celog životnog ciklusa (eng. total cost of ownership) često značajno veća od cene samog softverskog proizvoda. Mnoge profitne organizacije koje distribuiraju softver pod slobodnim ili otvorenim licencama ostvaruju prihode nudeći ove usluge na tržištu.

Postoji više stavova o motivima aktera pokreta za slobodan softver. Izvorno su u pitanju bili programeri koji su radili na slobodnom softveru u svoje slobodno vreme ili su bili zaposleni u istraživačkim organizacijama, koje su ove aktivnosti finansirale iz drugih izvora. Trenutno, sve više programera koji rade na slobodnom softveru je zaposleno u profitnim organizacijama. One imaju različite motive za pružanje podrške projektima otvorenog koda, ali se oni obično svode na profit. Takođe, učestvovanje u projektima razvoja slobodnog softvera može imati pozitivan uticaj na karijeru programera. Neiskusni programeri mogu da steknu dragoceno iskustvo i referencu. Rad na istaknutim projektima razvoja slobodnog softvera može da bude odlična referenca i za iskusne stručnjake.

Iako to verovatno nije poznato širem krugu čitalaca, FLOS softver je postigao veliki uspeh. Mnogi proizvodi kao što su Android pametni telefoni, Apple računari i komunikaciona i informaciona infrastruktura zasnovani su na softveru otvorenog koda. Bez sumnje, svet ne bi bio isti bez njih.

Postoje primeri više centralnih, regionalnih i lokalnih uprava koje su se odlučile za to da pređu na slobodan softver i time postigle velike uštede. U mnogim obrazovnim i istraživačkim ustanovama, kao što je Fakultet tehničkih nauka u Novom Sadu na kome je autor zaposlen, korišćenje slobodnog softvera je rasprostranjeno. Krajem ‘00-tih godina je postojala inicijativa da javni sektor u Srbiji u što većoj meri pređe na slobodan softver. Nekoliko visokoškolskih ustanova je lokalizovalo najčešće korišćene softverske pakete, kao što su Fedora, OpenOffice i Firefox na srpski jezik. Međutim, kao što se ponekad i vrednosti i prioriteti menjaju kada dođe do promena na rukovodećim pozicijama, došlo je do promene i u ovom aspektu i inicijativa je napuštena.

Otvoreni kod je društvena inovacija koja je imala i ima uticaj na svakodnevni život milijarde ljudi, a vrednosti i principi FLOS pokreta se sve više šire.

Postavlja se pitanje u kojoj meri vrednosti i organizacioni modeli koji su zaslužni za uspeh otvorenog softvera mogu naći plodno tlo u drugim oblastima ljudske delatnosti. Neke od oblasti u kojima su se već pojavile naznake ovog uticaja su kreativna industrija i biotehnologija.

Ove inovacije postavljaju mnoge izazove pred društvo, ali i otvaraju mnoge mogućnosti. Kolaboracija može imati potencijal da doprinese rastu društva zasnovanog na znanju, kome, barem deklarativno, težimo.