Kas yra atvirojo kodo programinė įranga?

Atvirasis šaltinis reiškia bent du dalykus. Pirma, tai yra Open Source Initiative® prekės ženklas ir licencija, kurią Open Source Initiative® suteikia atvirojo kodo programinei įrangai (OSS), kuri atitinka tam tikrus kriterijus, vadinamą Atvirojo kodo apibrėžimu. Tačiau yra ir kitų idėjų apie atvirojo kodo programinę įrangą, kuri neatitinka tų pačių standartų ir siūlo atvirojo kodo programinę įrangą pagal skirtingų tipų licencijas. Visą atvirojo kodo programinę įrangą turi bendras dalykas – šaltinio kodo prieinamumas vartotojui, o tai reiškia, kad vartotojas gali tiksliai matyti, kaip programa ar programa buvo užkoduota, ir dažnai jam leidžiama ją modifikuoti. Atsižvelgiant į turimos licencijos tipą, vartotojai gali keisti ir platinti atvirojo kodo programinę įrangą.

Nepriklausomai nuo licencijos tipo, atvirojo kodo programinė įranga yra patentuotos komercinės programinės įrangos atitikmuo. Patentuota komercinė programinė įranga priklauso nuo vienos įmonės, kuriančios ir turinčios šaltinio kodą. Produkto licencija leidžia vartotojui naudoti komercinės įmonės pagamintą produktą. Kai kuriais atvejais naudotojams leidžiama ir (arba) skatinami kurti papildinius ar priedus, kad būtų patobulinta patentuota komercinė programinė įranga, tačiau yra apribojimų, ką jiems leidžiama daryti. Taip siekiama apsaugoti programinės įrangos kūrėjo investicijas.

Yra keletas atvirojo kodo programinės įrangos judėjimo tikslų. Viena mintis yra ta, kad programinės įrangos kūrimo atskyrimas nuo pelno siekimo paskatins kūrėjus daryti tai, kas geriausia programinei įrangai ir vartotojams, todėl bus sukurti produktai, kurių naudingumas yra didesnis ir klaidų bus mažiau. Taip pat manoma, kad tarpusavio peržiūra be komercinės išleidimo datos apribojimų prisidės prie programinės įrangos, kuri ir toliau nuolat atnaujinama, o ne kruopščiai suplanuotų pagrindinių leidimų, kurie nepasitaiko labai dažnai, o naudotojai turės klaidingą programinę įrangą. Kitas aspektas yra tai, kad atidarę kodą daugybė kūrėjų, kurių kiekvienas gali turėti minčių apie programinės įrangos tobulinimą, įneš savo specifinių įgūdžių ir įžvalgų bei laiko, kad prisidės prie proceso, pagreitintų kūrimą. ir pasukti jį įvairiomis kryptimis, plečiant programinės įrangos taikymo sritį.