Kif toħloq proġett ta' sors miftuħ

Kif toħloq proġett ta' sors miftuħDin il-ġimgħa se jsir festival tal-IT f’San Pietruburgu TechTrain. Wieħed mill-kelliema se jkun Richard Stallman. Embox jipparteċipa wkoll fil-festival, u ovvjament ma stajniex ninjoraw is-suġġett tas-softwer b'xejn. Huwa għalhekk li wieħed mir-rapporti tagħna jissejjaħ “Minn crafts tal-istudenti għal proġetti opensource. Embox esperjenza”. Se tkun iddedikata għall-istorja tal-iżvilupp ta 'Embox bħala proġett ta' sors miftuħ. F'dan l-artikolu nixtieq nitkellem dwar l-ideat ewlenin li, fl-opinjoni tiegħi, jinfluwenzaw l-iżvilupp ta 'proġetti opensource. L-artiklu, bħar-rapport, huwa bbażat fuq esperjenza personali.

Nibdew b'xi ħaġa sempliċi, bid-definizzjoni tat-terminu opensource. Ovvjament, proġett ta 'sors miftuħ huwa proġett li għandu waħda mil-liċenzji li tippermetti aċċess għall-kodiċi tas-sors tal-proġett. Barra minn hekk, proġett miftuħ ifisser li l-iżviluppaturi ta 'partijiet terzi jistgħu jagħmlu bidliet. Jiġifieri, jekk xi kumpanija jew żviluppatur jippubblika l-kodiċi tal-prodott tiegħu, parzjalment jew kompletament, dan għadu ma jagħmilx dan il-prodott proġett opensource. U fl-aħħarnett, kwalunkwe attività ta 'proġett għandha twassal għal xi tip ta' riżultat, u l-ftuħ tal-proġett jimplika li dan ir-riżultat jintuża mhux biss mill-iżviluppaturi nfushom.

Mhux se nmissu l-problemi tal-liċenzji miftuħa. Dan huwa suġġett kbir wisq u kumpless li jeħtieġ investigazzjoni fil-fond. Pjuttost ħafna ta 'artikoli u materjali tajbin inkitbu fuq dan is-suġġett. Imma peress li jien stess m'iniex espert fil-qasam tad-drittijiet tal-awtur, ngħid biss li l-liċenzja trid tilħaq l-għanijiet tal-proġett. Pereżempju, għal Embox l-għażla ta' liċenzja BSD aktar milli liċenzja GPL ma kinitx aċċidentali.

Il-fatt li proġett ta' sors miftuħ għandu jipprovdi l-abbiltà li jagħmel bidliet u jinfluwenza l-iżvilupp tal-proġett ta' sors miftuħ jimplika li l-proġett ikun distribwit. Il-ġestjoni tagħha, iż-żamma tal-integrità u l-prestazzjoni hija ħafna aktar diffiċli meta mqabbla ma 'proġett b'ġestjoni ċentralizzata. Tqum mistoqsija raġonevoli: għaliex il-proġetti jiftħu xejn? It-tweġiba tinsab fil-qasam tal-fattibilità kummerċjali; għal ċerta klassi ta 'proġetti, il-benefiċċji ta' dan l-approċċ jegħlbu l-ispejjeż. Jiġifieri, mhuwiex adattat għall-proġetti kollha u approċċ miftuħ huwa ġeneralment aċċettabbli. Pereżempju, huwa diffiċli li wieħed jimmaġina li tiżviluppa sistema ta 'kontroll għal impjant tal-enerġija jew inġenju tal-ajru bbażata fuq prinċipju miftuħ. Le, ovvjament, sistemi bħal dawn għandhom jinkludu moduli bbażati fuq proġetti miftuħa, għaliex dan se jipprovdi numru ta 'vantaġġi. Iżda xi ħadd irid ikun responsabbli għall-prodott finali. Anki jekk is-sistema hija kompletament ibbażata fuq il-kodiċi tal-proġetti miftuħa, l-iżviluppatur, wara li ppakkja kollox f'sistema waħda u għamel bini u settings speċifiċi, essenzjalment jagħlaqha. Il-kodiċi jista' jkun disponibbli pubblikament.

Hemm ukoll ħafna benefiċċji għal dawn is-sistemi mill-ħolqien jew il-kontribut għal proġetti open source. Kif diġà għedt, il-kodiċi tas-sistema finali jista 'jibqa' disponibbli pubblikament. Għaliex, għax huwa ovvju li mhux probabbli li xi ħadd ikollu l-istess ajruplan biex jittestja s-sistema. Dan huwa minnu, iżda jista 'jkun hemm xi ħadd li jrid jiċċekkja ċerti sezzjonijiet tal-kodiċi, jew, pereżempju, xi ħadd jista' jiskopri li l-librerija li qed tintuża mhix konfigurata b'mod pjuttost korrett.

Jidher benefiċċju saħansitra akbar jekk il-kumpanija talloka xi parti bażika tas-sistema fi proġett separat. Per eżempju, librerija biex tappoġġja xi tip ta 'protokoll ta' skambju ta 'dejta. F'dan il-każ, anki jekk il-protokoll huwa speċifiku għal qasam partikolari tas-suġġett, tista 'taqsam l-ispejjeż taż-żamma ta' din il-biċċa tas-sistema ma 'kumpaniji oħra minn dan il-qasam. Barra minn hekk, speċjalisti li jistgħu jistudjaw din il-biċċa tas-sistema fid-dominju pubbliku jeħtieġu ħafna inqas ħin biex jużawha b'mod effettiv. U fl-aħħarnett, is-separazzjoni ta 'biċċa f'entità indipendenti li l-iżviluppaturi ta' partijiet terzi jużaw tippermettilna nagħmlu din il-parti aħjar, għaliex għandna bżonn noffru APIs effettivi, noħolqu dokumentazzjoni, u lanqas biss qed nitkellem dwar it-titjib tal-kopertura tat-test.

Kumpanija tista’ tirċievi benefiċċji kummerċjali mingħajr ma toħloq proġetti open-source; huwa biżżejjed li l-ispeċjalisti tagħha jipparteċipaw fi proġetti ta’ partijiet terzi użati fil-kumpanija. Wara kollox, il-benefiċċji kollha jibqgħu: l-impjegati jafu aħjar il-proġett, għalhekk jużawh b'mod aktar effettiv, il-kumpanija tista 'tinfluwenza d-direzzjoni tal-iżvilupp tal-proġett, u l-użu ta' kodiċi lesti u debugged ovvjament inaqqas l-ispejjeż tal-kumpanija.

Il-benefiċċji tal-ħolqien ta 'proġetti opensource ma jispiċċawx hemm. Ejja nieħdu komponent importanti tan-negozju bħall-marketing. Għalih, din hija sandbox tajba ħafna li tippermettilu jevalwa b'mod effettiv ir-rekwiżiti tas-suq.

U ovvjament, ma rridux ninsew li proġett opensource huwa mod effettiv biex tiddikjara lilek innifsek bħala trasportatur ta 'kwalunkwe speċjalizzazzjoni. F'xi każijiet, dan huwa l-uniku mod biex tidħol fis-suq. Pereżempju, Embox beda bħala proġett biex jinħoloq RTOS. Probabbilment m'hemmx għalfejn tispjega li hemm ħafna kompetituri. Mingħajr ma noħolqu komunità, aħna sempliċement ma kienx ikollna biżżejjed riżorsi biex inġibu l-proġett lill-utent aħħari, jiġifieri, biex l-iżviluppaturi ta 'partijiet terzi jibdew jużaw il-proġett.

Il-komunità hija essenzjali fi proġett opensource. Jippermettilek tnaqqas b'mod sinifikanti l-ispejjeż tal-ġestjoni tal-proġett, tiżviluppa u tappoġġja l-proġett. Nistgħu ngħidu li mingħajr komunità m'hemm l-ebda proġett opensource.

Inkiteb ħafna materjal dwar kif tinħoloq u timmaniġġja komunità ta’ proġetti ta’ sors miftuħ. Sabiex ma nerġax nirrakkonta fatti diġà magħrufa, se nipprova niffoka fuq l-esperjenza ta 'Embox. Pereżempju, il-proċess tal-ħolqien ta' komunità huwa kwistjoni interessanti ħafna. Jiġifieri, ħafna jgħidu kif jimmaniġġjaw komunità eżistenti, iżda l-mumenti tal-ħolqien tagħha xi drabi jiġu injorati, meta wieħed iqis dan bħala wieħed.

Ir-regola ewlenija meta tinħoloq komunità ta 'proġett opensource hija li m'hemm l-ebda regoli. Jiġifieri m'hemmx regoli universali, bħalma m'hemm l-ebda silver bullet, jekk biss għax il-proġetti huma differenti ħafna. Huwa improbabbli li tista 'tuża l-istess regoli meta toħloq komunità għal librerija tal-illoggjar js u xi sewwieq speċjalizzat ħafna. Barra minn hekk, fi stadji differenti tal-iżvilupp tal-proġett (u għalhekk il-komunità), ir-regoli jinbidlu.

L-Embox beda bħala proġett tal-istudenti għax kellu aċċess għall-istudenti mid-dipartiment tal-ipprogrammar tas-sistemi. Fil-fatt, konna nidħlu f’xi komunità oħra. Nistgħu ninteressaw lill-parteċipanti ta’ din il-komunità, studenti, fi prattika industrijali tajba fl-ispeċjalità tagħhom, xogħol xjentifiku fil-qasam tal-ipprogrammar tas-sistema, xogħol tal-kors u diplomi. Jiġifieri, segwejna waħda mir-regoli bażiċi tal-organizzazzjoni ta 'komunità: il-membri tal-komunità għandhom jirċievu xi ħaġa, u dan il-prezz għandu jikkorrispondi għall-kontribuzzjoni tal-parteċipant.

L-istadju li jmiss għal Embox kien it-tfittxija għal utenti ta 'partijiet terzi. Huwa importanti ħafna li wieħed jifhem li l-utenti huma parteċipanti sħaħ fil-komunità opensource. Normalment ikun hemm aktar utenti minn żviluppaturi. U biex ikunu jridu jsiru kontributuri għal proġett, l-ewwel jibdew jużawh b’xi mod jew ieħor.

L-ewwel utenti tal-Embox kienu d-Dipartiment taċ-Ċibernetika Teoretika. Huma ssuġġerew li jinħoloq firmware alternattiv għal Lego Mindstorm. U għalkemm dawn kienu għadhom utenti lokali (stajna niltaqgħu magħhom personalment u niddiskutu dak li riedu). Iżda xorta kienet esperjenza tajba ħafna. Pereżempju, żviluppajna demos li jistgħu jintwerew lil ħaddieħor, minħabba li r-robots huma divertenti u jiġbdu l-attenzjoni. Bħala riżultat, sirna utenti tabilħaqq ta’ partijiet terzi li bdew jistaqsu x’inhu Embox u kif jużah.

F'dan l-istadju, kellna naħsbu dwar id-dokumentazzjoni, dwar il-mezzi ta 'komunikazzjoni mal-utenti. Le, ovvjament, ħsibna dwar dawn l-affarijiet importanti qabel, iżda kien prematur u ma tatx effett pożittiv. L-effett kien pjuttost negattiv. Ħa nagħtikom ftit eżempji. Aħna użajna googlecode, li l-wiki tiegħu appoġġjat il-multilingwiżmu. Ħloqna paġni b’diversi lingwi, mhux biss bl-Ingliż u bir-Russu, li fihom bilkemm stajna nikkomunikaw, iżda wkoll bil-Ġermaniż u bl-Ispanjol. Bħala riżultat, jidher redikoli ħafna meta mistoqsi b’dawn il-lingwi, iżda ma nistgħux inwieġbu xejn. Jew introduċew regoli dwar il-kitba tad-dokumentazzjoni u l-kumment, iżda peress li l-API nbidlet spiss u b'mod sinifikanti, irriżulta li d-dokumentazzjoni tagħna kienet skaduta u kienet aktar qarrieqa milli għenet.

Bħala riżultat, l-isforzi kollha tagħna, anke dawk żbaljati, wasslu għad-dehra ta 'utenti esterni. U anke deher klijent kummerċjali li ried li l-RTOS tiegħu stess jiġi żviluppat għalih. U żviluppajna għax għandna esperjenza u xi bażi. Hawnhekk trid titkellem kemm fuq il-mumenti tajbin kif ukoll fuq il-ħżiena. Nibda minn dawk ħżiena. Peress li ħafna żviluppaturi kienu involuti f'dan il-proġett fuq bażi kummerċjali, il-komunità kienet diġà pjuttost instabbli u maqsuma, li naturalment ma setgħux ma jaffettwawx l-iżvilupp tal-proġett. Fattur addizzjonali kien li d-direzzjoni tal-proġett kienet stabbilita minn klijent kummerċjali wieħed, u l-għan tiegħu ma kienx l-iżvilupp ulterjuri tal-proġett. Għallinqas dan ma kienx l-għan ewlieni.

Min-naħa l-oħra, kien hemm numru ta’ aspetti pożittivi. Aħna ltqajna utenti verament ta 'partijiet terzi. Ma kienx biss il-klijent, iżda wkoll dawk li għalihom kienet maħsuba din is-sistema. Il-motivazzjoni biex tipparteċipa fil-proġett żdiedet. Wara kollox, jekk tista 'wkoll tagħmel flus minn negozju interessanti, dejjem huwa sabiħ. U l-aktar importanti, smajna xewqa waħda mill-klijenti, li dak iż-żmien dehret miġnun lilna, iżda li issa hija l-idea ewlenija ta 'Embox, jiġifieri, li tuża kodiċi diġà żviluppat fis-sistema. Issa l-idea ewlenija ta 'Embox hija li tuża softwer Linux mingħajr Linux. Jiġifieri, l-aspett pożittiv ewlieni li jikkontribwixxi għall-iżvilupp ulterjuri tal-proġett kien ir-realizzazzjoni li l-proġett jintuża minn utenti ta 'partijiet terzi, u għandu jsolvi xi wħud mill-problemi tagħhom.

Dak iż-żmien, Embox kienet diġà marret lil hinn mill-ambitu ta’ proġett ta’ student. Il-fattur ewlieni li jillimita fl-iżvilupp tal-proġett skont il-mudell tal-istudent huwa l-motivazzjoni tal-parteċipanti. L-istudenti jipparteċipaw waqt li jkunu qed jistudjaw, u meta jiggradwaw, għandu jkun hemm motivazzjoni differenti. Jekk il-motivazzjoni ma tidhirx, l-istudent sempliċement jieqaf jipparteċipa fil-proġett. Jekk nikkunsidraw li l-istudenti l-ewwel iridu jiġu mħarrġa, jirriżulta li jsiru speċjalisti tajbin sa meta jiggradwaw, iżda l-kontribut tagħhom għall-proġett, minħabba n-nuqqas ta’ esperjenza, mhuwiex kbir ħafna.

B'mod ġenerali, nimxu bla xkiel għall-punt ewlieni li jippermettilna nitkellmu dwar il-ħolqien ta 'proġett opensource - il-ħolqien ta' prodott li jsolvi l-problemi tal-utenti tiegħu. Kif spjegajt hawn fuq, il-proprjetà ewlenija ta 'proġett opensource hija l-komunità tiegħu. Barra minn hekk, il-membri tal-komunità huma primarjament utenti. Imma minn fejn ġejjin meta ma jkun hemm xejn x’tuża? Għalhekk jirriżulta li, bħal ma 'proġett mhux opensource, trid tiffoka fuq il-ħolqien ta' MVP (prodott minimu vijabbli), u jekk jinteressa lill-utenti, allura komunità tidher madwar il-proġett. Jekk inti impenjat fil-ħolqien ta 'komunità biss permezz tal-PR komunitarja, tikteb wiki fil-lingwi kollha tad-dinja, jew tikkoreġi l-fluss tax-xogħol tal-git fuq github, allura dan x'aktarx ma jimpurtax fl-istadji bikrija tal-proġett. Naturalment, fl-istadji xierqa dawn mhumiex biss importanti, iżda wkoll affarijiet meħtieġa.

Bħala konklużjoni nixtieq nirrimarka kummentarju, fl-opinjoni tiegħi, li tirrifletti l-aspettattivi tal-utenti minn proġett opensource:

Qed naħseb serjament biex naqleb għal dan l-OS (mill-inqas ipprova. Qed isegwuh b'mod attiv u jagħmlu affarijiet friski).

PS Fuq TechTrain Ikollna sa tliet rapporti. Wieħed dwar open source u tnejn dwar embedded (u wieħed huwa prattiku). Fl-istand se nwettqu klassi ewlenija dwar l-użu ta 'mikrokontrolluri ta' programmazzjoni Embox. Bħas-soltu, aħna se nġibu l-ħardwer u nħalluk tipprogrammah. Se jkun hemm ukoll tfittxija u attivitajiet oħra. Ejja għall-festival u l-istand tagħna, se jkun pjaċevoli.

Sors: www.habr.com

Żid kumment