Pagrindinis » kaip » Kas yra atviro kodo programinė įranga ir kodėl tai svarbi?

    Kas yra atviro kodo programinė įranga ir kodėl tai svarbi?

    Geeks dažnai apibūdina programas kaip „atvirą kodą“ arba „nemokamą programinę įrangą“. Jei įdomu, ką šie terminai reiškia ir kodėl jie yra svarbūs, skaitykite toliau. (Ne, „nemokama programinė įranga“ reiškia ne tik tai, kad galite jį nemokamai atsisiųsti.)

    Nesvarbu, ar programa yra atviro kodo, ar ne, tai svarbu ne tik kūrėjams, bet ir vartotojams. Atvirojo kodo programinės įrangos licencijos suteikia vartotojams laisvės, kurių jie kitaip neturėtų.

    Vaizdo kreditas: „Quinn Dombrowski“ „Flickr“

    Atviro kodo apibrėžimas

    Jei programa yra atviro kodo, jos šaltinis yra laisvai prieinamas jos vartotojams. Jos naudotojai - ir visi kiti - gali priimti šį šaltinį, jį modifikuoti ir platinti savo programos versijas. Vartotojai taip pat gali platinti tiek originalios programos kopijų, kiek jie nori. Kiekvienas gali naudoti programą bet kokiam tikslui; programinės įrangos licencijavimo mokesčiai ar kiti apribojimai nėra. OSI savo interneto svetainėje turi išsamesnę „atviro kodo“ apibrėžtį.

    Pavyzdžiui, „Ubuntu Linux“ yra atviro kodo operacinė sistema. Galite atsisiųsti „Ubuntu“, kurti tiek kopijų, kiek norite, ir suteikti jiems savo draugams. Galite įdiegti „Ubuntu“ neribotam skaičiui kompiuterių. Galite sukurti Ubuntu diegimo disko remiksus ir juos platinti. Jei buvote ypač motyvuotas, galite atsisiųsti programos šaltinio kodą Ubuntu ir modifikuoti, kurdami savo pritaikytą tos programos versiją - arba pačią Ubuntu. Atvirojo kodo licencijos leidžia tai padaryti, o uždarojo kodo licencijos jums apriboja.

    Priešingai nei atviro kodo programinė įranga, yra uždarojo šaltinio programinė įranga, turinti licenciją, ribojančią vartotojus ir iš jų saugo šaltinio kodą.

    „Firefox“, „Chrome“, „OpenOffice“, „Linux“ ir „Android“ yra keletas populiarių atviro kodo programinės įrangos pavyzdžių, o „Microsoft Windows“ tikriausiai yra populiariausia uždarojo šaltinio programinės įrangos dalis.

    Atviro kodo ir laisvosios programinės įrangos

    Atviro kodo programos paprastai yra laisvai prieinamos - nors niekas netrukdo kūrėjui mokėti už programinės įrangos kopijas, jei vėliau jos leidžia perskirstyti programą ir jos šaltinį..

    Tačiau tai nėra tai, ką reiškia „laisva programinė įranga“. „Laisvas“ laisvojoje programoje reiškia „laisvą kaip laisvę“, o ne „nemokamai“ kaip ir alaus. Laisvos programinės įrangos stovykla, vadovaujama Richard Stallman ir Free Software Foundation, orientuota į programinės įrangos, kuri gali būti naudojama, etiką ir moralę. vartotojo kontroliuojama ir modifikuota. Kitaip tariant, laisvos programinės įrangos stovykloje daugiausia dėmesio skiriama vartotojų laisvėms.

    Richard Stallman. „Fripog“ vaizdas „Flickr“.

    Sukurtas atviro kodo programinės įrangos judėjimas, siekiant sutelkti dėmesį į pragmatiškesnes tokio tipo programinės įrangos pasirinkimo priežastis. Atvirojo kodo advokatai norėjo sutelkti dėmesį į praktinę naudą naudojant atviro kodo programinę įrangą, kuri labiau kreiptųsi į įmones, o ne į etiką ir moralę.

    Galiausiai tiek atviro kodo, tiek nemokamos programinės įrangos advokatai kuria tą patį programinės įrangos tipą, tačiau jie nesutaria dėl pranešimų..

    Licencijų tipai

    Atviro kodo projektai naudoja daug skirtingų licencijų, priklausomai nuo to, kokie kūrėjai pageidauja savo programos.

    GPL, arba GNU General Public License, plačiai naudoja daugelis atviro kodo projektų, pvz., „Linux“. Be visų pirmiau pateiktų atviro kodo apibrėžimų, GPL terminai nurodo, kad jei kas nors modifikuoja atviro kodo programą ir platina išvestinį darbą, jie taip pat turi platinti šaltinio kodą jų išvestiniams darbams. Kitaip tariant, niekas negali naudoti atviro kodo ir sukurti iš jo uždarojo šaltinio programą - jie turi išleisti savo pakeitimus bendruomenei. Dėl šios priežasties „Microsoft“ nurodė, kad „GPL“ yra „virusinė“, nes ji verčia programas, kuriose yra GPL kodas, paleisti savo šaltinį. Žinoma, programos kūrėjai gali nenaudoti GPL kodo, jei tai yra problema.

    Kai kurios kitos licencijos, pvz., BSD licencija, kūrėjams kelia mažiau apribojimų. Jei programa yra licencijuota pagal BSD licenciją, kiekvienas gali įtraukti programos šaltinį į kitą programą. Jie neturi grąžinti savo pakeitimų į bendruomenę. Kai kurie žmonės mato, kad tai yra dar „nemokama“ nei GPL licencija, nes ji suteikia kūrėjams laisvę įtraukti kodą į savo uždarojo šaltinio programas, o kai kurie mano, kad tai yra mažiau „nemokama“, nes ji atima teises gautų programų galutiniams vartotojams.

    Nauda vartotojams

    Tai ne visi sausi, nesvarbūs dalykai, kurie svarbūs tik kūrėjams. Akivaizdžiausias atvirojo kodo programinės įrangos privalumas yra tas, kad jis gali būti nemokamai. Anksčiau minėtas „Ubuntu Linux“ pavyzdys aiškiai parodo, kad, skirtingai nuo „Windows“, galite įdiegti arba platinti tiek Ubuntu kopijų, kiek norite, be jokių apribojimų. Tai gali būti ypač naudingi serveriai - jei nustatote serverį, galite tiesiog jį įdiegti. jei nustatote virtualizuotą serverių grupę, galite lengvai kopijuoti vieną Ubuntu serverį. Jūs neturite jaudintis dėl licencijavimo ir kiek Linux leidžiama paleisti.

    Atviro kodo programa taip pat yra lankstesnė. Pavyzdžiui, „Windows 8“ nauja sąsaja nuvylė daugelį ilgą laiką naudojamų „Windows“ naudotojų. Kadangi „Windows“ yra uždarytas šaltinis, nė vienas „Windows“ naudotojas negali imtis „Windows 7“ sąsajos, ją modifikuoti ir tinkamai veikti „Windows 8“ sistemoje. (Kai kurie „Windows“ naudotojai bando, tačiau tai yra kruopštus grįžtamojo projektavimo ir dvejetainių failų keitimo procesas. )

    Kai „Linux“ darbalaukyje, pvz., „Ubuntu“, pristatoma nauja darbalaukio sąsaja, kurią kai kurie vartotojai nėra, vartotojai turi daugiau galimybių. Pavyzdžiui, kai buvo išleistas GNOME 3, daugelis „Linux“ darbalaukio vartotojų buvo vienodai išjungti. Kai kurie paėmė kodą į seną versiją, GNOME 2, ir pakeitė jį, kad jis veiktų naujausiuose Linux platinimuose - tai MATE. Kai kurie paėmė kodą į GNOME 3 ir pakeitė jį, kad jis veiktų taip, kaip pageidauja - tai yra cinamonas. Kai kurie vartotojai tiesiog perėjo į esamus alternatyvius stalinius kompiuterius. Jei „Windows“ buvo atviro kodo, „Windows 8“ naudotojai turėtų daugiau pasirinkimo galimybių ir lankstumo. Tiesiog pažiūrėkite į CyanogenMod, populiarią, bendruomenės valdomą „Android“ platinimą, kuris prideda naujų įrenginių funkcijų ir palaikymo.

    Atvirojo kodo programinė įranga taip pat leidžia kūrėjams „stovėti ant gigantų pečių“ ir kurti savo programinę įrangą. Liudytojas „Android“ ir „Chrome“ OS, kurios yra „Linux“ ir kitos atviro kodo programinės įrangos operacinės sistemos. Apple OS X - ir iOS - pagrindinė dalis taip pat buvo sukurta pagal atviro kodo kodą. „Valve“ ryžtingai stengiasi perkelti savo „Steam“ žaidimų platformą į „Linux“, nes tai leistų jiems sukurti savo aparatinę įrangą ir valdyti savo likimą taip, kad tai neįmanoma „Microsoft“ Windows sistemoje.


    Tai nėra išsamus aprašymas - šioje knygoje buvo parašytos visos knygos, tačiau dabar turėtumėte geriau suprasti, kas iš tikrųjų yra atviro kodo programinė įranga ir kodėl tai jums naudinga.