Što je softver otvorenog koda?

Open Source se odnosi na najmanje dvije stvari. Prvo, to je zaštitni znak Open Source Initiative® i licenca koju Open Source Initiative® dodjeljuje softveru otvorenog koda (OSS) koji ispunjava određene kriterije, nazvane Open Source Definition. Međutim, postoje i druge ideje o softveru otvorenog koda koje se ne pridržavaju istih standarda i nude softver otvorenog koda pod različitim vrstama licenci. Jedna stvar koja je zajednička svim softverima otvorenog koda je dostupnost izvornog koda korisniku, što znači da korisnik može vidjeti kako je točno aplikacija ili program kodiran i često mu je dopušteno mijenjati ga. Ovisno o vrsti licence koju posjeduje, korisnici će možda moći modificirati i redistribuirati softver otvorenog koda.

Bez obzira s kojom vrstom licence dolazi, softver otvorenog koda pandan je vlasničkom komercijalnom softveru. Vlasnički komercijalni softver temelji se na jednoj tvrtki koja razvija i posjeduje izvorni kod. Licenca za proizvod omogućuje korisniku korištenje proizvoda kako ga je izradilo trgovačko poduzeće. U nekim slučajevima, korisnicima je dopušteno i/ili ohrabreno stvaranje dodataka ili dodataka za poboljšanje vlasničkog komercijalnog softvera, ali postoje ograničenja u pogledu onoga što im je dopušteno učiniti. Time se štiti ulaganje programera softvera.

Nekoliko je ciljeva iza pokreta softvera otvorenog koda. Jedna je misao da će odvajanje razvoja softvera od profitnog motiva potaknuti programere da rade ono što je najbolje za softver i korisnike, što će dovesti do proizvoda koji imaju povećanu korisnost i manje bugova. Također se vjeruje da će recenzija bez ograničenja datuma komercijalnog izdanja pridonijeti softveru koji se nastavlja stalno nadograđivati, umjesto da ima pažljivo tempirana glavna izdanja koja se ne događaju baš često, ostavljajući korisnike sa softverom koji je s greškama između. Drugo razmatranje je da će otvaranjem koda veliki broj programera, od kojih svaki može imati razmišljanja o poboljšanju softvera, donijeti svoje posebne vještine i uvide, kao i svoje vrijeme, da doprinesu procesu, ubrzavajući razvoj i vodeći ga u mnogim smjerovima, proširujući opseg softvera.