Kas yra atvirojo kodo programinė įranga ir kodėl tai svarbu?

Turinys:

Kas yra atvirojo kodo programinė įranga ir kodėl tai svarbu?
Kas yra atvirojo kodo programinė įranga ir kodėl tai svarbu?

Video: Kas yra atvirojo kodo programinė įranga ir kodėl tai svarbu?

Video: Kas yra atvirojo kodo programinė įranga ir kodėl tai svarbu?
Video: Do you need antivirus on your phone? - YouTube 2024, Balandis
Anonim
Geeks dažnai apibūdina programas kaip "atviro kodo" arba "nemokamą programinę įrangą". Jei norite žinoti, ką tiksliai reiškia šie terminai ir kodėl jie svarbūs, perskaitykite. (Ne, "nemokama programinė įranga" reiškia ne tik tai, kad galite nemokamai atsisiųsti.)
Geeks dažnai apibūdina programas kaip "atviro kodo" arba "nemokamą programinę įrangą". Jei norite žinoti, ką tiksliai reiškia šie terminai ir kodėl jie svarbūs, perskaitykite. (Ne, "nemokama programinė įranga" reiškia ne tik tai, kad galite nemokamai atsisiųsti.)

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.

Priešingai nei atvirojo kodo programinė įranga, tai uždaros programinės įrangos, kuri turi licenciją, kuri riboja naudotojus ir saugo iš jų pradinį kodą.
Priešingai nei atvirojo kodo programinė įranga, tai uždaros programinės įrangos, kuri turi licenciją, kuri riboja naudotojus ir saugo iš jų pradinį kodą.

"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.

Image
Image

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.

Kai kurios kitos licencijos, pvz., BSD licencija, kūrėjams suteikia mažiau apribojimų. Jei programa yra licencijuota pagal BSD licenciją, kiekvienas gali įtraukti programos šaltinio kodą į kitą programą. Jiems nereikia išleisti jų pakeitimų atgal į 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 kodo programas, o kai kurie žmonės mano, kad tai yra mažiau "laisva", nes jis užima teises iš galutinės programos vartotojų.
Kai kurios kitos licencijos, pvz., BSD licencija, kūrėjams suteikia mažiau apribojimų. Jei programa yra licencijuota pagal BSD licenciją, kiekvienas gali įtraukti programos šaltinio kodą į kitą programą. Jiems nereikia išleisti jų pakeitimų atgal į 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 kodo programas, o kai kurie žmonės mano, kad tai yra mažiau "laisva", nes jis užima teises iš galutinės programos vartotojų.

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. )

Kai "Linux" darbastalyje, pvz., "Ubuntu", įdiegiama nauja darbalaukio sąsaja, kuri kai kurie vartotojai nėra gerbėjai, vartotojai turi daugiau galimybių. Pavyzdžiui, kai buvo paleista GNOME 3, daugelis "Linux" darbastalio naudotojų buvo vienodai išjungti. Kai kurie naudojo kodą senai GNOME 2 versijai ir pakeitė ją, kad būtų paleista naujausiuose "Linux" paskirstytuose - tai yra MATE. Kai kurie naudojo kodą GNOME 3 ir jį pakeitė, kad jis veiktų taip, kaip jiems pageidavo - tai yra cinamonas. Kai kurie vartotojai tiesiog perėjo prie esamų alternatyvių stalinių kompiuterių. Jei "Windows" buvo atviro kodo, "Windows 8" vartotojai turėtų daugiau pasirinkimo ir lankstumo. Tiesiog pažvelkite į "CyanogenMod", populiarią, bendruomenėje veikiantį "Android" paskirstymą, kuris papildo funkcijas ir palaiko naujus įrenginius.
Kai "Linux" darbastalyje, pvz., "Ubuntu", įdiegiama nauja darbalaukio sąsaja, kuri kai kurie vartotojai nėra gerbėjai, vartotojai turi daugiau galimybių. Pavyzdžiui, kai buvo paleista GNOME 3, daugelis "Linux" darbastalio naudotojų buvo vienodai išjungti. Kai kurie naudojo kodą senai GNOME 2 versijai ir pakeitė ją, kad būtų paleista naujausiuose "Linux" paskirstytuose - tai yra MATE. Kai kurie naudojo kodą GNOME 3 ir jį pakeitė, kad jis veiktų taip, kaip jiems pageidavo - tai yra cinamonas. Kai kurie vartotojai tiesiog perėjo prie esamų alternatyvių stalinių kompiuterių. Jei "Windows" buvo atviro kodo, "Windows 8" vartotojai turėtų daugiau pasirinkimo ir lankstumo. Tiesiog pažvelkite į "CyanogenMod", populiarią, bendruomenėje veikiantį "Android" paskirstymą, kuris papildo funkcijas ir palaiko naujus įrenginius.

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.

Rekomenduojamas: