Kas ir atklātā pirmkoda programmatūra un kāpēc tā ir svarīga?
Geeks bieži apraksta programmas kā “atvērtā koda” vai “bezmaksas programmatūru”. Ja jūs domājat, ko tieši šie termini nozīmē un kāpēc tie ir svarīgi, lasiet tālāk. (Nē, „bezmaksas programmatūra” nenozīmē, ka varat to lejupielādēt bez maksas.)
Neatkarīgi no tā, vai programma ir atvērtā koda vai ne, tas ir svarīgi tikai izstrādātājiem, bet arī lietotājiem. Atvērtā koda programmatūras licences sniedz lietotājiem brīvības, kas tām citādi nebūtu.
Attēla kredīts: Quinn Dombrowski par Flickr
Atvērtā koda definīcija
Ja programma ir atvērtā koda, tā avota kods ir brīvi pieejams tās lietotājiem. Tās lietotājiem - un jebkuram citam - ir iespēja izmantot šo pirmkodu, modificēt to un izplatīt savas programmas versijas. Lietotājiem ir arī iespēja izplatīt tik daudz oriģinālā programmas kopiju, cik viņi vēlas. Ikviens var izmantot programmu jebkuram mērķim; nav programmatūras licenču maksas vai citu ierobežojumu. OSI tīmekļa vietnē ir detalizētāka “atvērtā koda” definīcija.
Piemēram, Ubuntu Linux ir atvērtā koda operētājsistēma. Jūs varat lejupielādēt Ubuntu, izveidot tik daudz kopiju, cik vēlaties, un dot tos saviem draugiem. Jūs varat instalēt Ubuntu uz neierobežotu skaitu datoru. Jūs varat izveidot Ubuntu instalācijas diska remiksus un izplatīt tos. Ja jūs būtu īpaši motivēts, jūs varētu lejupielādēt programmas avota kodu Ubuntu un modificēt, veidojot savu pielāgoto šīs programmas versiju - vai pats Ubuntu. Atvērtā koda licences ļauj jums to izdarīt, bet slēgtā koda licences jums ierobežo.
Atvērtā pirmkoda programmatūras pretēja ir slēgtas avota programmatūra, kurai ir licence, kas ierobežo lietotājus un saglabā avota kodu no tiem.
Firefox, Chrome, OpenOffice, Linux un Android ir daži populāri atvērtā pirmkoda programmatūras piemēri, bet Microsoft Windows, iespējams, ir populārākais slēgtā pirmkoda programmatūras gabals.
Open Source vs Free Software
Atvērtā koda lietojumprogrammas parasti ir brīvi pieejamas, lai gan nekas netraucē izstrādātājam iekasēt maksu par programmatūras kopijām, ja tās pēc tam ļauj atkārtoti izplatīt lietojumprogrammu un tās pirmkodu..
Tomēr tas nav tas, uz ko attiecas “brīvā programmatūra”. Brīvajā programmatūrā "bezmaksas" ir "brīva kā brīvībā", nevis "bezmaksas kā alus." Brīvās programmatūras nometne, kuru vada Ričards Stallmans un Brīvās programmatūras fonds, koncentrējas uz programmatūras, kas var būt, ētiku un morāli. lietotājs kontrolē un pārveido. Citiem vārdiem sakot, brīvās programmatūras nometne koncentrējas uz lietotāju brīvībām.
Richard Stallman. Fripoga attēls ar Flickr.
Atklātā pirmkoda programmatūras kustība tika izveidota, lai koncentrētos uz pragmatiskākiem iemesliem šāda veida programmatūras izvēlei. Atvērtā koda advokāti vēlējās pievērsties praktiskajiem ieguvumiem, lietojot atvērtā pirmkoda programmatūru, kas vairāk piesaistītu uzņēmumus, nevis ētiku un morāli.
Galu galā gan atklātā pirmkoda, gan bezmaksas programmatūras advokāti izstrādā tāda paša veida programmatūru, bet viņi nepiekrīt ziņojumam.
Licenču veidi
Atvērtā koda projekti izmanto daudzas dažādas licences atkarībā no tā, ko izstrādātāji izvēlas savai programmai.
GPL vai GNU General Public License plaši izmanto daudzi atklātā pirmkoda projekti, piemēram, Linux. Papildus visām iepriekš minētajām atklātā pirmkoda definīcijām GPL noteikumi norāda, ka, ja kāds modificē atvērtā koda programmu un izplata atvasinātu darbu, tiem ir arī jāizplata avota kods savam atvasinātajam darbam. Citiem vārdiem sakot, neviens nevar atvērt atvērtā pirmkoda kodu un izveidot no tās slēgtā koda programmu - viņiem ir jāatbrīvo savas izmaiņas sabiedrībai. Microsoft atsaucās uz GPL kā “vīrusu” šī iemesla dēļ, jo tā liek programmām, kurās ir GPL kods, atbrīvot savu avota kodu. 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, mazāk ierobežo izstrādātājus. Ja programma ir licencēta saskaņā ar BSD licenci, ikviens var iekļaut programmas pirmkodu citā programmā. Viņiem nav jāatdod savas izmaiņas atpakaļ sabiedrībai. Daži cilvēki uzskata, ka tas ir vēl „brīvāks” nekā GPL licence, jo tas sniedz izstrādātājiem brīvību iekļaut kodu savās slēgtās avotu programmās, bet daži uzskata, ka tas ir mazāk „bezmaksas”, jo tas aizņem tiesības no atvasinātās programmas galalietotājiem.
Ieguvumi lietotājiem
Tas nav viss sausais, nenozīmīgs materiāls, kas attiecas tikai uz izstrādātājiem. Acīmredzamākā atvērtā pirmkoda programmatūras priekšrocība ir tāda, ka to var izmantot bez maksas. Iepriekš minētais Ubuntu Linux piemērs padara šo skaidru - atšķirībā no Windows, jūs varat instalēt vai izplatīt tik daudz Ubuntu kopiju, cik vēlaties, bez ierobežojumiem. Tas var būt īpaši noderīgi serveri - ja jūs izveidojat serveri, varat to vienkārši instalēt. ja izveidojat virtualizētu serveru kopu, jūs varat viegli kopēt vienu Ubuntu serveri. Jums nav jāuztraucas par licencēšanu un to, cik daudz Linux ir atļauts darboties.
Atvērtā koda programma ir arī elastīgāka. Piemēram, Windows 8 jaunā saskarne ir vīlusies daudzos Windows darbvirsmas lietotājiem. Tā kā Windows ir slēgts avots, neviens Windows lietotājs nevar veikt Windows 7 saskarni, modificēt to un padarīt to pareizi darbināmu operētājsistēmā Windows 8. (Daži Windows lietotāji mēģina, bet tas ir grūts process, lai pārveidotu un pārveidotu bināros failus. )
Ja tāds Linux darbvirsmas kā Ubuntu ievieš jaunu darbvirsmas interfeisu, ko daži lietotāji nav, lietotāji var izmantot vairāk iespēju. Piemēram, kad GNOME 3 tika izlaists, daudzi Linux darbvirsmas lietotāji tika vienādi izslēgti. Daži šo kodu izmantoja vecajā versijā GNOME 2, un modificēja to, lai tā darbotos ar jaunākajiem Linux izplatījumiem - tas ir MATE. Daži šo kodu saņēma GNOME 3 un modificēja, lai tas darbotos tādā veidā, kā viņi izvēlējās - tas ir kanēlis. Daži lietotāji tikko pārgāja uz esošajiem alternatīvajiem galddatoriem. Ja Windows būtu atvērtā koda, Windows 8 lietotājiem būtu lielāka izvēle un elastīgums. Paskatieties CyanogenMod, populāru, kopienas virzītu Android izplatīšanu, kas papildina iespējas un atbalsta jaunas ierīces.
Atvērtā koda programmatūra ļauj izstrādātājiem „stāvēt uz milzu pleciem” un izveidot savu programmatūru. Liecinieks Android un Chrome OS, kas ir operētājsistēmas, kas veidotas uz Linux un citas atvērtā pirmkoda programmatūras. Arī Apple OS X - un tā iOS - pamatā bija arī atvērtā pirmkoda kods. Valve dedzīgi strādā pie sava Steam spēļu platformas pārnešanas uz Linux, jo tas ļautu viņiem izveidot savu aparatūru un kontrolēt savu likteni tādā veidā, kas nav iespējams Microsoft sistēmā Windows.
Tas nav izsmeļošs apraksts - uz šo tēmu ir uzrakstītas visas grāmatas, bet tagad jums vajadzētu būt labākai priekšstatai par to, kas ir atklātā pirmkoda programmatūra un kādēļ tā ir noderīga.