Momwe mungapangire polojekiti yotseguka

Momwe mungapangire polojekiti yotsegukaChikondwerero cha IT chidzachitika ku St. Petersburg sabata ino Mtengo wa TechTrain. Mmodzi mwa okamba nkhani adzakhala Richard Stallman. Emboks amakhalanso nawo pachikondwererocho, ndipo ndithudi sitingathe kunyalanyaza mutu wa mapulogalamu aulere. Ndichifukwa chake imodzi mwa malipoti athu imatchedwa "Kuyambira ntchito zamanja za ophunzira kupita ku ntchito zotseguka. Embox experience”. Idzaperekedwa ku mbiri ya chitukuko cha Embox ngati polojekiti yotseguka. M'nkhaniyi ndikufuna kulankhula za mfundo zazikulu zomwe, m'malingaliro mwanga, zimakhudza chitukuko cha ntchito za opensource. Nkhaniyi, mofanana ndi lipotilo, yazikidwa pa zimene zinachitikira inuyo.

Tiyeni tiyambe ndi chinthu chosavuta, ndi tanthauzo la mawu akuti opensource. Mwachiwonekere, pulojekiti yotseguka ndi pulojekiti yomwe ili ndi zilolezo zomwe zimalola kupeza ma code source a polojekiti. Kuphatikiza apo, pulojekiti yotseguka imatanthauza kuti opanga chipani chachitatu akhoza kusintha. Ndiye kuti, ngati kampani ina kapena wopanga mapulogalamu asindikiza kachidindo kazinthu zake, pang'onopang'ono kapena kwathunthu, izi sizipangitsa kuti mankhwalawa akhale pulojekiti yotseguka. Ndipo potsiriza, ntchito iliyonse ya polojekiti iyenera kubweretsa zotsatira zamtundu wina, ndipo kutseguka kwa polojekitiyi kumatanthauza kuti zotsatirazi sizikugwiritsidwa ntchito ndi omwe akupanga okha.

Sitikhudza mavuto a ziphaso zotseguka. Uwu ndi mutu waukulu kwambiri komanso wovuta kwambiri womwe umafunika kufufuza mozama. Zolemba zambiri zabwino komanso zida zalembedwa pamutuwu. Koma popeza ine sindine katswiri pankhani ya kukopera, ndingonena kuti chilolezocho chiyenera kukwaniritsa zolinga za polojekitiyi. Mwachitsanzo, kwa Embox kusankha kwa BSD m'malo mwa chiphaso cha GPL sikunachitike mwangozi.

Mfundo yakuti pulojekiti yotseguka iyenera kupereka kuthekera kosintha ndi kulimbikitsa chitukuko cha polojekiti yotseguka ikutanthauza kuti polojekitiyi ikugawidwa. Kuwongolera, kusunga umphumphu ndi ntchito ndizovuta kwambiri poyerekeza ndi polojekiti yomwe ili ndi kayendetsedwe kapakati. Funso lomveka likubuka: chifukwa chiyani amatsegula ntchito? Yankho liri m'dera la zotheka zamalonda; pagulu linalake la ma projekiti, phindu la njirayi limaposa mtengo wake. Ndiko kuti, sizoyenera ntchito zonse ndipo njira yotseguka ndiyovomerezeka. Mwachitsanzo, n'zovuta kulingalira kupanga njira yoyendetsera magetsi kapena ndege pogwiritsa ntchito mfundo yotseguka. Ayi, ndithudi, machitidwe oterowo ayenera kukhala ndi ma modules okhudzana ndi ntchito zotseguka, chifukwa izi zidzapereka ubwino wambiri. Koma wina ayenera kukhala ndi udindo pa chomaliza. Ngakhale dongosololi liri lokhazikika pamakina a mapulojekiti otseguka, wopanga mapulogalamu, atayika chilichonse mu dongosolo limodzi ndikupanga zomanga ndi zoikamo, amatseka. Khodi ikhoza kupezeka pagulu.

Palinso zabwino zambiri zamakinawa popanga kapena kuthandizira mapulojekiti otsegulira. Monga ndanenera kale, nambala yomaliza ya dongosolo ikhoza kukhalabe poyera. Bwanji, chifukwa n’zachidziΕ΅ikire kuti n’zokayikitsa kuti aliyense adzakhala ndi ndege yofanana kuti ayese dongosolo. Izi ndi zoona, koma pakhoza kukhala wina amene akufuna kuyang'ana zigawo zina za code, kapena, mwachitsanzo, wina angapeze kuti laibulale yomwe ikugwiritsidwa ntchito sinakonzedwe bwino.

Phindu lalikulu kwambiri likuwoneka ngati kampaniyo ipereka gawo lina ladongosolo mu projekiti ina. Mwachitsanzo, laibulale yothandizira mtundu wina wa protocol yosinthira deta. Pachifukwa ichi, ngakhale ndondomekoyi ndi yeniyeni ku gawo lomwe laperekedwa, mukhoza kugawana ndalama zosungira gawoli la dongosololi ndi makampani ena ochokera kudera lino. Kuphatikiza apo, akatswiri omwe amatha kuphunzira gawo ili pagulu la anthu amafunikira nthawi yocheperako kuti agwiritse ntchito bwino. Ndipo potsiriza, kulekanitsa kachidutswa kukhala chinthu chodziyimira pawokha chomwe opanga chipani chachitatu amagwiritsa ntchito chimatilola kupanga gawo ili bwino, chifukwa tifunika kupereka ma API ogwira mtima, kupanga zolemba, ndipo sindikulankhula za kukonza zoyeserera.

Kampani ikhoza kulandira phindu lazamalonda popanda kupanga mapulojekiti otseguka; ndizokwanira kuti akatswiri ake atenge nawo mbali pama projekiti a chipani chachitatu omwe amagwiritsidwa ntchito pakampani. Kupatula apo, mapindu onse amakhalabe: ogwira ntchito amadziwa bwino ntchitoyi, chifukwa chake amaigwiritsa ntchito moyenera, kampaniyo imatha kukhudza momwe polojekiti ikuyendera, ndipo kugwiritsa ntchito kachidindo kokonzekera, kosinthidwa mwachiwonekere kumachepetsa ndalama za kampaniyo.

Ubwino wopanga mapulojekiti otsegulira sizimathera pamenepo. Tiyeni titenge gawo lofunikira pazamalonda monga kutsatsa. Kwa iye, iyi ndi sandbox yabwino kwambiri yomwe imamuthandiza kuwunika bwino zomwe msika ukufunikira.

Ndipo, zowona, tisaiwale kuti pulojekiti ya opensource ndi njira yabwino yodziwonetsera nokha ngati chonyamulira chaukadaulo uliwonse. Nthawi zina, iyi ndi njira yokhayo yolowera msika. Mwachitsanzo, Embox idayamba ngati pulojekiti yopanga RTOS. Mwina palibe chifukwa chofotokozera kuti pali opikisana nawo ambiri. Popanda kupanga gulu, sitikadakhala ndi zothandizira zokwanira kuti tibweretse pulojekiti kwa wogwiritsa ntchito, ndiko kuti, kuti opanga chipani chachitatu ayambe kugwiritsa ntchito ntchitoyi.

Dera ndilofunika kwambiri pa ntchito yotseguka. Zimakuthandizani kuti muchepetse kwambiri ndalama zoyendetsera polojekiti, kukhazikitsa ndikuthandizira polojekiti. Titha kunena kuti popanda gulu palibe ntchito yotsegulira anthu onse.

Zambiri zalembedwa za momwe mungapangire ndikuwongolera gulu lotseguka la polojekiti. Kuti ndisafotokozenso zomwe zadziwika kale, ndiyesetsa kuyang'ana zomwe zinachitikira Embox. Mwachitsanzo, njira yopangira anthu ammudzi ndi nkhani yosangalatsa kwambiri. Ndiko kuti, ambiri amafotokoza momwe angayendetsere gulu lomwe liripo, koma nthawi zomwe zidapangidwa nthawi zina zimanyalanyazidwa, poganizira izi.

Lamulo lalikulu popanga gulu la polojekiti yotseguka ndikuti palibe malamulo. Ndikutanthauza kuti palibe malamulo apadziko lonse, monga ngati palibe chipolopolo cha siliva, ngati chifukwa chakuti mapulojekiti ndi osiyana kwambiri. Ndizokayikitsa kuti mutha kugwiritsa ntchito malamulo omwewo popanga gulu la library yodula mitengo ya js ndi madalaivala apadera kwambiri. Komanso, pazigawo zosiyanasiyana za chitukuko cha polojekiti (ndipo anthu ammudzi), malamulo amasintha.

Embox idayamba ngati pulojekiti ya ophunzira chifukwa inali ndi mwayi wopeza ophunzira ochokera ku dipatimenti yokonza mapulogalamu. Ndipotu, tinali kulowa m'dera lina. Titha kukhala ndi chidwi ndi omwe atenga nawo mbali mdera lino, ophunzira, muzochita zabwino zamafakitale muzapadera zawo, ntchito zasayansi pankhani yadongosolo ladongosolo, maphunziro ndi ma dipuloma. Ndiko kuti, tinatsatira limodzi mwa malamulo oyambirira okonzekera gulu: anthu ammudzi ayenera kulandira chinachake, ndipo mtengowu uyenera kugwirizana ndi zopereka za wophunzirayo.

Gawo lotsatira la Embox linali kusaka kwa ogwiritsa ntchito chipani chachitatu. Ndikofunika kwambiri kumvetsetsa kuti ogwiritsa ntchito ndi otenga nawo mbali pagulu la opensource. Nthawi zambiri pamakhala ogwiritsa ntchito ambiri kuposa opanga. Ndipo pofuna kukhala wothandiza pa ntchito, amayamba kuigwiritsa ntchito mwanjira ina.

Ogwiritsa ntchito oyamba a Embox anali dipatimenti ya Theoretical Cybernetics. Adapereka lingaliro kuti apange firmware ina ya Lego Mindstorm. Ndipo ngakhale awa anali ogwiritsa ntchito am'deralo (titha kukumana nawo pamasom'pamaso ndikukambirana zomwe akufuna). Koma chinali chokumana nacho chabwino kwambiri. Mwachitsanzo, tinapanga ma demos omwe angasonyezedwe kwa ena, chifukwa ma robot ndi osangalatsa komanso amakopa chidwi. Zotsatira zake, tinali ndi ogwiritsa ntchito a chipani chachitatu omwe adayamba kufunsa kuti Embox ndi chiyani komanso momwe angaigwiritsire ntchito.

Panthawiyi, tidayenera kuganizira zolembedwa, za njira zolankhulirana ndi ogwiritsa ntchito. Ayi, ndithudi, tinaganizirapo za zinthu zofunika zimenezi m’mbuyomo, koma zinali za msanga ndipo sizinapereke zotsatira zabwino. Zotsatira zake zinali zoipa. Ndiroleni ndikupatseni zitsanzo zingapo. Tidagwiritsa ntchito googlecode, yomwe wiki yake idathandizira zinenero zambiri. Tinapanga masamba m’zinenero zingapo, osati Chingelezi ndi Chirasha chokha, mmene tinali kulephera kulankhulana, komanso Chijeremani ndi Chisipanishi. Zotsatira zake, zikuwoneka zopusa kwambiri tikafunsidwa m'zilankhulo izi, koma sitingathe kuyankha konse. Kapena adayambitsa malamulo okhudza kulemba zolemba ndi kuyankha, koma popeza API idasintha pafupipafupi komanso mokulira, zidapezeka kuti zolemba zathu zidali zachikale ndipo zinali zosocheretsa kuposa momwe zidathandizira.

Chotsatira chake, zoyesayesa zathu zonse, ngakhale zolakwika, zinayambitsa maonekedwe a ogwiritsa ntchito akunja. Ndipo ngakhale kasitomala wamalonda adawonekera yemwe amafuna kuti RTOS yake ipangidwe kwa iye. Ndipo tidachikulitsa chifukwa tili ndi chidziwitso komanso maziko. Apa muyenera kulankhula za mphindi zabwino ndi zoipa. Ndiyamba ndi zoyipa. Popeza omanga ambiri adagwira nawo ntchitoyi pazamalonda, anthu ammudzi anali kale osakhazikika komanso ogawanika, zomwe sizikanatha kukhudza chitukuko cha polojekitiyi. Chinthu chinanso chinali chakuti chitsogozo cha polojekitiyi chinakhazikitsidwa ndi kasitomala mmodzi wamalonda, ndipo cholinga chake sichinali kupititsa patsogolo ntchitoyo. Osachepera ichi sichinali cholinga chachikulu.

Kumbali ina, panali mbali zingapo zabwino. Tili ndi ogwiritsa ntchito gulu lachitatu. Sikuti ndi makasitomala okha, komanso omwe dongosololi linapangidwira. Chilimbikitso chotenga nawo mbali pantchitoyi chawonjezeka. Kupatula apo, ngati mutha kupanganso ndalama kuchokera ku bizinesi yosangalatsa, zimakhala zabwino nthawi zonse. Ndipo chofunika kwambiri, tinamva chikhumbo chimodzi kuchokera kwa makasitomala, omwe panthawiyo ankawoneka ngati openga kwa ife, koma tsopano ndilo lingaliro lalikulu la Embox, ndilo kugwiritsa ntchito code yomwe yapangidwa kale mu dongosolo. Tsopano lingaliro lalikulu la Embox ndikugwiritsa ntchito pulogalamu ya Linux popanda Linux. Ndiko kuti, mbali yabwino kwambiri yomwe ikuthandizira kupititsa patsogolo ntchitoyo inali kuzindikira kuti polojekitiyi imagwiritsidwa ntchito ndi ogwiritsa ntchito ena, ndipo iyenera kuthetsa mavuto awo.

Panthawiyo, Embox anali atadutsa kale ntchito ya ophunzira. Cholepheretsa chachikulu pakukula kwa polojekitiyo molingana ndi chitsanzo cha ophunzira ndicho chilimbikitso cha omwe akutenga nawo mbali. Ophunzira amatenga nawo mbali pamene akuphunzira, ndipo akamaliza maphunziro, payenera kukhala zolimbikitsa zina. Ngati zolimbikitsa sizikuwoneka, wophunzira amangosiya kuchita nawo ntchitoyo. Ngati tiganizira kuti ophunzira amayenera kuphunzitsidwa poyamba, zimakhala kuti akamaliza maphunziro awo amakhala akatswiri abwino, koma zomwe amathandizira pa ntchitoyi, chifukwa cha sadziwa zambiri, sizili zazikulu kwambiri.

Kawirikawiri, timapita ku mfundo yaikulu yomwe imatilola kulankhula za kupanga polojekiti yotseguka - kupanga chinthu chomwe chingathetse mavuto a ogwiritsa ntchito. Monga ndafotokozera pamwambapa, chinthu chachikulu cha polojekiti ya opensource ndi dera lake. Komanso, anthu ammudzi ndi ogwiritsa ntchito. Koma zimachokera kuti pamene palibe chogwiritsira ntchito? Kotero zikuwoneka kuti, mofanana ndi pulojekiti yosatsegula, muyenera kuyang'ana pakupanga MVP (zogulitsa zochepa), ndipo ngati zingakhudze ogwiritsa ntchito, ndiye kuti anthu ammudzi adzawonekera kuzungulira polojekitiyi. Ngati mukupanga gulu kudzera pagulu la PR, kulemba wiki m'zilankhulo zonse zapadziko lapansi, kapena kuwongolera mayendedwe a git pa github, ndiye kuti izi sizingakhale zofunikira kumayambiriro kwa polojekitiyi. Zoonadi, pazigawo zoyenera izi sizofunikira zokha, komanso zinthu zofunika.

Pomaliza ndikufuna kunena ndemanga, m'malingaliro anga, kuwonetsa zoyembekeza za ogwiritsa ntchito kuchokera ku polojekiti yotseguka:

Ndikuganiza mozama za kusintha kwa OS iyi (osachepera yesani. Iwo akutsata mwachangu ndikuchita zinthu zabwino).

PS Pa Mtengo wa TechTrain Tikhala ndi malipoti ochuluka mpaka atatu. Chimodzi chokhudza gwero lotseguka ndi ziwiri za ophatikizidwa (ndipo chimodzi ndi chothandiza). Poyimilira tidzachititsa kalasi ya master pakupanga ma microcontrollers pogwiritsa ntchito Emboks. Monga mwachizolowezi, tidzabweretsa hardware ndikukulolani kuti muyikonze. Padzakhalanso kufufuza ndi ntchito zina. Bwerani ku chikondwererocho ndi kuyimirira kwathu, zidzakhala zosangalatsa.

Source: www.habr.com

Kuwonjezera ndemanga