Ki jan yo kreye yon pwojè sous louvri

Ki jan yo kreye yon pwojè sous louvriYon festival IT pral fèt nan Saint Petersburg semèn sa a TechTrain. Youn nan oratè yo pral Richard Stallman. Embox tou patisipe nan festival la, ak nan kou nou pa t 'kapab inyore sijè a nan lojisyèl gratis. Se poutèt sa youn nan rapò nou yo rele “Soti nan atizana elèv yo rive nan pwojè opensource. Embbox eksperyans". Li pral dedye a istwa devlopman Embbox kòm yon pwojè sous louvri. Nan atik sa a mwen vle pale sou lide prensipal yo ki, nan opinyon mwen, enfliyanse devlopman nan pwojè opensource. Atik la, tankou rapò a, baze sou eksperyans pèsonèl.

Ann kòmanse ak yon bagay ki senp, ak definisyon an nan tèm nan opensource. Li evidan, yon pwojè sous louvri se yon pwojè ki gen youn nan lisans ki pèmèt aksè nan kòd sous pwojè a. Anplis de sa, yon pwojè louvri vle di ke devlopè twazyèm pati ka fè chanjman. Sa vle di, si kèk konpayi oswa pwomotè pibliye kòd pwodwi li yo, pasyèlman oswa konplètman, sa a poko fè pwodui sa a yon pwojè opensource. Epi finalman, nenpòt aktivite pwojè dwe mennen nan kèk kalite rezilta, ak ouvèti a nan pwojè a implique ke rezilta sa a se itilize pa sèlman pa devlopè yo tèt yo.

Nou pa pral manyen pwoblèm ki genyen nan lisans ouvè. Sa a twò gwo ak konplèks yon sijè ki mande ankèt apwofondi. Yo te ekri anpil bon atik ak materyèl sou sijè sa a. Men, depi mwen menm mwen pa yon ekspè nan domèn copyright, mwen pral sèlman di ke lisans lan dwe satisfè objektif yo nan pwojè a. Pou egzanp, pou Embbox chwa yon BSD olye ke yon lisans GPL pa t aksidan.

Lefèt ke yon pwojè sous louvri ta dwe bay kapasite nan fè chanjman ak enfliyanse devlopman nan pwojè a sous louvri implique ke pwojè a distribye. Jere li, kenbe entegrite ak pèfòmans se pi difisil konpare ak yon pwojè ak jesyon santralize. Yon kesyon rezonab rive: poukisa pwojè louvri nan tout? Repons lan manti nan zòn nan nan posibilite komèsyal; pou yon sèten klas nan pwojè, benefis ki genyen nan apwòch sa a depase depans yo. Sa vle di, li pa apwopriye pou tout pwojè ak yon apwòch ouvè jeneralman akseptab. Pou egzanp, li difisil imajine devlope yon sistèm kontwòl pou yon plant elektrik oswa yon avyon ki baze sou yon prensip ouvè. Non, nan kou, sistèm sa yo ta dwe gen ladan modil ki baze sou pwojè louvri, paske sa a pral bay yon kantite avantaj. Men, yon moun dwe responsab pou pwodwi final la. Menm si sistèm nan konplètman baze sou kòd la nan pwojè louvri, pwomotè a, li te pake tout bagay nan yon sèl sistèm ak fè bati espesifik ak anviwònman, esansyèlman fèmen li. Kòd la ka disponib piblikman.

Genyen tou yon anpil nan benefis pou sistèm sa yo nan kreye oswa kontribye nan pwojè sous louvri. Kòm mwen te deja di, kòd sistèm nan fen ka rete piblikman disponib. Poukisa, paske li evidan ke li se fasil ke nenpòt moun pral gen menm avyon an teste sistèm nan. Sa a se vre, men ka byen gen yon moun ki vle tcheke sèten seksyon nan kòd la, oswa, pou egzanp, yon moun ka dekouvri ke bibliyotèk yo te itilize a pa konfigirasyon byen kòrèkteman.

Yon benefis menm pi gwo parèt si konpayi an asiyen kèk pati debaz nan sistèm nan nan yon pwojè separe. Pou egzanp, yon bibliyotèk sipòte kèk kalite pwotokòl echanj done. Nan ka sa a, menm si pwotokòl la espesifik nan yon sijè bay, ou ka pataje depans pou kenbe pyès sa a nan sistèm nan ak lòt konpayi nan zòn sa a. Anplis de sa, espesyalis ki ka etidye pyès sa a nan sistèm lan nan domèn piblik la mande anpil mwens tan pou sèvi ak li efektivman. Epi finalman, separe yon moso nan yon antite endepandan ke devlopè twazyèm pati itilize pèmèt nou fè pati sa a pi byen, paske nou bezwen ofri API efikas, kreye dokiman, epi mwen pa menm pale sou amelyore kouvèti asirans tès la.

Yon konpayi ka resevwa benefis komèsyal san yo pa kreye pwojè sous louvri; li ase pou espesyalis li yo patisipe nan pwojè twazyèm pati yo itilize nan konpayi an. Apre yo tout, tout benefis yo rete: anplwaye yo konnen pwojè a pi byen, Se poutèt sa yo sèvi ak li pi efikasman, konpayi an ka enfliyanse direksyon devlopman pwojè a, ak itilizasyon pare-fè, kòd debogaj evidamman diminye depans konpayi an.

Benefis ki genyen nan kreye pwojè opensource pa fini la. Ann pran yon eleman enpòtan nan biznis tankou maketing. Pou l ', sa a se yon bwat sab trè bon ki pèmèt li efektivman evalye kondisyon mache.

Ak nan kou, nou pa dwe bliye ke yon pwojè opensource se yon fason efikas pou deklare tèt ou kòm yon konpayi asirans nan nenpòt espesyalizasyon. Nan kèk ka, sa a se sèl fason pou antre nan mache a. Pou egzanp, Embbox te kòmanse kòm yon pwojè pou kreye yon RTOS. Gen pwobableman pa bezwen eksplike ke gen yon anpil nan konpetitè. San yo pa kreye yon kominote, nou tou senpleman pa ta gen ase resous pou pote pwojè a nan itilizatè final la, se sa ki, pou devlopè twazyèm pati yo kòmanse itilize pwojè a.

Kominote a se kle nan yon pwojè opensource. Li pèmèt ou siyifikativman redwi depans jesyon pwojè, devlope ak sipòte pwojè a. Nou ka di ke san yon kominote pa gen okenn pwojè opensource ditou.

Yo te ekri anpil materyèl sou fason pou kreye ak jere yon kominote pwojè sous louvri. Yo nan lòd yo pa rakonte deja konnen reyalite, mwen pral eseye konsantre sou eksperyans nan Embbox. Pa egzanp, pwosesis pou kreye yon kominote se yon pwoblèm trè enteresan. Sa vle di, anpil moun di ki jan yo jere yon kominote ki egziste deja, men moman yo nan kreyasyon li yo pafwa neglije, konsidere sa a yon bay.

Règ prensipal la lè w ap kreye yon kominote pwojè opensource se ke pa gen okenn règ. Mwen vle di pa gen okenn règ inivèsèl, menm jan pa gen okenn bal an ajan, si sèlman paske pwojè yo trè diferan. Li pa posib ke ou ka itilize menm règ yo lè w ap kreye yon kominote pou yon bibliyotèk js logging ak kèk chofè trè espesyalize. Anplis, nan diferan etap nan devlopman nan pwojè a (ak Se poutèt sa kominote a), règ yo chanje.

Embbox te kòmanse kòm yon pwojè elèv paske li te gen aksè a elèv ki soti nan depatman pwogramasyon sistèm lan. An reyalite, nou t ap antre nan kèk lòt kominote. Nou ta ka enterese patisipan yo nan kominote sa a, etidyan, nan bon pratik endistriyèl nan espesyalite yo, travay syantifik nan domèn pwogramasyon sistèm, kou ak diplòm. Sa vle di, nou te swiv youn nan règ debaz yo nan òganize yon kominote: manm kominote a dwe resevwa yon bagay, epi pri sa a dwe koresponn ak kontribisyon patisipan an.

Pwochen etap la pou Embbox te rechèch la pou itilizatè twazyèm pati. Li trè enpòtan pou w konprann ke itilizatè yo se patisipan konplè nan kominote opensource la. Anjeneral gen plis itilizatè pase devlopè. Epi yo nan lòd yo vle vin yon kontribitè nan yon pwojè, yo premye kòmanse sèvi ak li nan yon fason oswa yon lòt.

Premye itilizatè Embbox yo se Depatman Sibèrnetik Teyorik. Yo sijere kreye yon firmwèr altènatif pou Lego Mindstorm. Ak byenke sa yo te toujou itilizatè lokal yo (nou te kapab rankontre ak yo an pèsòn epi diskite sou sa yo te vle). Men, li te toujou yon eksperyans trè bon. Pou egzanp, nou devlope demonstrasyon ki ka montre lòt moun, paske robo yo plezi ak atire atansyon. Kòm yon rezilta, nou te jwenn itilizatè twazyèm pati vrèman ki te kòmanse mande ki sa Embbox ye ak kijan pou itilize li.

Nan etap sa a, nou te oblije reflechi sou dokiman, sou mwayen kominikasyon ak itilizatè yo. Non, nan kou, nou te panse sou bagay sa yo enpòtan anvan, men li te twò bonè epi li pa t bay yon efè pozitif. Efè a te pito negatif. Kite m 'ba ou yon koup nan egzanp. Nou te itilize googlecode, ki gen wiki sipòte miltilinguism. Nou te kreye paj nan plizyè lang, pa sèlman angle ak Ris, kote nou te kapab diman kominike, men tou, Alman ak Panyòl. Kòm rezilta, li sanble trè ridikil lè yo mande nan lang sa yo, men nou pa ka reponn ditou. Oswa yo te entwodui règ sou ekri dokiman ak kòmantè, men kòm API a chanje byen souvan ak anpil, li te tounen soti ke dokiman nou an te demode epi yo te plis twonpe pase sa li te ede.

Kòm yon rezilta, tout efò nou yo, menm sa ki mal yo, te mennen nan aparans nan itilizatè ekstèn. E menm yon kliyan komèsyal parèt ki te vle RTOS pwòp li yo dwe devlope pou li. Epi nou devlope li paske nou gen eksperyans ak kèk baz. Isit la ou bezwen pale sou tou de bon moman yo ak move moman yo. Mwen pral kòmanse ak move yo. Depi anpil devlopè te enplike nan pwojè sa a sou yon baz komèsyal, kominote a te deja byen enstab ak divize, ki nan kou pa t 'kapab men afekte devlopman nan pwojè a. Yon faktè adisyonèl te ke direksyon pwojè a te etabli pa yon sèl kliyan komèsyal, ak objektif li pa t 'plis devlopman nan pwojè a. Omwen sa a pa t 'objektif prensipal la.

Nan lòt men an, te gen yon kantite aspè pozitif. Nou te gen itilizatè twazyèm pati vrèman. Se pa sèlman kliyan an, men tou, moun ki sistèm sa a te gen entansyon. Motivasyon pou patisipe nan pwojè a ogmante. Apre yo tout, si ou kapab tou fè lajan nan yon biznis enteresan, li toujou bèl. Ak pi enpòtan, nou tande yon sèl dezi nan men kliyan, ki nan moman sa a te sanble fou pou nou, men ki se kounye a lide prensipal la nan Embbox, sètadi, yo sèvi ak deja devlope kòd nan sistèm nan. Koulye a, lide prensipal Embbox se sèvi ak lojisyèl Linux san Linux. Sa vle di, prensipal aspè pozitif ki kontribye nan devlopman plis pwojè a se te reyalize ke pwojè a itilize pa itilizatè twazyèm pati, epi li ta dwe rezoud kèk nan pwoblèm yo.

Nan epòk sa a, Embox te deja ale pi lwen pase sijè ki abòde lan yon pwojè elèv. Prensipal faktè limite nan devlopman pwojè a dapre modèl elèv la se motivasyon patisipan yo. Elèv yo patisipe pandan y ap etidye, epi lè yo gradye, ta dwe gen yon lòt motivasyon. Si motivasyon pa parèt, elèv la tou senpleman sispann patisipe nan pwojè a. Si nou pran an konsiderasyon ke etidyan yo bezwen premye fòmasyon, li sanble ke yo vin bon espesyalis nan lè yo gradye, men kontribisyon yo nan pwojè a, akòz ineksperyans, pa trè gwo.

An jeneral, nou san pwoblèm deplase sou pwen prensipal la ki pèmèt nou pale sou kreye yon pwojè opensource - kreye yon pwodwi ki ta rezoud pwoblèm itilizatè li yo. Kòm mwen eksplike pi wo a, pwopriyete prensipal yon pwojè opensource se kominote li yo. Anplis, manm kominote yo se prensipalman itilizatè. Men, ki kote yo soti lè pa gen anyen pou itilize? Se konsa, li sanble ke, menm jan ak yon pwojè ki pa louvri, ou bezwen konsantre sou kreye yon MVP (minimòm pwodwi solid), epi si li enterese itilizatè yo, Lè sa a, yon kominote ap parèt alantou pwojè a. Si ou angaje nan kreye yon kominote sèlman atravè PR kominote a, ekri yon wiki nan tout lang nan mond lan, oswa korèk git workflow sou github, Lè sa a, sa a se fasil enpòtan nan premye etap yo nan pwojè a. Natirèlman, nan etap ki apwopriye yo, sa yo pa sèlman enpòtan, men tou, bagay ki nesesè yo.

An konklizyon mwen ta renmen fè remake kòmantè, nan opinyon mwen, ki reflete atant itilizatè yo soti nan yon pwojè opensource:

Mwen seryezman panse sou chanje nan eksplwatasyon sa a (omwen eseye. Yo ap aktivman pouswiv li ak fè bagay ki fre).

PS sou TechTrain Nou pral gen twa rapò. Youn sou sous louvri ak de sou entegre (e youn se pratik). Nan kanpe la nou pral fè yon klas mèt sou pwogramasyon mikrokontwolè lè l sèvi avèk Embox. Kòm dabitid, nou pral pote pyès ki nan konpitè epi kite ou pwograme li. Ap gen tou yon demand ak lòt aktivite. Vini nan festival la ak kanpe nou an, li pral plezi.

Sous: www.habr.com

Add nouvo kòmantè