7Jul

Kas ir atvērtā koda programmatūra un kāpēc tā ir svarīga?

Geeks bieži apraksta programmas kā "atvērtā koda" vai "bezmaksas programmatūras". Ja jūs domājat par to, ko tieši šie termini nozīmē un kādēļ tie ir svarīgi, lasiet.(Nē, "brīva programmatūra" nenozīmē tikai to, ka to varat lejupielādēt bez maksas.)

Neatkarīgi no tā, vai programma ir atvērtā koda vai ne, tas ir svarīgi ne tikai izstrādātājiem, bet arī lietotājiem. Atvērtā pirmkoda programmatūras licences dod lietotājiem brīvības, kuras viņiem citādi nebūtu.

Image Credit: Quinn Dombrowski par Flickr

Atklātā koda definīcija

Ja programma ir atvērtā koda avota kods, tā avota kods ir brīvi pieejams saviem lietotājiem. Tās lietotājiem - un jebkuram citam - ir iespēja lietot šo pirmkodu, modificēt to un izplatīt savas programmas versijas. Lietotājiem ir arī iespēja izplatīt tik daudz sākotnējās programmas eksemplāru, cik viņi vēlas. Ikviens var izmantot programmu jebkuram mērķim;programmatūras licencēšanas maksa vai citi ierobežojumi nav. OSI ir detalizētāka "atvērtā koda" definīcija savā tīmekļa vietnē.

Piemēram, Ubuntu Linux ir atvērtā koda operētājsistēma. Jūs varat lejupielādēt Ubuntu, izveidot tik daudz kopijas, cik vēlaties, un dot viņiem saviem draugiem. Ubuntu varat instalēt neierobežotā skaitā datoru. Jūs varat izveidot remiksus Ubuntu instalācijas diskā un izplatīt tos. Ja jums bija īpaši motivēti, jūs varētu lejupielādēt Ubuntu programmas avota kodu un modificēt to, izveidojot savu pielāgoto šīs programmas versiju - vai pašu Ubuntu. Visās atvērtā koda licencēs tas ļauj to izdarīt, savukārt slēgtas avota licences piešķir ierobežojumus jums.

Atvērtā koda programmatūras pretstats ir slēgta tipa programmatūra, kurai ir licence, kas ierobežo lietotājus un saglabā no tiem pirmkodu.

Firefox, Chrome, OpenOffice, Linux un Android ir daži populāri atklātā pirmkoda programmatūras piemēri, bet Microsoft Windows, iespējams, ir vispopulārākais slēgto avotu programmatūras komplekts.

Open Source vs Free Software

Atvērtā koda lietojumprogrammas parasti ir brīvi pieejamas, lai gan nekas neaizkavē izstrādātāju iekasēt par programmatūras eksemplāriem, ja tie ļauj pārdalīt pieteikumu un tā pirmkodu pēc tam.

Tomēr tas nav tas, uz ko atsaucas "bezmaksas programmatūra".Brīvā bezmaksas programmatūra nozīmē "brīvi kā brīvībā", nevis "brīvi kā alā". Brīvās programmatūras nometne, kuru vada Richard Stallman un Brīvās programmatūras fonds, koncentrējas uz programmatūras, kas var tikt izmantota, ētikas un morāleskontrolē un modificē lietotājs. Citiem vārdiem sakot, brīvās programmatūras nometne koncentrējas uz lietotāju brīvībām.

Richard Stallman. Fripog attēlu Flickr.

Atvērtā koda programmatūras kustība tika izveidota, lai koncentrētos uz pragmatiskākiem iemesliem šāda veida programmatūras izvēlei. Atvērto avotu atbalstītāji vēlējās koncentrēties uz praktiskiem ieguvumiem, izmantojot atklātā pirmkoda programmatūru, kas vairāk pievērstu uzmanību uzņēmumiem, nevis ētikai un morālei.

Galu galā gan atvērtā koda, gan bezmaksas programmatūras atbalstītāji izstrādā tāda paša veida programmatūru, taču viņi nepiekrīt ziņojumam.

Licenču veidi

Ir daudz dažādu licenču, ko izmanto atklātā pirmkoda projekti, atkarībā no tā, ko izstrādātāji dod priekšroku savai programmai.

GPL vai GNU Vispārējās publikācijas licenci plaši izmanto daudzi atvērtā koda projekti, piemēram, Linux. Papildus visām iepriekš minētajām atvērtā koda definīcijām GPL noteikumos ir norādīts, ka, ja kāds modificē atklātā pirmkoda programmu un izplata atvasināto darbu, viņiem ir arī jāizplata atvasinājumu darba avota kods. Citiem vārdiem sakot, neviens nevar izmantot atvērtā pirmkoda kodu un no tā izveidot slēgtas programmas - viņiem ir jāatbrīvo savas izmaiņas atpakaļ uz kopienu.Šī iemesla dēļ Microsoft atsaucās uz GPL kā "vīrusu", jo tā piespiež programmas, kurās ir iekļauts GPL kods, lai atbrīvotu savu pirmkodu. Protams, programmas izstrādātāji var izvēlēties neizmantot GPL kodu, ja tā ir problēma.

Dažās citās licencēs, piemēram, BSD licencē, izstrādātājiem ir mazāk ierobežojumu. Ja programma ir licencēta saskaņā ar BSD licenci, ikviens var iekļaut programmas pirmkodu citā programmā.Viņiem nav jāatbrīvo savas izmaiņas atpakaļ uz kopienu. Daži cilvēki uzskata, ka tas ir pat vairāk "brīvs" nekā GPL licence, jo tā dod izstrādātājiem iespēju iekļaut kodu savā slēgtajā programmā, bet daži cilvēki to uzskata par mazāk "brīvu", jo tas aizņem tiesībasno atvasinātās programmas gala lietotājiem.

priekšrocības lietotājiem

Tas nav viss sauss, nesvarīgs sīkumi, kas attiecas tikai uz izstrādātājiem. Visredzamākais atklātā pirmkoda programmatūras ieguvums ir tas, ka to var izdarīt bez maksas. Iepriekš minētā Ubuntu Linux piemērs padara to skaidru - atšķirībā no Windows, jūs varat instalēt vai izplatīt tik daudz Ubuntu eksemplāru, cik vēlaties, bez ierobežojumiem. Tas var būt īpaši noderīgi serveri - ja izveidojat serveri, to var vienkārši instalēt Linux.ja jūs izveidojat virtualizētu serveru grupu, varat viegli dublēt vienu Ubuntu serveri. Jums nav jāuztraucas par licencēšanu un par to, cik daudz Linux operētājsistēmu jūs drīkstat palaist.

Atvērtā koda programma ir arī elastīgāka. Piemēram, Windows 8 jaunais interfeiss vājināja daudzus ilgstošos darbvirsmas Windows lietotājus. Tā kā Windows ir slēgts avots, neviens Windows lietotājs nevar veikt Windows 7 saskarni, to modificēt un pareizi darboties Windows 8 versijā( daži Windows lietotāji cenšas to izdarīt, taču tas ir rūpīgs process, kas saistīts ar reverso inženieriju un bināro failu modificēšanu.)

Kad Linux desktop, piemēram, Ubuntu, ievieš jaunu darbvirsmas saskarni, kuru daži lietotāji nav fani, lietotājiem ir vairāk iespēju. Piemēram, kad atbrīvoja GNOME 3, daudzi Linux desktop lietotāji bija vienādi izslēgti. Daži paņēma kodu uz veco versiju GNOME 2 un modificēja, lai tā darbotos jaunākajās Linux distribūcijās - tas ir MATE.Daži paņēma kodu uz GNOME 3 un modificēja, lai tas darbotos tā, kā viņi to izvēlējās - tas ir kanēlis. Daži lietotāji vienkārši pārslēdzās uz esošajiem alternatīvajiem galddatoriem. Ja operētājsistēmai Windows ir atvērtā koda sistēma, Windows 8 lietotājiem būtu lielāka izvēle un elastība. Apskatiet CyanogenMod, populāru, kopienas Android balstītu izplatīšanu, kas papildina funkcijas un atbalstu jaunajām ierīcēm.

atklātā pirmkoda programmatūra ļauj izstrādātājiem "stāvēt uz milžu pleciem" un izveidot savu programmatūru. Liecinieki Android un Chrome OS, kas ir operētājsistēmas, kuras tiek veidotas uz Linux un citas atvērtā koda programmatūras. Apple OS X kodols - un arī IOS - tika būvēts pēc atvērtā koda. Valve neaptverami strādā, lai pārveidotu savu Steam spēļu platformu Linux, jo tas ļautu viņiem izveidot savu aparatūru un kontrolēt savu likteni tādā veidā, kas nav iespējams Microsoft Windows.

Šis nav izsmeļošs apraksts - šajā jautājumā ir uzrakstītas visas grāmatas, taču tagad jums vajadzētu labāk izprast, kāda ir atklātā pirmkoda programmatūra un kāpēc tā jums ir noderīga.