Odo.lv » Mācību materiāli » Pāreja uz atvērto kodu ir investīcijas darbiniekos

Pāreja uz atvērto kodu ir investīcijas darbiniekos

Ceļvedis pēc John Buswell "Open Source vs Closed Source — Its about investing in People"

Investīcijas atvērtajā kodā ir investīcijas savos darbiniekos, tā vietā lai investētu piegādātājos. Ja uzņēmums nolemj ieviest atvērto kodu, galvenās izmaksas parādās algu sarakstā.Visi ir noguruši no debatēm par to, ka viens risinājums ir drošāks, vai nedrošāks par citu. Ka viena risinājuma darbspējas laiks ir ilgāks vai īsāks par otru. Patiesība par informācijas tehnoloģijām ir tā, ka IT vadītāji neizvēlas labāko tehnoloģiju. Viņi izvēlas to tehnoloģiju, kas vislabāk atbilst uzņēmuma biznesa prasībām.Šis raksts ir paredzēts uzņēmumu IT vadītājiem, lai paskaidrotu slēgtā koda (īpašniekprogrammatūras) un atvērtā koda programmatūras īpašības, atklātu iesakņojušos stereotipus, un parādītu, ka atvērtais kods nav produkts, bet gan uzņēmuma stratēģija. Lai arī tas ir spēkā citiem slēgtā koda programmatūras piegādātājiem, šajā ceļvedī kā spilgts piemērs salīdzinājumiem tiek izmantots Microsoft. IT pārvaldnieki sliecas izmantot Microsoft produktus ne tādēļ, ka tie ir labāki, bet gan tādēļ, ka viņi lūkojas uz atvērto kodu kā uz produktu.

Saturs

Atvērtais kods ir stratēģija nevis produkts

Atvērtais kods ir informācijas tehnoloģiju stratēģija. Tas nav produkts. Ir svarīgi novērtēt atvērtā koda programmatūras licenču noteikumus, cenas, uzturēšanas nosacījumus, bet tas nenodrošina nepieciešamos priekšnoteikums veiksmīgai atvērtā koda ieviešanai. Veiksmīgai atvērtā koda ieviešanai ir nepieciešama atbilstoša stratēģija, nevis garāks īpašību saraksts un izdevīgāki licencēšanas noteikumi. 

Laba atvērtā koda stratēģija:

  • samazina programmatūras licenču izmaksas praktiski līdz nullei,
  • attīsta pašmāju speciālistu spējas,
  • pēc iespējas nejūtamā veidā sasaistās ar citām gala lietotāju programmām,
  • būtiski uzlabo risinājuma mērogojamību, izmantojot esošo aparatūru.

Atvērtā koda risinājuma izmaksas nosaka tikai tas, cik daudz ir nepieciešams izdarīt pašu spēkiem, kā arī tas, cik daudz ir jāpiesaista ārēji palīgi. 

Atvērtais kods ir investīcijas darbiniekos, nevis piegādātājos

Ja uzņēmuma IT vadītājs izvēlas slēgtā koda risinājumu, piemēram Windows operētājsistēmu un Office biroja programmatūru, viņš nolemj samaksāt ievērojamu naudas summu piegādātājam, šajā gadījumā — Microsoft.

Izvēloties atvērtā koda risinājumu, lai maksimāli atgūtu investīcijas, IT vadītājam ir jāiegulda darbiniekos. Atvērtais kods dod iespēju lietotājiem izmatot programmas pirmkodu, un šajā gadījumā lietotāji ir uzņēmuma darbinieki. Ja šo iespēju izmanto pareizi, tā dod nepārspējamus rezultātus, jo jūs paši varat sev palīdzēt. Lai šo iespēju izmantotu pareizi, ir jāveido pašiem savi talanti, pretējā gadījumā pāriešanai uz atvērto kodu nebūs jēgas.

Lai atvērto kodu ieviestu veiksmīgi, uzņēmumā ir jābūt cilvēkiem, kas var sagatavot prasības un saprātīgā laikā izveidot risinājumu, izmantojot dažādas atvērtā koda komponentes. Lai to veiktu, var būt nepieciešams izveidot atsevišķu atvērtā koda ieviešanas komandu, vai papildus apmācīt kādu darbinieku, kam ir slēgtā koda programmatūras ieviešanas pieredze.

Katrs uzņēmums ir savādāks. Tas kā tiek savākti vajadzīgie cilvēki ir uzņēmuma vadības lēmums, tomēr: 

mēģinājums ieviest atvērto kodu, atbilstoši neinvestējot darbiniekos, ir taisnākais ceļš uz neveiksmi.

Atvērtais kods ir eksponenciāls ilgtermiņa ietaupījums

Ir neskaitāmi kopējo uzturēšanas izmaksu (TCO) kalkulatori, kuru formulas ir "pievilktas" tā, lai visizdevīgākais būtu kalkulatora izgatavotāja piedāvājums. Atvērtais kods piedāvā eksponenciālus ilgtermiņa ietaupījumus, jo atvērtajam kodam nepieciešamās investīcijas laika gaitā nemainās. Microsoft programmatūru licencē atkarībā no procesoru vai lietotāju skaita uz fiksētu laiku. Microsoft neatbalsta savu programmatūru bezgalīgi, tas arvien piegādā jaunas versijas, kam ir nepieciešamas jaunas licences, rezultātā klientiem ir jāmaksā atkal un atkal. Izmaksas ir regulāras un un uzņēmumam augot, arī izmaksas pieaug, jo pieaug izmantoto procesoru un lietotāju skaits. 

Microsoft piedāvāto risinājumu izmaksas laika gaitā pieaug eksponenciāli, un ietiektos bezgalībā, ja vien Microsoft kādu produktu uzturētu pietiekami ilgi.

Atvērtā koda programmatūras izmaksas paliek nemainīgas, lai cik liels arī uzņēmums izaugtu. Pareizas atvērtā koda stratēģijas gadījumā organizācija var turpināt investēt savos darbiniekos, līdz ar to, laikam ejot, darbinieki programmatūru iepazīst arvien labāk ne tika no lietošanas, bet arī no uzturēšanas viedokļa. 

Atvērtais kods ir modulārs un minimāls

Jo vairāk mehānismā ir kustīgu daļu, jo lielāka iespēja, ka kaut kas salūzīs. Tas pats ir spēkā arī datoru programmatūrai un operētājsistēmām. Linux atvērtā koda kodols ir ļoti modulārs. Lietotājs var izvēlēties tikai tās komponentes, kas ir nepieciešamas, pielāgot kodolu savai aparatūrai un prasībām. Rezultātā var iegūt kodolu ar minimālu funkcionalitāti, kas vajadzīga, lai paveiktu uzdoto. Arī bibliotēkas un lietojumprogrammas darbojas līdzīgi — iespējas var tikt ieslēgtas vai atslēgtas, nodrošinot nepārspējamu pielāgošanas līmeni. Ir pieejamas neskaitāmas savietojams alternatīvas ar dažādiem funkcionalitātes apjomiem. Piemēram glibc ir bāzes bibliotēka, ko var aizstāt ar mazāku uclibc vai klibc, atkarībā no tā, kas nepieciešams lietojumprogrammai, kodolam vai citām bibliotēkām. Arī lietojumprogrammas var uzstādīt minimālajā nepieciešamajā konfigurācijā.

Vienīgais vieds, kā slēgtā koda aizstāvji sacenšas par drošību ar atvērtā koda pārstāvjiem, ir atrunas, ka sistēma ir tik droša, cik drošu to padara administrators.

Bet tie vienmēr ir atsevišķi gadījumi un ekstrēmus var atrast abās nometnēs. Ja skatās uz statistiku, tad vispārīgā gadījumā sistēma vienmēr ir drošāka, ja tai ir atslēgts viss liekais — apturēti nevajadzīgi servisi, aizvērti nevajadzīgie porti un novāktas nevajadzīgās programmatūras komponentes.

Diemžēl slēgtā koda programmatūrai šīs iespējas ir diezgan ierobežotas. Microsoft ir nepieciešams nodrošināt bāzes funkcionalitāti jebkurai Windows sistēmai, un tam ir nepieciešams milzums bibliotēku, lietojumprogrammu, iebūvētu API... Viss tas paliek arī nodrošinātā sistēmā, jo lietotājiem nav ne rīku, ne zināšanu novākt kaut ko vairāk. Windows ir daudz nedrošāks tāpēc, ka tajā ir daudz vairāk komponenšu, ko potenciāli var izmantot ļaunprātīgos nolūkos, nekā tas ir nodrošinātā minimālā Linux sistēmā. 1

Linux var "noīsināt" atstājot tikai nepieciešamo aparatūras, tīkla un ievades-izvades atbalstu kodolā, tikai tās kodola bibliotēkas, kas nepieciešamas vajadzīgajiem servisiem un lietojumprogrammām. Linux lietojumprogrammas var nokompilēt, pielietojot pastiprinātus drošības nosacījumus (piem., ar chroot), ļaujot darboties tikai ar noteiktiem servisiem un failu sistēmām, un, pat ja programmā ir drošības caurums, to nevar izmantot, lai salauztu visu sistēmu. Windows operētājsistēmā var "ķīmiķot" reģistru, bet nav iespējams aizliegt nevajadzīgus API izsaukumus, kuru drošības caurumus var izmantot, lai uzlauztu visu sistēmu. 

Tieši iespēja pielāgot Linux, kad tas darbojas minimālā apjomā, nodrošina nepārspētu stabilitāti un milzīgus nepārtrauktas darbības laikus. Noregulētam un salāpītam Windows ir neslikta stabilitāte, bet tā tiek panākta ar daudz nopietnākām prasībām pret aparatūru un attiecīgi lielākām izmaksām. 

Atvērtajam kodam ir labāka veiktspēja

Linux minimālās uzstādīšanas iespējas atbrīvo aparatūras resursus, kurus var izmantot nepieciešamo lietojumprogrammu darbināšanai. Pat minimāla Windows sistēma tērē resursus grafiskajai saskarnei, kas ir viena no resursus prasīgākajām darbībām. Tas ir Windows dizaina "nodoklis". Microsoft ir centies šo "nodokli" samazināt, ar savu Core Server projektu, bet pat Core Server ir grafiskās saskarnes komponentes. Tās tikai ir apgrieztas un ir izmestas dažas lietojumprogrammas.

Uz līdzīgas aparatūras Linux operētājsistēma tērēs daudz mazāk resursu kā Windows. Tieši tāpēc Linux izmanto vairāk kā 85% superdatoru. Superdatori sastāv no tūkstošiem atsevišķu mezglu, un ir nepieciešams, lai katra mezgla tukšgaitas darbība prasītu minimālus resursus un maksimāli daudz resursu atliktu lietderīgā darba veikšanai.

Jo vairāk Windows lietojumprogrammas tiek palaistas, jo proporcionāli lielāka resursu daļa aiziet programmu pārvaldībai nevis lietderīgā darbā.

Sliktākā veiktspēja ir papildu "nodoklis", jo ar Microsfot produktiem aparatūra padara mazāk, tāpēc ir nepieciešami lielāki aparatūras resursi, kā, izmantojot atvērtā koda programmatūru. 

Atvērtais kods piedāvā izvēli

Izvēle ir nozīmīga atvērtā koda īpašība. Atvērtā koda lauciņā darbojas milzum daudz gudru cilvēku. Daudzi jauni atvērtā koda projekti sākas universitāšu izpētes grupās, studenti ar tajos strādā pie saviem maģistra darbiem. Daudz ko rada lielo korporāciju kā IBM, Sun, Google, Apple, Red Hat, Hewlett Packard un Dell laboratorijās. Daudzi atvērtā koda projekti konkurē savā starpā. No vadības viedokļa tas ir "neefektīvi", jo darbības dublējas. Tomēr, tas vienīgais veids, kā nodrošināt, ka projektos var piedalīties neierobežots dalībnieku skaits, un programmas pirmkoda pieejamība ļauj legāli "zagt" idejas no konkurenta.

Piemēram, kā industrijas standarta tīmekļa serveris ir Apache. Bet ir pieejams arī daudz vienkāršāks un ātrāks serveris nginx (izrunā kā "engine-x"), ko izveidojis Krievijas programmētājs. Krievijas portālam bija nepieciešams ātrs un mērogojams tīmekļa serveris, un to panāca izveidojot principiāli jaunu zema līmeņa ievades-izvades paņēmienu, iegūstot jaunas paaudzes produktu. Drīz pēc tam daudzas nginx idejas tika ieviestas arī Apache projektā. Atvērtā koda darbnīcā var pārbaudīt visus iespējamos risinājumus, un, kad ir izvēlēts visatbilstošākais, to var ieviest ražošanā.

Slēgtā koda nometnē jebkurai izmaiņai ir nepieciešams vadības apstiprinājums, tas ir jāiekļauj turpmākajos finanšu plānos, un parasti tas beidzas ar daļēju risinājumu, atstājot arī mantotos produktu, kamēr tam izbeigsies licence. Atvērtais kods piedāvā izvēles un pāriešanas brīvību, līdz ar to organizācija var izvēlēties atbalstošāko risinājumu nepieciešamajām iespējām, ieskaitot veiktspēju un mērogojamību tā, kā tas vislabāk atbilst uzņēmuma prasībām. 

Atvērtais kods ļauj taupīt netērējot

Kad slēgtā koda darbnīcā ar Microsoft produktiem parādās jaunas vajadzības, piemēram, datu bāzu serveris, IT vadītājs aplūko savu budžetu un nosaka cik daudz naudas tam ir nepieciešams.

Izmantojot atvērto kodu, programma tiek pārbaudīta, lai noteiktu visatbilstošāko risinājumu un konfigurāciju. Atvērtā koda programmatūra tiek izvēlēta, vadoties no tehniskajām vajadzībām un iespējam. Lai gan arī slēgtā koda programmas tiek izvēlētas, vadoties no prasībām, tomēr daudz vairāk to nosaka cenas un budžeta iespējas. Izmantojot atvērtā koda programmas tās var izmantot uzreiz, kamēr slēgtā koda projektu bieži var nāktos atlikt uz vēlāku laiku budžeta ierobežojumu dēļ. 2

Atvērtā koda ieviešana sākas ar integrāciju

Atvērtā koda ieviešana ir vai nu jaunas sistēmas ieviešana, vai esošās sistēmas nomaiņa. Izdevīgākais esošās sistēmas nomainīšanas laiks ir tad, kad tuvojas esošās sistēmas licenču un/vai uzturēšanas laika beigas, vai arī tuvojas jaunas versijas izlaišana, uz kuru būtu jāmigrē, ja neieviestu atvērtā koda sistēmu.

Atvērtā koda sistēmas ir daudz "draudzīgākas" par slēgtā koda sistēmām. Atvērtā koda sistēmas izmanto atvērtus standartus un protokolus un pielāgojas arī īpašnieciskajiem risinājumiem. Tāpēc, lai pilnībā izmantotu atvērtā koda iespējas, nepieciešams ņemt vērā visas biznesa prasības un noteikt, kā dažādām sistēmām un komponentēm vajadzētu sadarboties savā starpā.

Ir jānosaka visas uzņēmuma sistēmas, kuras pārredzamā nākotnē tiktu pārmigrētas uz atvērto kodu. Tādi risinājumi kā virtualizācija un grafisko lietojumu termināļu serveri ļauj darbināt atvērtā koda vidē tās lietojumprogrammas, kas spēj darboties tikai Microsoft vidē. Uzņēmuma IT vadībai ir rūpīgi jāizplāno, vai uzņēmumā darbosies tikai atvērtā koda sistēmas, vai arī ir sajaukta vide. 

Kāpēc IT vadītāji turpina raudzīties Microsoft virzienā?

Vienkāršā atbilde ir — cilvēki. Microsoft ir padarījis daudzas lietas vienkāršas, ieskaitot sistēmu pārvaldību. Jebkurš var paņemt Microsoft produktu, un, saklišķinot dažas izvēles, agri vai vēlu iegūs darbojošos risinājumu. 

Ir neskaitāmi t.s. "IT konsultanti", kas izglītojušies biznesa administrācijā, prot saklikšķināt kaut kādu Microsoft risinājumu.

Šie "konsultanti" ir sākuši kā Windows lietotāji, un pamazām ir apguvuši šādas tādas lietojumprogrammas un rīkus. Tas viņiem prasīja zināmu laiku, bet ar mēģinājumu un kļūdu metodi, viņi ir iemācījušies saklikšķināt risinājumu, kas strādā. Vēl pēc pāris gadiem viņi jau ir iepazinuši vairākus Microsoft produktus, zina, ko klikšķinat, lai produkts darbotos, un zina ko darīt, ja kaut kas salūzt. Daudzi no tiem ir jauki cilvēki, bet galvenā nelaime ir tā, ka viņi patiesībā nezina kā lietas darbojas. Tieši ar šiem cilvēkiem "Linux elites" pārstāvjiem ir vislielākās problēmas. Šie cilvēki sevi uzskata par ekspertiem, un popularizē Microsoft risinājumus, bet patiesībā viņiem trūkst fundamentālas izpratnes par to, kā darbojas informācijas tehnoloģijas, un viņiem nav zināšanu un kompetences lai tehniski salīdzinātu Microsoft produktu ar kādu citu. Viņi svētā pārliecībā aizstāv Microsoft, jo tas ir vienīgais, ko viņi zina. Un tas noved pie tā, ka globālākā IT biznesa problēma ir nedrošie IT risinājumi, kas veidoti bez izpratnes par tehnoloģiju darbību.

Atvērtā koda ekspertiem turpretī ir zināšanas par programmēšanu un pirmkodu, jo viņiem agri vai vēlu nākas izveidot kādu ielāpu, un nākas kaut ko kompilēt no pirmkoda, ieskaitot Linux kodolu. Daudzos atvērtā koda projektos ir nepieciešams rediģēt vai uzbūvēt konfigurācijas failus bez grafiskās saskarnes izvēles rūtiņām. Konfigurācijas failiem ir nepieciešams speciālists, kas zina, ko nepieciešams iestatīt, kādu funkcionalitāti tas piedāvā un kādas sekas tas rada uz sistēmu. Atvērtā koda speciālists arī zina, kā savākt zema līmeņa sistēmas datus, izmantojot tādas lietas kā /proc failsistēmu lspci komandu. Pirmkoda pieejamība laika gaitā veicina arvien dziļāku tehnoloģiju apgūšanu. 

Kad IT vadītājs lūkojas atvērtā koda virzienā, darbinieki sāk izjust standarta bailes:

Atvērtais kods nozīmē lūkošanos uz pirmkodu, ja man nav programmēšanas iemaņu, vai mani aizstās ar citu?

Atkarībā no darbinieka, kāds to var uzlūkot par labu iespēju audzēt savas zināšanas un attīstīt karjeru, bet daudzi savukārt baidīsies, ka būs jāmācās pārāk daudz, un ka kompānijai būs izdevīgāk viņus aizstāt ar citiem. Tieši tāpēc pāreja uz atvērto kodu ir investēšana darbiniekos.

Arī izmantojot atvērtā koda programmatūru, nederīgs ir jebkurš speciālists. Atvērtā koda kopienai ir nepieciešami lietotāji, testētāji dokumentētāji un vadītāji. Tomēr šo darbinieku darbības veids pilnīgi noteikti būs savādāks, kā slēgtā koda pasaulē.

Ja IT vadītājs nespēs novērst darbinieku bailes un šaubas, un neparādīs katra vietu jaunajā pasaulē, darbinieku pretestība var izgāzt visu pasākumu. 

Secinājumi

  • Atvērtais kods ir IT stratēģija nevis produkts. Izmantojot atvērtā koda sistēmu elastību, ir svarīgi nevis ieviest atsevišķus lokālus risinājumus, bet gan integrētu un saskaņotu darbības vidi, kas atbilst uzņēmuma vajadzībām. Ir nepieciešams noteikt, kuras sistēmas, kad un kādā veidā tiks migrētas uz atvērto kodu.
  • Darbinieki ar panākumu atslēga, un lēmums — pieņemt jaunus darbiniekus vai apmācīt esošos — ir galvenais biznesa lēmums. Lai ieviešanu veiktu ātrāk, ir iespējams pieaicināt ārējus atvērtā koda konsultantus, tomēr, lai novērstu intrigas un pretošanos, parasti labāk ir uzlikt jaunus pienākumus esošajiem darbiniekiem. Uzņēmuma vadība redzēs, kuri no esošajiem darbiniekiem grib un vēlas, iemācīties ko jaunu, un kurus, iespējams, būs jānomaina.

Laba stratēģija ir maksimāli izmantot esošos darbiniekus, bet nepieciešamības gadījumā ir jāveic nomaiņa, jo tiem būs jābūt spējīgiem uzturēt atvērtā koda sistēmas saviem spēkiem.

  • Atvērtā koda investīciju atmaksāšanās, ietaupījumi un ieguvumi ir neapstrīdami, jo atvērtā koda izmaksas paliek nemainīgas neatkarīgi no risinājuma izmēra. Slēgtā koda risinājumiem, kā piemēram Microsoft, pieaugot risinājuma izmēriem, izmaksām ir tendence pieaugt eksponenciāli. 
  1. ^ Microsoft jaunas Windows versijas izlaiž reti un sākotnējie ielāpi ir tik lieli, ka tikko uzstādītu Windows sistēmu var uzlauzt ātrāk, kā tajā tiek lejuplādēti ielāpi.
  2. ^ Protams, arī slēgtā koda risinājumus var pārbaudīt uzreiz, izmantojot izmēģinājumu versijas. Bet to ieviešanu ražošanā tik un tā nosaka budžeta iespējas.
Izveidojis Valdis Vītoliņš 2009-04-03 21:44
Pēdējais mainījis Administrator 2016-04-01 23:12

Xwiki Powered
Creative Commons Attribution 3.0 Unported License