Å onedÄļ SanktpÄterburgÄ norisinÄsies IT festivÄls . Viens no runÄtÄjiem bÅ«s RiÄards Stollmans. tÄpat piedalÄs festivÄlÄ, un, protams, mÄs nevarÄjÄm nepievÄrst uzmanÄ«bu atvÄrtÄ koda tÄmai. TÄdÄļ viens no mÅ«su ziÅojumiem ir nosaukts . Tas bÅ«s veltÄ«ts Embox kÄ atvÄrtÄ koda projekta attÄ«stÄ«bas vÄsturei. Å ajÄ rakstÄ es vÄlÄtos pastÄstÄ«t par galvenajÄm idejÄm, kas, pÄc manÄm domÄm, ietekmÄ atvÄrtÄ koda projektu attÄ«stÄ«bu. Raksts, tÄpat kÄ ziÅojums, balstÄ«ts uz personisko pieredzi.
SÄksim ar vienkÄrÅ”o, ar termina opensource definÄ«ciju. AcÄ«mredzami, ka atvÄrtÄ koda projekts ir projekts, kam ir viena no licenciÄm, kas ļauj piekļūt projekta avota kodam. TurklÄt atvÄrts projekts nozÄ«mÄ, ka treÅ”ie izstrÄdÄtÄji var veikt izmaiÅas. TÄtad, ja kÄda uzÅÄmums vai izstrÄdÄtÄjs publicÄ sava produkta kodu, daļÄji vai pilnÄ«bÄ, tas vÄl nenozÄ«mÄ, ka Å”is produkts ir opensource projekts. Un visbeidzot, jebkurai projektÄ veiktai darbÄ«bai jÄnov leads pie kÄda rezultÄta, turklÄt atvÄrtÄ«ba projekta nozÄ«mÄ, ka Å”o rezultÄtu izmanto ne tikai paÅ”i izstrÄdÄtÄji.
AtvÄrtu licenci jautÄjumus neapskatÄ«sim. TÄ ir pÄrÄk liela un sarežģīta tÄma, kas prasa dziļu izpratni. Å ajÄ tÄmÄ ir uzrakstÄ«ti diezgan daudzi labi raksti un materiÄli. TaÄu, tÄ kÄ es neesmu speciÄlists autortiesÄ«bu jomÄ, varu teikt tikai to, ka licencei jÄatbilst projekta mÄrÄ·iem. PiemÄram, Embox izvÄle starp BSD un GPL licenci nebija nejauÅ”a.
Fakts, ka atvÄrtajam projektam jÄsniedz iespÄja veikt izmaiÅas un ietekmÄt atvÄrtÄ projekta attÄ«stÄ«bu, nozÄ«mÄ, ka projekts ir decentralizÄts. To pÄrvaldÄ«t, saglabÄt tÄ integritÄti un darbspÄju ir daudz grÅ«tÄk salÄ«dzinÄjumÄ ar projektu, kam ir centralizÄta pÄrvaldÄ«ba. Rodas pamatots jautÄjums ā kÄpÄc vispÄr veidot atvÄrtos projektus? Atbilde ir komerciÄlajÄ pamatotÄ«bÄ; noteiktai projektu klasei ieguvumi no Å”Äda pieejas pÄrsniedz izmaksas. Tas nenozÄ«mÄ, ka atvÄrtais pieejas modelis ir piemÄrots visiem projektiem. PiemÄram, grÅ«ti iedomÄties, ka elektrostacijas vai lidmaŔīnas vadÄ«bas sistÄma varÄtu tikt izstrÄdÄta, pamatojoties uz atvÄrtajiem principiem. Protams, Å”ÄdÄs sistÄmÄs bÅ«tu jÄpievieno moduļi, kas balstÄ«ti uz atvÄrtiem projektiem, jo tas sniegs virkni priekÅ”rocÄ«bu. TaÄu par gala produkta kvalitÄti kÄdam jÄatbild. Pat ja sistÄma ir pilnÄ«bÄ balstÄ«ta uz atvÄrtos projektos esoÅ”o kodu, izstrÄdÄtÄjs, apkopojot visu vienÄ sistÄmÄ un veicot konkrÄtus izstrÄdes un iestatīŔanas procesus, bÅ«tÄ«bÄ to slÄdz. Kods var atrasties publiskajÄ pieejamÄ«bÄ.
Å Ä«m sistÄmÄm pastÄv arÄ« daudzi ieguvumi no atvÄrtu projektu veidoÅ”anas vai dalÄ«bas tajos. KÄ jau teicu, gala sistÄmas kods var palikt publiskajÄ pieejamÄ«bÄ. KÄpÄc tas ir vajadzÄ«gs, ja ir acÄ«mredzams, ka grÅ«ti atrast kÄdu citu lidmaÅ”inu, lai pÄrbaudÄ«tu sistÄmu? Tas ir patiesi, taÄu var arÄ« atrasties kÄds, kas vÄlÄtos pÄrbaudÄ«t konkrÄtas koda daļas, vai piemÄram, kÄds var atklÄt, ka izmantotÄ bibliotÄka nav pilnÄ«bÄ pareizi konfigurÄta.
VÄl lielÄka izdevÄ«ba rodas, ja uzÅÄmums atvÄl kÄdu pamata sistÄmas daļu atseviŔķam projektam. PiemÄram, bibliotÄkai datu apmaiÅas protokola atbalstam. Å ajÄ gadÄ«jumÄ, pat ja protokols ir specifisks konkrÄtajai jomai, izmaksas Ŕīs sistÄmas daļas uzturÄÅ”anai var dalÄ«t ar citiem uzÅÄmumiem, kas darbojas Å”ajÄ nozarÄ. TurklÄt speciÄlistiem, kuri var izpÄtÄ«t Å”o sistÄmas daļu atklÄtÄ piekļuvÄ, ir nepiecieÅ”ams ievÄrojami mazÄk laika efektÄ«vai tÄs izmantoÅ”anai. Un visbeidzot, atseviŔķas daļas izdalīŔana par paÅ”pietiekamu vienÄ«bu, ko izmanto treÅ”o personu izstrÄdÄtÄji, ļauj Å”o daļu padarÄ«t kvalitatÄ«vÄku, jo jÄnodroÅ”ina efektÄ«vi API, jÄizveido dokumentÄcija, nemaz nerunÄjot par testÄÅ”anas seguma uzlaboÅ”anu.
KomercizdevÄ«bu uzÅÄmums var gÅ«t arÄ« nelatvÄjot atvÄrtos projektus, pietiek, lai viÅu speciÄlisti piedalÄ«tos treÅ”o puÅ”u projektos, kas tiek izmantoti uzÅÄmumÄ. Galu galÄ visus ieguvumus saglabÄ: darbinieki labÄk izprot projektu, lÄ«dz ar to efektÄ«vÄk to izmanto, uzÅÄmums var ietekmÄt projekta attÄ«stÄ«bu, un gatavÄ, rÅ«pÄ«gi izstrÄdÄtÄ koda izmantoÅ”ana acÄ«mredzami samazina uzÅÄmuma izdevumus.
TomÄr priekÅ”rocÄ«bas no atvÄrtÄ pirmkoda projektu izveides nebeidzas Å”eit. ApskatÄ«sim tÄdu bÅ«tisku uzÅÄmuma sastÄvdaļu kÄ mÄrketings. Tas ir ļoti laba izmÄÄ£inÄjuma vide, kas ļauj efektÄ«vi novÄrtÄt tirgus prasÄ«bas.
Un, protams, nedrÄ«kst aizmirst, ka atvÄrtÄ pirmkoda projekts ir efektÄ«vs veids, kÄ paziÅot par sevi kÄ kÄda specializÄcija nesÄju. Dažos gadÄ«jumos tas ir pat vienÄ«gais ceļŔ uz tirgu. PiemÄram, Embox sÄka kÄ operÄtÄjsistÄmas projektu. DroÅ”i vien nav jÄskaidro, ka ir daudz konkurentu. Bez kopienas izveides mums vienkÄrÅ”i nepietiktu resursu projekta pabeigÅ”anai, proti, lai projektu sÄktu izmantot treÅ”o puÅ”u izstrÄdÄtÄji.
Kopiena ir bÅ«tiska atvÄrtÄ pirmkoda projektÄ. TÄ bÅ«tiski samazina izdevumus projekta vadÄ«bÄ, attÄ«sta un uztur projektu. Var teikt, ka bez kopienas vispÄr nav atvÄrtÄ pirmkoda projekta.
Par to, kÄ izveidot un vadÄ«t atvÄrtÄ koda projekta kopienu, ir uzrakstÄ«ti daudzi materiÄli. Es, lai nepÄrstÄstÄ«tu jau zinÄmos faktus, centīŔos pievÄrst uzmanÄ«bu Embox pieredzei. PiemÄram, ļoti interesants jautÄjums ir kopienas izveides process. Tas ir, daudzi stÄsta, kÄ vadÄ«t esoÅ”u kopienu, taÄu brīžiem tÄs izveides aspekti tiek aizmirsti, uzskatot to par paÅ”saprotamu.
Galvenais noteikums, veidojot opensource projekta kopienu, ir tas, ka nav nekÄdu noteikumu. Es domÄju, ka universÄlu noteikumu nav, tÄpat kÄ sudraba lodes, vismaz tÄpÄc, ka projekti ir ļoti atŔķirÄ«gi. GrÅ«ti vienos un tajos paÅ”os noteikumos vadÄ«t kopienu bibliotÄkai, kas reÄ£istrÄ datus uz js, un kÄdam Å”auram specializÄtam draiverim. VÄl jo vairÄk, dažÄdÄs projekta attÄ«stÄ«bas fÄzÄs (un attiecÄ«gi arÄ« kopienas) noteikumi mainÄs.
Embox sÄkÄs kÄ studentu projekts, jo bija pieejami studenti no sistÄmu programmÄÅ”anas katedras. PatiesÄ«bÄ mÄs ienÄcÄm kÄdÄ citÄ kopienÄ. Å Ä«s kopienas dalÄ«bniekiem, studentiem, mÄs varÄjÄm piedÄvÄt labu rÅ«pniecisko praksi viÅu specialitÄtÄ, zinÄtniskos darbus sistÄmu programmÄÅ”anas jomÄ, kÄ arÄ« kursa un diplomdarbus. Tas ir, mÄs izpildÄ«jÄm vienu no galvenajiem noteikumiem kopienas organizÄÅ”anÄ, dalÄ«bniekiem jÄsaÅem kaut kas, un Å”ai cenai jÄatbilst dalÄ«bnieka ieguldÄ«jumam.
NÄkamais posms Embox bija meklÄt ÄrÄjos lietotÄjus. Ä»oti svarÄ«gi saprast, ka lietotÄji ir pilnvÄrtÄ«gi atvÄrtÄ koda kopienas dalÄ«bnieki. LietotÄju parasti ir vairÄk nekÄ izstrÄdÄtÄju. Un, lai vÄlÄtos kļūt par projekta lÄ«dzautoru, vispirms viÅi kÄdÄ mÄrÄ sÄk to lietot.
Pirmaji lietotÄju grupa Embox bija TeorÄtiskÄs KibernÄtikas katedra. ViÅi piedÄvÄja izveidot alternatÄ«vu programmatÅ«ru Lego Mindstorm. Un, lai gan tie joprojÄm bija vietÄjie lietotÄji (mÄs varÄjÄm tikties ar viÅiem personÄ«gi un apspriest, ko viÅi vÄlas). TomÄr tas bija ļoti labs pieredze. PiemÄram, mÄs izstrÄdÄjÄm demonstrÄcijas, kuras varÄjÄm parÄdÄ«t citiem, jo roboti ir jautri un piesaista uzmanÄ«bu. BeigÄs mums bija patiesi ÄrÄji lietotÄji, kas sÄka jautÄt, kas ir Embox un kÄ to lietot.
Å ajÄ posmÄ mums bija jÄdomÄ par dokumentÄciju, par komunikÄcijas lÄ«dzekļiem ar lietotÄjiem. Protams, mÄs par Ŕīm svarÄ«gajÄm lietÄm domÄjÄm arÄ« iepriekÅ”, taÄu tas bija pÄragri, un tas nesniedza pozitÄ«vu efektu. Efekts bija drÄ«zÄk negatÄ«vs. Sniedzu pÄris piemÄrus. MÄs izmantojÄm googlecode, kura wiki atbalstÄ«ja daudzvalodÄ«bu. MÄs izveidojÄm lapas vairÄkÄs valodÄs, tostarp ne tikai angļu un krievu, ar kurÄm kaut kÄ varÄjÄm sazinÄties, bet arÄ« vÄcu un spÄÅu. RezultÄtÄ bija ļoti smieklÄ«gi, kad kÄds jautÄja Å”ajÄs valodÄs, bet mÄs vispÄr nevarÄjÄm atbildÄt. Vai arÄ« mÄs ievieÅ”am noteikumus par dokumentÄcijas rakstīŔanu un komentÄÅ”anu, taÄu, Åemot vÄrÄ, ka API mainÄ«jÄs diezgan bieži un bÅ«tiski, izrÄdÄ«jÄs, ka mÅ«su dokumentÄcija novecoja un vairÄk maldinÄja nekÄ palÄ«dzÄja.
Galu galÄ visi mÅ«su centieni, pat nepareizie, noveda pie tÄ, ka parÄdÄ«jÄs ÄrÄjie lietotÄji. Un pat radÄs komerciÄls klients, kurÅ” vÄlÄjÄs, lai viÅam izstrÄdÄ savu OSRV. MÄs to izstrÄdÄjÄm, jo mums ir pieredze un daži iepriekÅ”Äjie darbi. Å eit jÄstÄsta gan par labajÄm, gan sliktajÄm lietÄm. SÄksim ar sliktajÄm. TÄ kÄ daudzi izstrÄdÄtÄji tika piesaistÄ«ti Å”im projektam uz komerciÄla pamata, kopiena un tÄpat jau diezgan nestabila, sadalÄ«jÄs, kas, protams, nevarÄja neietekmÄt projekta attÄ«stÄ«bu. Papildu faktors bija tas, ka projekta virzÄ«ba tika noteikta no viena komerciÄla pasÅ«tÄ«tÄja, un tÄ mÄrÄ·is nebija projekta turpmÄkÄ attÄ«stÄ«ba. Vismaz Å”is mÄrÄ·is nebija galvenais.
No otras puses, bija virkne pozitÄ«vu momentu. MÄs saÅÄmÄm patiesi treÅ”o personu lietotÄjus. Tas nebija tikai klients, bet arÄ« tie, kam Ŕī sistÄma bija paredzÄta. MotivÄcija piedalÄ«ties projektÄ palielinÄjÄs. Jo, ja uz interesanta darba var arÄ« nopelnÄ«t, tas vienmÄr ir patÄ«kami. Un galvenais, mÄs dzirdÄjÄm vienu klientu vÄlmi, kas tajÄ brÄ«dÄ« mums Ŕķita nereÄla, taÄu tagad tÄ ir galvenÄ ideja Embox ā proti, izmantot sistÄmÄ jau izstrÄdÄto kodu. Tagad galvenÄ ideja Embox ir Linux programmatÅ«ras izmantoÅ”ana bez Linux. Tas ir, galvenais pozitÄ«vais moments, kas veicina projekta turpmÄku attÄ«stÄ«bu, bija apzinÄÅ”anÄs, ka projektu izmanto treÅ”o personu lietotÄji, un tam jÄrisina kÄdas viÅu problÄmas.
TajÄ brÄ«dÄ« Embox jau bija iznÄcis no studentu projekta robežÄm. Galvenais attÄ«stÄ«bas ierobežojoÅ”ais faktors studentu modeļa ietvaros ir dalÄ«bnieku motivÄcija. Studentu dalÄ«ba turpinÄs, kamÄr viÅi mÄcÄs, bet pÄc izlaiduma ir jÄrod cita motivÄcija. Ja motivÄcija neparÄdÄs, students vienkÄrÅ”i pÄrtrauc dalÄ«bu projektÄ. Ja Åem vÄrÄ, ka studentus vispirms ir jÄmÄca, iznÄk, ka par labiem speciÄlistiem viÅi kļūst izlaiduma brÄ«dÄ«, taÄu ieguldÄ«jums projektÄ, jaunas pieredzes dÄļ, nav ļoti liels.
KopumÄ mÄs pakÄpeniski pÄrejam pie galvenÄ momenta, kas ļauj runÄt par opensource projekta izveidi, ā produkta izveidoÅ”anu, kas risinÄtu tÄ lietotÄju problÄmas. KÄ jau iepriekÅ” minÄju, galvenÄ opensource projekta iezÄ«me ir tÄ kopiena. TurklÄt kopienas dalÄ«bnieki ir vispirms lietotÄji. Bet no kurienes viÅi var rasties, ja nav ko izmantot? TÄ tas sanÄk, ka tÄpat kÄ ar ne-opensource projektu, ir nepiecieÅ”ams koncentrÄties uz MVP (minimÄlais dzÄ«votspÄjÄ«gais produkts) izveidi, un, ja tas ieinteresÄ lietotÄjus, ap projektu veidosies kopiena. Ja tikai centÄ«sies izveidot kopienu caur sabiedrisko attiecÄ«bu, wiki rakstīŔanu visÄs pasaules valodÄs vai pareizu git darba plÅ«smu github, tad grÅ«ti teikt, cik nozÄ«mÄ«gi tas bÅ«s projekta agrÄ«najos posmos. Protams, atbilstoÅ”ajos posmos tas ir ne tikai svarÄ«gi, bet arÄ« nepiecieÅ”ami.
NoslÄgumÄ vÄlos izcelt , manÄ skatÄ«jumÄ atspoguļo lietotÄju cerÄ«bas attiecÄ«bÄ uz opensource projektu:
Es nopietni domÄju par pÄreju uz Å”o OS (vismaz izmÄÄ£inÄt. To ļoti aktÄ«vi attÄ«sta un veido lieliskas lietas).
P. S. Uz mums bÅ«s pat trÄ«s ziÅojumi. Viens par open source un divi par embedded (turklÄt viens bÅ«s praktisks). StendÄ rÄ«kosim meistarklasi par mikrokontrolieru programmÄÅ”anu ar . TradicionÄli atvedÄ«sim aparatÅ«ru un ļausim to programmÄt. BÅ«s arÄ« kustÄ«ba un citas aktivitÄtes. NÄciet uz festivÄlu un uz mÅ«su stendu, bÅ«s jautri.
Avots: habr.com
