Nesvarbu, ar programa yra atviro kodo, ar ne, tai ne tik svarbu kūrėjams, bet ir galutiniams vartotojams. Atvirojo kodo programinės įrangos licencijos suteikia vartotojams laisves, kurių jie neturėtų.
Atvirojo kodo apibrėžimas
Jei programa yra atviro kodo, jos šaltinis yra laisvai prieinama vartotojams. Jos vartotojai - ir visi kiti - gali sugerti šį kodą, keisti jį ir platinti savo versijas. Vartotojai taip pat turi galimybę platinti tiek originalių programų kopijas, kiek jų nori. Kiekvienas gali naudoti programą bet kokiam tikslui; licencijos mokesčiai ar kiti apribojimai programinei įrangai nėra. OSI turi išsamesnį "atvirojo šaltinio" apibrėžimą savo svetainėje.
Pavyzdžiui, "Ubuntu Linux" yra atviro kodo operacinė sistema. Galite atsisiųsti "Ubuntu", sukurti tiek daug kopijų, kiek norite, ir pateikti juos savo draugams. Ubuntu galite įdiegti neribotą skaičių jūsų kompiuterių. Jūs galite sukurti remiksus įdiegimo diske Ubuntu ir platinti juos. Jei jums buvo ypač motyvuoti, galite atsisiųsti programinės įrangos šaltinio kodą Ubuntu ir jį keisti, sukurdami savo pritaikytą šios programos versiją - arba pačią "Ubuntu". Tai leidžia atlikti atvirojo kodo licencijas, o uždarojo tipo licencijos suteikia jums apribojimus.
"Firefox", "Chrome", "OpenOffice", "Linux" ir "Android" yra keletas populiarių atvirojo kodo programinės įrangos pavyzdžių, o "Microsoft Windows" yra turbūt labiausiai populiari uždaros programinės įrangos dalis.
Atvirojo kodo versijos ir nemokama programinė įranga
Atvirojo kodo programos paprastai yra laisvai prieinamos - nors niekas neužkerta kelio kūrėjui apmokestinti programinės įrangos egzempliorius, jei jie leidžia perskirstyti programą ir jo šaltinio kodą vėliau.
Tačiau tai nėra tai, ką reiškia "nemokama programinė įranga". "Nemokama" nemokama programine įranga reiškia "laisvas kaip laisvė", o ne "nemokamai kaip alus". "Free Software" stovykloje, kuriai vadovauja Richardas Stallmanas ir "Free Software Foundation", dėmesys telkiamas į programinės įrangos naudojimo etiką ir moralę. valdomas ir modifikuotas vartotojo. Kitaip tariant, laisvosios programinės įrangos namuose dėmesys skiriamas vartotojų laisvėms.
Richard Stallman. Fripog paveikslėlis Flickr.
Atviro kodo programinės įrangos judėjimas buvo sukurtas tam, kad sutelktų dėmesį į pragmatiškesnes šio tipo programinės įrangos pasirinkimo priežastis. Atvirojo kodo gynėjai norėjo sutelkti dėmesį į praktinę naudą, kai naudojama atvirojo kodo programinė įranga, kuri daugiau kreiptųsi į įmones, o ne į etiką ir moralę.
Galiausiai, tiek atvirojo kodo, tiek nemokamos programinės įrangos palaikytojai kuria tos pačios rūšies programinę įrangą, tačiau jie nesutaria dėl pranešimų.
Licencijų tipai
Yra daug skirtingų licencijų, kurias naudoja atvirojo kodo projektai, priklausomai nuo to, ko kūrėjai pageidauja savo programos.
GPL arba GNU General Public License yra plačiai naudojami daugelyje atvirojo kodo projektų, tokių kaip "Linux". Be visų anksčiau pateiktų "atvirojo kodo" apibrėžimų, GPL sąlygos nurodo, kad jei kas nors keičia atviro kodo programą ir išplatina išvestinį darbą, jie taip pat turi platinti išvestinių kūrinių šaltinio kodą. Kitaip tariant, niekas negali priimti atvirojo kodo ir kurti uždarojo kodo programą - jie turi grąžinti savo pakeitimus atgal į bendruomenę. Dėl šios priežasties "GPL" nurodė, kad "virusinė" yra "virusinė", nes ji verčia programas, į kurias įtrauktas GPL kodas, norint išleisti savo šaltinio kodą. Žinoma, programos kūrėjai gali pasirinkti nenaudoti GPL kodo, jei tai yra problema.
Nauda vartotojams
Tai ne visi sausas, nesvarbus dalykas, kuris yra svarbus tik kūrėjams. Akivaizdžiausias atvirojo kodo programinės įrangos privalumas yra tas, kad jis gali būti nemokamas. Ankstesnis Ubuntu Linux pavyzdys leidžia tai padaryti aišku - skirtingai nei Windows, galite įdiegti ar platinti tiek daug Ubuntu kopijų, kiek norite, be jokių apribojimų. Tai gali būti ypač naudingi serveriai - jei sukursite serverį, galėsite įdiegti Linux. jei nustatote virtualų serverių grupę, galite lengvai kopijuoti vieną Ubuntu serverį. Jums nereikia nerimauti dėl licencijavimo ir kiek Linux atvejų jums leidžiama paleisti.
Atviro kodo programa taip pat yra lankstesnė.Pavyzdžiui, "Windows 8" nauja sąsaja nuliūdo daugybę senų "Windows" naudotojų. Kadangi "Windows" yra uždaras šaltinis, "Windows" vartotojas negali "Windows 7" sąsajos, keisti ir tinkamai veikti "Windows 8". (Kai kurie "Windows" vartotojai bando, tačiau tai kruopštus procesas, skirtas atvirkštinio inžinerijos ir dvejetainių failų modifikavimui. )
Atvirojo kodo programinė įranga taip pat leidžia kūrėjams "stovėti ant milžiniškų pečių" ir kurti savo programinę įrangą. "Android" ir "Chrome OS", kurie yra operacinės sistemos, sukurtos naudojant "Linux" ir kitą atviro kodo programinę įrangą. "Apple OS X" - ir "iOS" - branduolys taip pat buvo sukurtas pagal atvirojo kodo kodą. Valve nerimauja dėl "Steam" žaidimų platformos perkėlimo į "Linux", nes tai leistų jiems kurti savo aparatinę įrangą ir kontroliuoti savo likimą tokiu būdu, kurio neįmanoma "Microsoft" Windows.
Tai nėra išsamus aprašymas - visos knygos buvo parašytos šia tema - tačiau dabar turėtumėte geriau suprasti, kas iš tiesų yra atvirojo kodo programinė įranga ir kodėl tai jums naudinga.