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ē, "bezmaksas programmatūra" nenozīmē tikai to, ka to varat lejupielādēt bez maksas.)
Neatkarīgi no tā, vai programma ir atvērta avota 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.
Attēlu kredīts: Quinn Dombrowski par Flickr
Ja programma ir atvērta avota, tā avota kods ir brīvi pieejams saviem lietotājiem. Tās lietotājiem - un jebkuram citam - ir iespēja izmantot šo pirmkodu, to modificēt 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ā pirmkoda 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ā pirmkoda programmatūras pretstats ir slēgta tipa programmatūra, kurai ir licence, kas ierobežo lietotājus un saglabā no tiem pirmkodu.
Daži populāri atklātā pirmkoda programmatūras piemēri ir Firefox, Chrome, OpenOffice, Linux un Android, bet Microsoft Windows, iespējams, ir vispopulārākais slēgto avotu programmatūras komplekts.
Atvērtā pirmkoda lietojumprogrammas parasti ir brīvi pieejamas - lai gan nekas neliedz izstrādātājam iekasēt par programmatūras eksemplāriem, ja tie ļauj pēc tam izplatīt programmu un tā pirmkodu.
Tomēr tas nav tas, uz ko attiecas "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āles kontrolē 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ā pirmkoda 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.
Atvērtā koda projektos izmanto daudzas dažādas licences, 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žas citas licences, piemēram, BSD licence, izstrādātājiem rada 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ības no atvasinātās programmas gala lietotājiem.
Tas nav viss sauss, nenozīmīgs darbs, 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.
Arī atvērtā pirmkoda programma ir 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, kas 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.
Atvērtā koda 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 ir uzbūvētas 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.