Sut i greu prosiect ffynhonnell agored

Sut i greu prosiect ffynhonnell agoredBydd gŵyl TG yn cael ei chynnal yn St Petersburg yr wythnos hon TechTrain. Un o'r siaradwyr fydd Richard Stallman. Embox hefyd yn cymryd rhan yn yr ŵyl, ac wrth gwrs ni allem anwybyddu'r pwnc o feddalwedd rhad ac am ddim. Dyna pam y gelwir un o'n hadroddiadau “O grefftau myfyrwyr i brosiectau ffynhonnell agored. Profiad Embox". Bydd yn ymroddedig i hanes datblygiad Embox fel prosiect ffynhonnell agored. Yn yr erthygl hon rwyf am siarad am y prif syniadau sydd, yn fy marn i, yn dylanwadu ar ddatblygiad prosiectau ffynhonnell agored. Mae'r erthygl, fel yr adroddiad, yn seiliedig ar brofiad personol.

Gadewch i ni ddechrau gyda rhywbeth syml, gyda diffiniad y term ffynhonnell agored. Yn amlwg, mae prosiect ffynhonnell agored yn brosiect sydd ag un o'r trwyddedau sy'n caniatáu mynediad i god ffynhonnell y prosiect. Yn ogystal, mae prosiect agored yn golygu y gall datblygwyr trydydd parti wneud newidiadau. Hynny yw, os yw rhai cwmni neu ddatblygwr yn cyhoeddi cod ei gynnyrch, yn rhannol neu'n gyfan gwbl, nid yw hyn eto'n gwneud y cynnyrch hwn yn brosiect ffynhonnell agored. Ac yn olaf, rhaid i unrhyw weithgaredd prosiect arwain at ryw fath o ganlyniad, ac mae natur agored y prosiect yn awgrymu bod y canlyniad hwn yn cael ei ddefnyddio nid yn unig gan y datblygwyr eu hunain.

Ni fyddwn yn cyffwrdd â phroblemau trwyddedau agored. Mae hwn yn bwnc rhy fawr a chymhleth sy'n gofyn am ymchwiliad manwl. Mae llawer iawn o erthyglau a deunyddiau da wedi'u hysgrifennu ar y pwnc hwn. Ond gan nad ydw i fy hun yn arbenigwr ym maes hawlfraint, ni fyddaf ond yn dweud bod yn rhaid i'r drwydded fodloni nodau'r prosiect. Er enghraifft, ar gyfer Embox nid oedd y dewis o BSD yn hytrach na thrwydded GPL yn ddamweiniol.

Mae'r ffaith y dylai prosiect ffynhonnell agored ddarparu'r gallu i wneud newidiadau a dylanwadu ar ddatblygiad y prosiect ffynhonnell agored yn awgrymu bod y prosiect yn cael ei ddosbarthu. Mae ei reoli, cynnal cywirdeb a pherfformiad yn llawer anoddach o gymharu â phrosiect â rheolaeth ganolog. Mae cwestiwn rhesymol yn codi: pam mae agor prosiectau o gwbl? Mae'r ateb ym maes dichonoldeb masnachol; ar gyfer dosbarth penodol o brosiectau, mae buddion y dull hwn yn gorbwyso'r costau. Hynny yw, nid yw'n addas ar gyfer pob prosiect ac mae agwedd agored yn dderbyniol ar y cyfan. Er enghraifft, mae'n anodd dychmygu datblygu system reoli ar gyfer gwaith pŵer neu awyren yn seiliedig ar egwyddor agored. Na, wrth gwrs, dylai systemau o'r fath gynnwys modiwlau sy'n seiliedig ar brosiectau agored, oherwydd bydd hyn yn darparu nifer o fanteision. Ond rhaid i rywun fod yn gyfrifol am y cynnyrch terfynol. Hyd yn oed os yw'r system wedi'i seilio'n llwyr ar god prosiectau agored, mae'r datblygwr, ar ôl pecynnu popeth mewn un system a gwneud adeiladau a gosodiadau penodol, yn ei gau yn y bôn. Mae'n bosibl y bydd y cod ar gael i'r cyhoedd.

Mae yna hefyd lawer o fanteision i'r systemau hyn o greu neu gyfrannu at brosiectau ffynhonnell agored. Fel y dywedais eisoes, efallai y bydd cod diwedd y system yn parhau i fod ar gael i'r cyhoedd. Pam, oherwydd mae’n amlwg ei bod yn annhebygol y bydd gan unrhyw un yr un awyren i brofi’r system. Mae hyn yn wir, ond mae'n bosibl iawn y bydd rhywun sydd eisiau gwirio rhai adrannau o'r cod, neu, er enghraifft, efallai y bydd rhywun yn darganfod nad yw'r llyfrgell sy'n cael ei defnyddio wedi'i ffurfweddu'n hollol gywir.

Mae budd hyd yn oed yn fwy yn ymddangos os yw'r cwmni'n dyrannu rhan sylfaenol o'r system i brosiect ar wahân. Er enghraifft, llyfrgell i gefnogi rhyw fath o brotocol cyfnewid data. Yn yr achos hwn, hyd yn oed os yw'r protocol yn benodol i faes pwnc penodol, gallwch rannu costau cynnal y darn hwn o'r system gyda chwmnïau eraill o'r maes hwn. Yn ogystal, mae angen llawer llai o amser ar arbenigwyr sy'n gallu astudio'r darn hwn o'r system yn gyhoeddus i'w ddefnyddio'n effeithiol. Ac yn olaf, mae gwahanu darn yn endid annibynnol y mae datblygwyr trydydd parti yn ei ddefnyddio yn ein galluogi i wella'r rhan hon, oherwydd mae angen i ni gynnig APIs effeithiol, creu dogfennaeth, ac nid wyf hyd yn oed yn siarad am wella cwmpas prawf.

Gall cwmni dderbyn buddion masnachol heb greu prosiectau ffynhonnell agored; mae'n ddigon i'w arbenigwyr gymryd rhan mewn prosiectau trydydd parti a ddefnyddir yn y cwmni. Wedi'r cyfan, erys yr holl fanteision: mae gweithwyr yn adnabod y prosiect yn well, felly maent yn ei ddefnyddio'n fwy effeithiol, gall y cwmni ddylanwadu ar gyfeiriad datblygiad y prosiect, ac mae'r defnydd o god parod, wedi'i ddadfygio yn amlwg yn lleihau costau'r cwmni.

Nid yw manteision creu prosiectau ffynhonnell agored yn dod i ben yno. Gadewch i ni gymryd elfen mor bwysig o fusnes â marchnata. Iddo ef, mae hwn yn flwch tywod da iawn sy'n caniatáu iddo werthuso gofynion y farchnad yn effeithiol.

Ac wrth gwrs, rhaid inni beidio ag anghofio bod prosiect ffynhonnell agored yn ffordd effeithiol o ddatgan eich hun fel cludwr unrhyw arbenigedd. Mewn rhai achosion, dyma'r unig ffordd i fynd i mewn i'r farchnad. Er enghraifft, dechreuodd Embox fel prosiect i greu RTOS. Mae'n debyg nad oes angen esbonio bod yna lawer o gystadleuwyr. Heb greu cymuned, ni fyddem wedi cael digon o adnoddau i ddod â'r prosiect i'r defnyddiwr terfynol, hynny yw, i ddatblygwyr trydydd parti ddechrau defnyddio'r prosiect.

Mae'r gymuned yn allweddol mewn prosiect ffynhonnell agored. Mae'n eich galluogi i leihau costau rheoli prosiect yn sylweddol, datblygu a chefnogi'r prosiect. Gallwn ddweud nad oes prosiect ffynhonnell agored o gwbl heb gymuned.

Mae llawer o ddeunydd wedi'i ysgrifennu am sut i greu a rheoli cymuned prosiect ffynhonnell agored. Er mwyn peidio ag ailadrodd ffeithiau sydd eisoes yn hysbys, byddaf yn ceisio canolbwyntio ar brofiad Embox. Er enghraifft, mae’r broses o greu cymuned yn fater diddorol iawn. Hynny yw, mae llawer yn dweud sut i reoli cymuned sy'n bodoli eisoes, ond mae eiliadau ei chreu weithiau'n cael eu hanwybyddu, o ystyried hyn a roddir.

Y brif reol wrth greu cymuned prosiect ffynhonnell agored yw nad oes unrhyw reolau. Rwy'n golygu nad oes unrhyw reolau cyffredinol, yn union fel nad oes bwled arian, os mai dim ond oherwydd bod y prosiectau'n wahanol iawn. Mae'n annhebygol y gallwch ddefnyddio'r un rheolau wrth greu cymuned ar gyfer llyfrgell logio js a rhyw yrrwr tra arbenigol. Ar ben hynny, ar wahanol gamau o ddatblygiad y prosiect (ac felly'r gymuned), mae'r rheolau'n newid.

Dechreuodd Embox fel prosiect myfyriwr oherwydd bod ganddo fynediad i fyfyrwyr o'r adran rhaglennu systemau. Yn wir, yr oeddem yn mynd i mewn i ryw gymuned arall. Gallem fod o ddiddordeb i gyfranogwyr y gymuned hon, myfyrwyr, mewn arfer diwydiannol da yn eu harbenigedd, gwaith gwyddonol ym maes rhaglennu systemau, gwaith cwrs a diplomâu. Hynny yw, dilynwyd un o reolau sylfaenol trefnu cymuned: rhaid i aelodau'r gymuned dderbyn rhywbeth, a rhaid i'r pris hwn gyfateb i gyfraniad y cyfranogwr.

Y cam nesaf ar gyfer Embox oedd chwilio am ddefnyddwyr trydydd parti. Mae'n bwysig iawn deall bod defnyddwyr yn gyfranogwyr llawn yn y gymuned ffynhonnell agored. Fel arfer mae mwy o ddefnyddwyr na datblygwyr. Ac er mwyn bod eisiau dod yn gyfrannwr i brosiect, maen nhw'n dechrau ei ddefnyddio mewn rhyw ffordd neu'i gilydd yn gyntaf.

Defnyddwyr cyntaf Embox oedd yr Adran Seiberneteg Damcaniaethol. Fe wnaethant awgrymu creu firmware amgen ar gyfer Lego Mindstorm. Ac er bod y rhain yn dal i fod yn ddefnyddwyr lleol (gallem gwrdd â nhw yn bersonol a thrafod yr hyn yr oeddent ei eisiau). Ond roedd yn dal yn brofiad da iawn. Er enghraifft, fe wnaethom ddatblygu demos y gellid eu dangos i eraill, oherwydd bod robotiaid yn hwyl ac yn denu sylw. O ganlyniad, cawsom ddefnyddwyr trydydd parti gwirioneddol a ddechreuodd ofyn beth yw Embox a sut i'w ddefnyddio.

Ar y cam hwn, roedd yn rhaid i ni feddwl am ddogfennaeth, am ddulliau cyfathrebu â defnyddwyr. Na, wrth gwrs, roeddem yn meddwl am y pethau pwysig hyn o'r blaen, ond roedd yn gynamserol ac nid oedd yn rhoi effaith gadarnhaol. Roedd yr effaith braidd yn negyddol. Gadewch imi roi cwpl o enghreifftiau ichi. Fe wnaethom ddefnyddio googlecode, yr oedd ei wiki yn cefnogi amlieithrwydd. Fe wnaethom greu tudalennau mewn sawl iaith, nid yn unig Saesneg a Rwsieg, lle prin y gallem gyfathrebu, ond hefyd Almaeneg a Sbaeneg. O ganlyniad, mae'n edrych yn chwerthinllyd iawn pan ofynnir yn yr ieithoedd hyn, ond ni allwn ateb o gwbl. Neu fe wnaethant gyflwyno rheolau ynghylch ysgrifennu dogfennaeth a gwneud sylwadau, ond ers i'r API newid yn eithaf aml ac yn sylweddol, daeth i'r amlwg bod ein dogfennaeth yn hen ffasiwn ac yn fwy camarweiniol nag a helpodd.

O ganlyniad, arweiniodd ein holl ymdrechion, hyd yn oed y rhai anghywir, at ymddangosiad defnyddwyr allanol. Ac ymddangosodd hyd yn oed cwsmer masnachol a oedd am i'w RTOS ei hun gael ei ddatblygu ar ei gyfer. Ac fe wnaethon ni ei ddatblygu oherwydd bod gennym ni brofiad a rhywfaint o waith sylfaen. Yma mae angen i chi siarad am yr eiliadau da a'r rhai drwg. Dechreuaf gyda'r rhai drwg. Gan fod llawer o ddatblygwyr yn ymwneud â'r prosiect hwn ar sail fasnachol, roedd y gymuned eisoes yn eithaf ansefydlog a rhanedig, na allai, wrth gwrs, ond effeithio ar ddatblygiad y prosiect. Ffactor ychwanegol oedd bod cyfeiriad y prosiect yn cael ei osod gan un cwsmer masnachol, ac nid ei nod oedd datblygiad pellach y prosiect. O leiaf nid dyma oedd y prif nod.

Ar y llaw arall, roedd nifer o agweddau cadarnhaol. Cawsom ddefnyddwyr trydydd parti gwirioneddol. Nid yn unig y cwsmer, ond hefyd y rhai y bwriadwyd y system hon ar eu cyfer. Mae'r cymhelliant i gymryd rhan yn y prosiect wedi cynyddu. Wedi'r cyfan, os gallwch chi hefyd wneud arian o fusnes diddorol, mae bob amser yn braf. Ac yn bwysicaf oll, clywsom un awydd gan gwsmeriaid, a oedd ar y pryd yn ymddangos yn wallgof i ni, ond sydd bellach yn brif syniad Embox, sef, defnyddio cod a ddatblygwyd eisoes yn y system. Nawr prif syniad Embox yw defnyddio meddalwedd Linux heb Linux. Hynny yw, y brif agwedd gadarnhaol a gyfrannodd at ddatblygiad pellach y prosiect oedd sylweddoli bod y prosiect yn cael ei ddefnyddio gan ddefnyddwyr trydydd parti, a dylai ddatrys rhai o'u problemau.

Bryd hynny, roedd Embox eisoes wedi mynd y tu hwnt i gwmpas prosiect myfyriwr. Y prif ffactor sy'n cyfyngu ar ddatblygiad y prosiect yn ôl model y myfyriwr yw cymhelliant y cyfranogwyr. Mae myfyrwyr yn cymryd rhan tra byddant yn astudio, a phan fyddant yn graddio, dylai fod cymhelliant gwahanol. Os nad yw cymhelliant yn ymddangos, mae'r myfyriwr yn rhoi'r gorau i gymryd rhan yn y prosiect. Os byddwn yn ystyried bod angen hyfforddi myfyrwyr yn gyntaf, mae'n troi allan eu bod yn dod yn arbenigwyr da erbyn iddynt raddio, ond nid yw eu cyfraniad i'r prosiect, oherwydd diffyg profiad, yn fawr iawn.

Yn gyffredinol, rydym yn symud ymlaen yn ddidrafferth at y prif bwynt sy'n ein galluogi i siarad am greu prosiect ffynhonnell agored - creu cynnyrch a fyddai'n datrys problemau ei ddefnyddwyr. Fel yr eglurais uchod, prif eiddo prosiect ffynhonnell agored yw ei gymuned. Ar ben hynny, mae aelodau'r gymuned yn ddefnyddwyr yn bennaf. Ond o ble maen nhw'n dod pan nad oes dim i'w ddefnyddio? Felly mae'n troi allan, yn union fel gyda phrosiect nad yw'n ffynhonnell agored, mae angen i chi ganolbwyntio ar greu MVP (cynnyrch hyfyw lleiaf), ac os yw o ddiddordeb i ddefnyddwyr, yna bydd cymuned yn ymddangos o amgylch y prosiect. Os ydych chi'n ymwneud â chreu cymuned yn unig trwy gysylltiadau cyhoeddus cymunedol, ysgrifennu wiki ym mhob un o ieithoedd y byd, neu lif gwaith git cywir ar github, yna mae hyn yn annhebygol o fod o bwys yng nghamau cynnar y prosiect. Wrth gwrs, ar y camau priodol mae'r rhain nid yn unig yn bwysig, ond hefyd yn bethau angenrheidiol.

I gloi hoffwn nodi y sylw, yn fy marn i, yn adlewyrchu disgwyliadau defnyddwyr o brosiect ffynhonnell agored:

Rwy'n meddwl o ddifrif am newid i'r OS hwn (o leiaf ceisiwch. Maent yn mynd ar ei drywydd ac yn gwneud pethau cŵl).

PS Ar TechTrain Bydd gennym gymaint â thri adroddiad. Un am ffynhonnell agored a dau am wreiddio (ac un yn ymarferol). Ar y stondin byddwn yn cynnal dosbarth meistr ar raglennu defnyddio microreolwyr Embox. Yn ôl yr arfer, byddwn yn dod â'r caledwedd ac yn gadael i chi ei raglennu. Bydd gwest a gweithgareddau eraill hefyd. Dewch i'r ŵyl a'n stondin, bydd yn hwyl.

Ffynhonnell: hab.com

Ychwanegu sylw