Bii o ṣe le ṣẹda iṣẹ akanṣe orisun ṣiṣi

Bii o ṣe le ṣẹda iṣẹ akanṣe orisun ṣiṣiApejọ IT kan yoo waye ni St Petersburg ni ọsẹ yii TechTrain. Ọkan ninu awọn agbọrọsọ yoo jẹ Richard Stallman. Apoti tun ṣe alabapin ninu ajọdun, ati pe dajudaju a ko le foju koko ọrọ ti sọfitiwia ọfẹ. Ti o ni idi ti ọkan ninu awọn iroyin wa ni a npe ni “Lati awọn iṣẹ ọwọ ọmọ ile-iwe si awọn iṣẹ akanṣe ṣiṣi. Iriri apoti”. Yoo jẹ igbẹhin si itan-akọọlẹ idagbasoke Embox gẹgẹbi iṣẹ akanṣe orisun ṣiṣi. Ninu nkan yii Mo fẹ lati sọrọ nipa awọn imọran akọkọ ti, ninu ero mi, ni ipa lori idagbasoke awọn iṣẹ akanṣe ṣiṣi. Nkan naa, bii ijabọ naa, da lori iriri ti ara ẹni.

Jẹ ki a bẹrẹ pẹlu nkan ti o rọrun, pẹlu itumọ ọrọ opensource. O han ni, iṣẹ-ṣiṣe orisun ṣiṣi jẹ iṣẹ akanṣe ti o ni ọkan ninu awọn iwe-aṣẹ ti o fun laaye laaye si koodu orisun ti iṣẹ naa. Ni afikun, iṣẹ akanṣe kan tumọ si pe awọn olupilẹṣẹ ẹnikẹta le ṣe awọn ayipada. Iyẹn ni, ti ile-iṣẹ kan tabi olupilẹṣẹ ṣe atẹjade koodu ọja rẹ, ni apakan tabi patapata, eyi ko sibẹsibẹ jẹ ki ọja yii jẹ iṣẹ akanṣe ṣiṣi. Ati nikẹhin, iṣẹ akanṣe eyikeyi gbọdọ ja si iru abajade, ati ṣiṣi ti iṣẹ akanṣe tumọ si pe abajade yii kii ṣe nipasẹ awọn olupilẹṣẹ funrararẹ.

A kii yoo fi ọwọ kan awọn iṣoro ti awọn iwe-aṣẹ ṣiṣi. Eyi tobi ju ati idiju koko kan ti o nilo iwadii inu-jinlẹ. Ọpọlọpọ awọn nkan ti o dara ati awọn ohun elo ni a ti kọ lori koko yii. Ṣugbọn niwọn bi Emi tikarami kii ṣe amoye ni aaye ti aṣẹ lori ara, Emi yoo sọ nikan pe iwe-aṣẹ gbọdọ pade awọn ibi-afẹde ti iṣẹ akanṣe naa. Fun apẹẹrẹ, fun Embox yiyan BSD dipo iwe-aṣẹ GPL kii ṣe lairotẹlẹ.

Otitọ pe iṣẹ akanṣe orisun ṣiṣi yẹ ki o pese agbara lati ṣe awọn ayipada ati ni ipa lori idagbasoke iṣẹ-ṣiṣe orisun ṣiṣi tumọ si pe a pin iṣẹ akanṣe naa. Ṣiṣakoso rẹ, mimu iduroṣinṣin ati iṣẹ ṣiṣe jẹ diẹ sii nira pupọ ni akawe si iṣẹ akanṣe kan pẹlu iṣakoso aarin. Ibeere ti o ni imọran waye: kilode ti awọn iṣẹ-ṣiṣe ṣii ni gbogbo? Idahun si wa ni agbegbe ti iṣeeṣe iṣowo; Iyẹn ni, ko dara fun gbogbo awọn iṣẹ akanṣe ati pe ọna ṣiṣi jẹ itẹwọgba gbogbogbo. Fun apẹẹrẹ, o nira lati fojuinu idagbasoke eto iṣakoso fun ile-iṣẹ agbara tabi ọkọ ofurufu ti o da lori ipilẹ ṣiṣi. Rara, nitorinaa, iru awọn ọna ṣiṣe yẹ ki o pẹlu awọn modulu ti o da lori awọn iṣẹ akanṣe, nitori eyi yoo pese nọmba awọn anfani. Ṣugbọn ẹnikan gbọdọ jẹ iduro fun ọja ikẹhin. Paapaa ti eto naa ba da lori koodu ti awọn iṣẹ akanṣe ṣiṣi, olupilẹṣẹ, ti ṣajọ ohun gbogbo sinu eto kan ati ṣe awọn ipilẹ ati awọn eto pato, ni pataki tilekun. Awọn koodu le wa ni gbangba.

Awọn anfani pupọ tun wa fun awọn ọna ṣiṣe wọnyi lati ṣiṣẹda tabi idasi si awọn iṣẹ akanṣe orisun. Gẹgẹbi Mo ti sọ tẹlẹ, koodu eto ipari le wa ni gbangba. Kilode, nitori pe o han gbangba pe ko ṣeeṣe pe ẹnikẹni yoo ni ọkọ ofurufu kanna lati ṣe idanwo eto naa. Eyi jẹ otitọ, ṣugbọn ẹnikan le wa daradara ti o fẹ lati ṣayẹwo awọn apakan kan ti koodu, tabi, fun apẹẹrẹ, ẹnikan le rii pe ile-ikawe ti a lo ko ni tunto ni deede.

Anfaani nla paapaa han ti ile-iṣẹ ba pin diẹ ninu apakan ipilẹ ti eto naa sinu iṣẹ akanṣe lọtọ. Fun apẹẹrẹ, ile-ikawe kan lati ṣe atilẹyin iru ilana paṣipaarọ data kan. Ni ọran yii, paapaa ti ilana naa ba jẹ pato si agbegbe koko-ọrọ ti a fun, o le pin awọn idiyele ti mimu nkan yii ti eto naa pẹlu awọn ile-iṣẹ miiran lati agbegbe yii. Ni afikun, awọn alamọja ti o le ṣe iwadi nkan ti eto naa ni agbegbe gbogbogbo nilo akoko ti o dinku pupọ lati lo ni imunadoko. Ati nikẹhin, yiya sọtọ nkan kan si nkan ti ominira ti awọn olupilẹṣẹ ẹni-kẹta lo gba wa laaye lati jẹ ki apakan yii dara julọ, nitori a nilo lati pese awọn API ti o munadoko, ṣẹda iwe, ati pe Emi ko paapaa sọrọ nipa imudarasi agbegbe idanwo.

Ile-iṣẹ le gba awọn anfani iṣowo laisi ṣiṣẹda awọn iṣẹ akanṣe-ìmọ; o to fun awọn alamọja rẹ lati kopa ninu awọn iṣẹ akanṣe ẹnikẹta ti a lo ninu ile-iṣẹ naa. Lẹhinna, gbogbo awọn anfani wa: awọn oṣiṣẹ mọ iṣẹ naa daradara, nitorinaa wọn lo diẹ sii ni imunadoko, ile-iṣẹ naa le ni ipa ni itọsọna ti idagbasoke iṣẹ akanṣe, ati lilo awọn koodu ti a ti ṣetan, ti n ṣatunṣe aṣiṣe han o dinku awọn idiyele ile-iṣẹ naa.

Awọn anfani ti ṣiṣẹda awọn iṣẹ akanṣe ṣiṣii ko pari nibẹ. Jẹ ki a mu iru ẹya pataki ti iṣowo bi tita. Fun u, eyi jẹ apoti iyanrin ti o dara pupọ ti o fun laaye laaye lati ṣe iṣiro awọn ibeere ọja ni imunadoko.

Ati pe nitorinaa, a ko gbọdọ gbagbe pe iṣẹ akanṣe ṣiṣii jẹ ọna ti o munadoko lati kede ararẹ bi olutaja ti eyikeyi amọja. Ni awọn igba miiran, eyi ni ọna kan ṣoṣo lati wọ ọja naa. Fun apẹẹrẹ, Embox bẹrẹ bi iṣẹ akanṣe lati ṣẹda RTOS kan. Boya ko si ye lati ṣe alaye pe ọpọlọpọ awọn oludije wa. Laisi ṣiṣẹda agbegbe kan, a ko ni ni awọn orisun to lati mu iṣẹ akanṣe wa si olumulo ipari, iyẹn ni, fun awọn olupolowo ẹni-kẹta lati bẹrẹ lilo iṣẹ naa.

Agbegbe jẹ bọtini ni iṣẹ-ṣiṣe orisun ṣiṣi. O gba ọ laaye lati dinku awọn idiyele iṣakoso iṣẹ akanṣe, dagbasoke ati ṣe atilẹyin iṣẹ akanṣe naa. A le sọ pe laisi agbegbe ko si iṣẹ akanṣe ṣiṣi silẹ rara.

Pupọ ohun elo ni a ti kọ nipa bii o ṣe le ṣẹda ati ṣakoso agbegbe iṣẹ akanṣe orisun ṣiṣi. Ni ibere ki o má ba tun sọ awọn otitọ ti a ti mọ tẹlẹ, Emi yoo gbiyanju lati dojukọ iriri ti Embox. Fun apẹẹrẹ, ilana ti ṣiṣẹda agbegbe jẹ ọrọ ti o nifẹ pupọ. Iyẹn ni, ọpọlọpọ sọ bi o ṣe le ṣakoso agbegbe ti o wa tẹlẹ, ṣugbọn awọn akoko ti ẹda rẹ ni a maṣe akiyesi nigbakan, ni akiyesi eyi ti a fun.

Ofin akọkọ nigba ṣiṣẹda agbegbe iṣẹ akanṣe orisun ni pe ko si awọn ofin. Mo tumọ si pe ko si awọn ofin gbogbo agbaye, gẹgẹ bi ko si ọta ibọn fadaka, ti o ba jẹ pe nitori awọn iṣẹ akanṣe yatọ pupọ. Ko ṣee ṣe pe o le lo awọn ofin kanna nigbati o ṣẹda agbegbe kan fun ile-ikawe gedu js ati diẹ ninu awakọ amọja pataki. Pẹlupẹlu, ni awọn ipele oriṣiriṣi ti idagbasoke ise agbese (ati nitori naa agbegbe), awọn ofin yipada.

Embox bẹrẹ bi iṣẹ akanṣe ọmọ ile-iwe nitori o ni iraye si awọn ọmọ ile-iwe lati ẹka siseto awọn eto. Ni otitọ, a n wọle si agbegbe miiran. A le nifẹ si awọn olukopa ti agbegbe yii, awọn ọmọ ile-iwe, ni adaṣe ile-iṣẹ to dara ni pataki wọn, iṣẹ imọ-jinlẹ ni aaye ti siseto eto, iṣẹ ikẹkọ ati awọn iwe-ẹkọ giga. Iyẹn ni, a tẹle ọkan ninu awọn ofin ipilẹ ti siseto agbegbe kan: awọn ọmọ ẹgbẹ agbegbe gbọdọ gba nkan kan, ati pe idiyele yii gbọdọ ni ibamu si ilowosi alabaṣe.

Ipele ti o tẹle fun Embox ni wiwa fun awọn olumulo ẹnikẹta. O ṣe pataki pupọ lati ni oye pe awọn olumulo jẹ olukopa ni kikun ni agbegbe ṣiṣi orisun. Nibẹ ni o wa maa siwaju sii awọn olumulo ju kóòdù. Ati pe lati fẹ lati di oluranlọwọ si iṣẹ akanṣe kan, wọn kọkọ bẹrẹ lati lo ni ọna kan tabi omiiran.

Awọn olumulo akọkọ ti Embox jẹ Ẹka ti Cybernetics Theoretical. Wọn daba ṣiṣẹda famuwia yiyan fun Lego Mindstorm. Ati biotilejepe awọn wọnyi tun jẹ awọn olumulo agbegbe (a le pade wọn ni eniyan ati jiroro ohun ti wọn fẹ). Ṣugbọn o tun jẹ iriri ti o dara pupọ. Fun apẹẹrẹ, a ni idagbasoke demos ti o le han si elomiran, nitori roboti ni o wa fun ati ki o fa akiyesi. Bi abajade, a ni nitootọ awọn olumulo ẹnikẹta ti o bẹrẹ lati beere kini Embox jẹ ati bii o ṣe le lo.

Ni ipele yii, a ni lati ronu nipa iwe, nipa awọn ọna ibaraẹnisọrọ pẹlu awọn olumulo. Lala, na nugbo tọn, mí ko lẹnnupọndo onú titengbe ehelẹ ji jẹnukọn, ṣigba e ko whẹ́n bo ma na tindo nuyiwadomẹji dagbe de. Ipa jẹ dipo odi. Jẹ ki n fun ọ ni apẹẹrẹ meji. A lo googlecode, ẹniti wiki ṣe atilẹyin multilingualism. A ṣẹda awọn oju-iwe ni awọn ede pupọ, kii ṣe Gẹẹsi ati Russian nikan, ninu eyiti a ko le ṣe ibasọrọ, ṣugbọn tun jẹ German ati Spani. Bi abajade, o dabi ẹgan pupọ nigbati a beere ni awọn ede wọnyi, ṣugbọn a ko le dahun rara. Tabi wọn ṣe agbekalẹ awọn ofin nipa kikọ iwe ati asọye, ṣugbọn niwọn igba ti API ti yipada ni igbagbogbo ati ni pataki, o han pe iwe-ipamọ wa ti igba atijọ ati pe o jẹ ṣinalọna diẹ sii ju iranlọwọ lọ.

Bi abajade, gbogbo awọn igbiyanju wa, paapaa awọn ti ko tọ, yori si ifarahan awọn olumulo ita. Ati paapaa alabara iṣowo kan han ti o fẹ ki RTOS tirẹ ni idagbasoke fun u. Ati pe a ni idagbasoke nitori pe a ni iriri ati diẹ ninu awọn iṣẹ ipilẹ. Nibi o nilo lati sọrọ nipa mejeeji awọn akoko ti o dara ati buburu. Emi yoo bẹrẹ pẹlu awọn buburu. Niwọn igba ti ọpọlọpọ awọn olupilẹṣẹ ti kopa ninu iṣẹ akanṣe yii lori ipilẹ iṣowo, agbegbe ti jẹ riru tẹlẹ ati pin, eyiti ko le ṣe ṣugbọn ni ipa lori idagbasoke iṣẹ naa. Ohun afikun ni pe itọsọna ti ise agbese na ni a ṣeto nipasẹ alabara iṣowo kan, ati pe ipinnu rẹ kii ṣe idagbasoke siwaju sii ti iṣẹ naa. O kere ju eyi kii ṣe ibi-afẹde akọkọ.

Lori awọn miiran ọwọ, nibẹ wà nọmba kan ti rere aaye. A ni iwongba ti ẹni-kẹta awọn olumulo. Kii ṣe alabara nikan, ṣugbọn awọn ti a pinnu fun eto yii. Iwuri lati kopa ninu iṣẹ naa ti pọ si. Lẹhinna, ti o ba tun le ṣe owo lati iṣowo ti o nifẹ, o dara nigbagbogbo. Ati ni pataki julọ, a gbọ ifẹ kan lati ọdọ awọn alabara, eyiti o dabi ẹni pe ni akoko yẹn aṣiwere si wa, ṣugbọn eyiti o jẹ imọran akọkọ ti Embox, eyun, lati lo koodu ti o ti dagbasoke tẹlẹ ninu eto naa. Bayi ero akọkọ ti Embox ni lati lo sọfitiwia Linux laisi Linux. Iyẹn ni, abala rere akọkọ ti o ṣe idasi si idagbasoke siwaju si iṣẹ akanṣe naa ni mimọ pe iṣẹ akanṣe naa jẹ lilo nipasẹ awọn olumulo ẹnikẹta, ati pe o yẹ ki o yanju diẹ ninu awọn iṣoro wọn.

Ni akoko yẹn, Embox ti lọ kọja ipari ti iṣẹ akanṣe ọmọ ile-iwe kan. Ifilelẹ ifilelẹ akọkọ ni idagbasoke iṣẹ akanṣe gẹgẹbi awoṣe ọmọ ile-iwe jẹ iwuri ti awọn olukopa. Awọn ọmọ ile-iwe kopa lakoko ti wọn n kẹkọ, ati nigbati wọn pari ile-iwe, iwuri ti o yatọ yẹ ki o wa. Ti iwuri ko ba han, ọmọ ile-iwe kan da duro kopa ninu iṣẹ akanṣe naa. Ti a ba ṣe akiyesi pe awọn ọmọ ile-iwe nilo lati kọkọ kọkọ, o han pe wọn di awọn alamọja ti o dara ni akoko ti wọn pari ile-ẹkọ giga, ṣugbọn ilowosi wọn si iṣẹ akanṣe naa, nitori airi, ko tobi pupọ.

Ni gbogbogbo, a lọ laisiyonu si aaye akọkọ ti o fun wa laaye lati sọrọ nipa ṣiṣẹda iṣẹ akanṣe ṣiṣi - ṣiṣẹda ọja kan ti yoo yanju awọn iṣoro ti awọn olumulo rẹ. Gẹgẹbi Mo ti ṣalaye loke, ohun-ini akọkọ ti iṣẹ akanṣe ṣiṣii ni agbegbe rẹ. Pẹlupẹlu, awọn ọmọ ẹgbẹ agbegbe jẹ awọn olumulo akọkọ. Ṣugbọn nibo ni wọn ti wa nigbati ko si nkankan lati lo? Nitorina o wa ni pe, gẹgẹbi pẹlu iṣẹ-ṣiṣe ti kii ṣe ṣiṣi silẹ, o nilo lati dojukọ lori ṣiṣẹda MVP kan (ọja ti o le yanju), ati pe ti o ba nifẹ awọn olumulo, lẹhinna agbegbe kan yoo han ni ayika iṣẹ naa. Ti o ba n ṣiṣẹ ni ṣiṣẹda agbegbe kan nikan nipasẹ PR agbegbe, kikọ wiki ni gbogbo awọn ede agbaye, tabi ṣiṣatunṣe iṣiṣẹ git lori github, lẹhinna eyi ko ṣeeṣe lati ṣe pataki ni awọn ipele ibẹrẹ ti iṣẹ akanṣe naa. Nitoribẹẹ, ni awọn ipele ti o yẹ awọn wọnyi kii ṣe pataki nikan, ṣugbọn awọn nkan pataki.

Ni ipari Emi yoo fẹ lati tọka si asọye, ni ero mi, ti n ṣe afihan awọn ireti olumulo lati iṣẹ-ṣiṣe orisun ṣiṣi:

Mo n lerongba nipa a yipada si yi OS (ni o kere gbiyanju. Wọn ti wa ni actively lepa o ati ki o ṣe itura ohun).

PS Lori TechTrain A yoo ni bi ọpọlọpọ bi awọn iroyin mẹta. Ọkan nipa ìmọ orisun ati meji nipa ifibọ (ati ọkan jẹ wulo). Ni imurasilẹ a yoo ṣe kilasi titunto si lori siseto microcontrollers lilo Apoti. Gẹgẹbi igbagbogbo, a yoo mu ohun elo wa ki o jẹ ki o ṣe eto rẹ. Ibere ​​ati awọn iṣẹ miiran yoo tun wa. Wa si ajọdun ati iduro wa, yoo jẹ igbadun.

orisun: www.habr.com

Fi ọrọìwòye kun