Meriv çawa projeyek çavkaniyek vekirî biafirîne

Meriv çawa projeyek çavkaniyek vekirî biafirîneWê vê hefteyê li St TechTrain. Yek ji axaftvanan dê Richard Stallman be. Embox jî beşdarî festîvalê dibe, û helbet me nikarîbû mijara nivîsbariya azad paşguh bikira. Ji ber vê yekê yek ji raporên me tê gotin "Ji hunerên xwendekaran bigire heya projeyên çavkaniya vekirî. Tecrûbeya Embox". Ew ê ji dîroka pêşkeftina Embox re wekî projeyek çavkaniyek vekirî were veqetandin. Di vê gotarê de ez dixwazim li ser ramanên sereke biaxivim ku, bi dîtina min, bandorê li pêşkeftina projeyên çavkaniya vekirî dikin. Gotar, mîna raporê, li ser ezmûna kesane ye.

Ka em bi tiştek hêsan, bi pênasekirina peyva çavkaniya vekirî dest pê bikin. Eşkere ye, projeyek çavkaniyek vekirî projeyek e ku yek ji wan lîsansan e ku destûrê dide gihandina koda çavkaniyê ya projeyê. Wekî din, projeyek vekirî tê vê wateyê ku pêşdebirên partiya sêyemîn dikarin guhertinan bikin. Ango, heke hin pargîdanî an pêşdebir koda hilberê xwe, qismî an bi tevahî çap bike, ev hîna vê hilberê nake projeyek çavkaniya vekirî. Û di dawiyê de, her çalakiya projeyek pêdivî ye ku bibe sedema encamek, û vebûna projeyê tê vê wateyê ku ev encam ne tenê ji hêla pêşdebiran bixwe ve tê bikar anîn.

Em ê dest nedin pirsgirêkên lîsansên vekirî. Ev mijarek pir mezin û tevlihev e ku lêkolînek kûr hewce dike. Li ser vê mijarê gelek gotar û materyalên baş hatine nivîsandin. Lê ji ber ku ez bi xwe ne pisporê warê mafê telîfê me, ez ê tenê bibêjim ku divê lîsans bigihîje armancên projeyê. Mînakî, ji bo Embox bijartina BSD li şûna destûrnameyek GPL ne tesadufî bû.

Rastiya ku projeyek çavkaniyek vekirî divê şiyana çêkirina guhertinan peyda bike û bandorê li pêşkeftina projeya çavkaniya vekirî bike, tê vê wateyê ku proje tê belav kirin. Birêvebirina wê, domandina yekitî û performansê li gorî projeyek bi rêveberiya navendî pir dijwartir e. Pirsek maqûl derdikeve holê: çima bi tevahî projeyên vekirî ne? Bersiv di warê fizibilîteya bazirganî de ye; ji bo çînek projeyan, feydeyên vê nêzîkatiyê ji lêçûn zêdetir in. Ango ji bo hemî projeyan ne guncaw e û nêzîkatiyek vekirî bi gelemperî tê pejirandin. Mînakî, dijwar e ku meriv bifikire ku li ser prensîbek vekirî pergala kontrolê ya santralek an balafirek pêşve bibe. Na, bê guman, pergalên weha pêdivî ye ku modulên li ser bingeha projeyên vekirî vehewînin, ji ber ku ev ê çend avantajan peyda bike. Lê divê kesek ji hilbera dawîn berpirsiyar be. Tewra ku pergal bi tevahî li ser koda projeyên vekirî be jî, pêşdebir, ku her tişt li yek pergalê pak kiriye û avahî û mîhengên taybetî çêkiriye, bi bingehîn wê digire. Dibe ku kod ji raya giştî re peyda bibe.

Di heman demê de ji bo van pergalan ji afirandina an beşdarîkirina projeyên çavkaniya vekirî jî gelek feydeyên wan hene. Wekî ku min berê jî got, dibe ku koda pergala paşîn bi gelemperî berdest bimîne. Çima, ji ber ku eşkere ye ku ne mimkûn e ku kesek heman balafirê hebe ku pergalê ceribandinê bike. Ev rast e, lê dibe ku kesek hebe ku bixwaze hin beşên kodê kontrol bike, an, mînakî, kesek dikare bibîne ku pirtûkxaneya ku tê bikar anîn bi rengek rast nehatiye mîheng kirin.

Ger pargîdanî beşek bingehîn a pergalê di projeyek cûda de veqetîne feydeyek hê mezintir xuya dike. Mînakî, pirtûkxaneyek ku hin celeb protokola danûstendina daneyê piştgirî dike. Di vê rewşê de, her çend protokol ji bo herêmek mijarek diyarkirî be jî, hûn dikarin lêçûnên domandina vê perçê pergalê bi pargîdaniyên din ên vê deverê re parve bikin. Digel vê yekê, pisporên ku dikarin vê perçeyê pergalê di qada gelemperî de lêkolîn bikin, ji bo ku wê bi bandor bikar bînin demek hindiktir hewce dikin. Û di dawiyê de, veqetandina perçeyek nav saziyek serbixwe ya ku pêşdebirên partiya sêyemîn bikar tînin dihêle ku em vê beşê çêtir bikin, ji ber ku em hewce ne ku API-yên bi bandor pêşkêşî bikin, belgeyan biafirînin, û ez tewra behsa başkirina vegirtina testê nakim.

Pargîdanek dikare bêyî afirandina projeyên çavkaniya vekirî sûdên bazirganî werbigire; bes e ku pisporên wê beşdarî projeyên sêyemîn ên ku di pargîdaniyê de têne bikar anîn bibin. Beriya her tiştî, hemî feyde dimînin: karmend projeyê çêtir nas dikin, ji ber vê yekê ew wê bi bandortir bikar tînin, pargîdanî dikare bandorê li ser rêça pêşkeftina projeyê bike, û karanîna koda amade, debugged eşkere lêçûnên pargîdaniyê kêm dike.

Feydeyên afirandina projeyên çavkaniya vekirî li wir naqede. Werin em beşek girîng a karsaziyê wekî kirrûbirrê bigirin. Ji bo wî, ev sandboxek pir baş e ku dihêle ku ew bi bandor daxwazên bazarê binirxîne.

Û bê guman, divê em ji bîr nekin ku projeyek çavkaniyek vekirî rêyek bi bandor e ku hûn xwe wekî hilgirê her pisporiyê îlan bikin. Di hin rewşan de, ev riya yekane ye ku meriv bikeve bazarê. Mînakî, Embox wekî projeyek ji bo afirandina RTOS dest pê kir. Dibe ku ne hewce ye ku were ravekirin ku gelek hevrik hene. Bêyî afirandina civakek, em ê tenê çavkaniyên têr nebûna ku projeyê bigihînin bikarhênerê dawî, ango ji bo pêşdebirên sêyemîn dest bi karanîna projeyê bikin.

Civak di projeyek çavkaniya vekirî de sereke ye. Ew dihêle hûn bi girîngî lêçûnên rêveberiya projeyê kêm bikin, projeyê pêşve bibin û piştgirî bikin. Em dikarin bibêjin ku bêyî civak bi tevahî projeyek çavkaniya vekirî tune.

Di derbarê çawaniya afirandina û rêvebirina civatek projeya çavkaniya vekirî de gelek materyal hatine nivîsandin. Ji bo ku ez rastiyên jixwe naskirî ji nû ve nebêjim, ez ê hewl bidim ku balê bikişînim ser ezmûna Embox. Mînak pêvajoya avakirina civakekê mijareke pir balkêş e. Ango gelek kes dibêjin meriv civakek heyî çawa bi rêve dibe, lê demên afirandina wê carinan têne paşguh kirin, vê yekê wekî diyariyek dihesibînin.

Rêbaza sereke dema afirandina civatek projeya vekirî ev e ku rêgez tune. Yanî tu qaîdeyên gerdûnî tune ne, mîna ku guleyek zîv tune, heke tenê ji ber ku proje pir cûda ne. Ne mimkûn e ku hûn dema ku civatek ji bo pirtûkxaneyek têketinê ya js û hin ajokerek pir pispor diafirînin heman qaîdeyan bikar bînin. Digel vê yekê, di qonaxên cûda yên pêşkeftina projeyê (û ji ber vê yekê civakê), qaîdeyên diguhezin.

Embox wekî projeyek xwendekar dest pê kir ji ber ku ew gihîştina xwendekaran ji beşa bernameya pergalê. Bi rastî, em di nav civatek din de bûn. Em dikarin beşdarên vê civatê, xwendekaran, bi pratîka pîşesazî ya baş di pisporiya xwe de, xebatên zanistî yên di warê bernamesaziya pergalê, qurs û dîplomeyan de eleqedar bikin. Ango, me yek ji rêgezên bingehîn ên birêxistinkirina civatekê şopand: Divê endamên civakê tiştek wergirin, û ev biha divê bi beşdariya beşdaran re têkildar be.

Qonaxa din ji bo Embox lêgerîna bikarhênerên sêyemîn bû. Pir girîng e ku meriv fêm bike ku bikarhêner beşdarî civata çavkaniya vekirî ne. Bi gelemperî ji pêşdebiran bêtir bikarhêner hene. Û ji bo ku bixwazin bibin alîkarê projeyekê, ew pêşî dest bi karanîna wê bi rengekî an din dikin.

Bikarhênerên yekem ên Embox Wezareta Sîbernetîka Teorîk bûn. Wan pêşniyar kir ku ji bo Lego Mindstorm firmwareyek alternatîf çêbikin. Û her çend ev hîn jî bikarhênerên herêmî bûn (em dikaribûn bi wan re bi kesane re hevdîtin bikin û li ser tiştên ku ew dixwazin nîqaş bikin). Lê dîsa jî ezmûnek pir baş bû. Mînakî, me demo pêşve xistin ku dikarin ji yên din re werin nîşan kirin, ji ber ku robot kêfxweş in û balê dikişînin. Wekî encamek, me bikarhênerên bi rastî sêyemîn-ê ku dest pê kir pirsîn ka Embox çi ye û meriv wê çawa bikar tîne.

Di vê qonaxê de, divê em li ser belgekirinê, li ser rêgezên ragihandinê yên bi bikarhêneran re bifikirin. Na, helbet me berê jî li ser van tiştên girîng fikirîbû, lê zû bû û bandorek erênî neda. Bandor bi rengek neyînî bû. Ez çend mînakan bidim we. Me googlecode bikar anî, ku wikiya wê pirzimanî piştgirî dikir. Me rûpelên bi çend zimanan, ne tenê îngilîzî û rûsî, yên ku me bi zehmetî dikaribû pêwendiyê pê re çêbike, lê her weha almanî û spanî jî çêkir. Di encamê de dema ku bi van zimanan tê pirsîn pir pêkenok xuya dike, lê em qet nikarin bersiv bidin. An jî wan qaîdeyên di derbarê nivîsandina belge û şîrovekirinê de destnîşan kirin, lê ji ber ku API pir caran û bi girîngî guherî, derket holê ku belgeyên me kevnar bû û ji arîkariya wê bêtir xapandin bû.

Wekî encamek, hemî hewildanên me, hetta yên xelet, bûn sedema xuyangkirina bikarhênerên derveyî. Û tewra xerîdarek bazirganî jî xuya bû ku dixwest RTOS-a xwe ji bo wî were pêşve xistin. Û me ew pêş xist ji ber ku em xwedî ezmûn û hin zemîn in. Li vir hûn hewce ne ku hem li ser demên baş û hem jî yên xirab biaxivin. Ez ê bi yên xerab dest pê bikim. Ji ber ku gelek pêşdebiran li ser bingehek bazirganî beşdarî vê projeyê bûn, civak jixwe pir ne aram û dabeş bû, ku bê guman nekare bandorê li pêşkeftina projeyê bike. Faktorek din jî ev bû ku rêwerziya projeyê ji hêla xerîdarek bazirganî ve hatî danîn, û armanca wî ne pêşdebirina projeyê bû. Bi kêmanî ev ne armanca sereke bû.

Li aliyê din jî gelek aliyên erênî hebûn. Me bi rastî bikarhênerên partiya sêyem girt. Ew ne tenê xerîdar, lê di heman demê de yên ku ev pergal ji wan re hatî armanc kirin jî bû. Motîvasyona beşdarbûna projeyê zêde bûye. Beriya her tiştî, heke hûn dikarin ji karsaziyek balkêş jî drav bidin, ew her gav xweş e. Û ya herî girîng, me xwestekek ji xerîdaran bihîst, ku di wê demê de ji me re dîn dixuya, lê ya ku naha ramana sereke ya Embox-ê ye, ango, karanîna koda jixwe pêşkeftî di pergalê de. Naha ramana sereke ya Embox ev e ku meriv nermalava Linux bêyî Linux bikar bîne. Ango, aliyek erênî ya bingehîn a ku beşdarî pêşkeftina pêşdetir ya projeyê bû, têgihîştina ku proje ji hêla bikarhênerên sêyemîn ve tê bikar anîn, û divê ew hin pirsgirêkên wan çareser bike.

Di wê demê de, Embox berê xwe ji çarçoweya projeyek xwendekar derbas kiribû. Di pêşkeftina projeyê de li gorî modela xwendekar faktora sînordar a sereke motîvasyona beşdaran e. Xwendekar dema ku dixwînin beşdar dibin, û gava ku ew mezûn dibin, divê motîvasyonek cûda hebe. Ger motîvasyon xuya nebe, xwendekar bi tenê beşdarî projeyê disekine. Ger em li ber çavan bigirin ku xwendekar pêşî hewce ne ku werin perwerde kirin, derdikeve holê ku ew dema mezûn dibin dibin pisporên baş, lê tevkariya wan di projeyê de, ji ber bêtecrubeyê, ne pir mezin e.

Bi gelemperî, em bi rêkûpêk diçin ser xala sereke ya ku destûrê dide me ku em li ser afirandina projeyek çavkaniya vekirî biaxivin - afirandina hilberek ku dê pirsgirêkên bikarhênerên xwe çareser bike. Wekî ku min li jor rave kir, taybetmendiya sereke ya projeyek çavkaniya vekirî civata wê ye. Wekî din, endamên civakê di serî de bikarhêner in. Lê gava ku tiştek tune ku bikar bînin ew ji ku derê têne? Ji ber vê yekê derdikeve holê ku, mîna projeyek ne-vekirî, hûn hewce ne ku balê bikişînin ser afirandina MVP (hilberek herî kêm a guncan), û heke ew bikarhêneran eleqedar bike, wê hingê civakek dê li dora projeyê xuya bibe. Ger hûn tenê bi riya PR-ya civakê, bi nivîsandina wiki-yek bi hemî zimanên cîhanê ve mijûl in, an jî xebata git-ê li ser github rast bikin, wê hingê ev ne gengaz e ku di qonaxên destpêkê yên projeyê de girîng be. Bê guman, di qonaxên guncan de ev ne tenê girîng in, di heman demê de tiştên pêwîst in.

Di encamê de ez dixwazim destnîşan bikim şîrove, bi dîtina min, hêviyên bikarhêner ji projeyek çavkaniya vekirî nîşan dide:

Ez bi ciddî li ser veguheztina vê OS-ê difikirîm (kêmtir biceribîne. Ew bi awayekî aktîf li pey wê ne û tiştên xweş dikin).

PS Li ser TechTrain Bi qasî sê raporên me dê hebin. Yek li ser çavkaniya vekirî û du jî li ser pêvekirî (û yek pratîk e). Li standê em ê dersa masterê li ser bernamekirina mîkrokontrolleran bi kar bînin Embox. Wekî her car, em ê hardware bînin û bihêlin hûn wê bername bikin. Her wiha dê lêgerîn û çalakiyên din jî hebin. Werin mîhrîcan û standa me, ew ê kêfxweş bibe.

Source: www.habr.com

Add a comment