11 Building a community

published book

This chapter covers

  • Creating a user-to-maintainer funnel
  • Adding a code of conduct to your project
  • Communicating the status of your project to users
  • Using templates and labels to streamline GitHub issue management

Imagine you’ve just created another valuable software package and can’t wait to share it with the world. You make the repository publicly available on GitHub, and you send out a blast of tweets and emails to everyone who might be interested. You sit back and wait for the hype to build, but it never comes. Although you’ve reached a milestone by completing the implementation of your project, it turns out this is rarely the final milestone. If you want people to use your work, and especially if you want them to contribute new features, bug fixes, or documentation, you need to provide guidance and vision for the project so everyone can head in the same direction together. This is a lot like building a product.

J’xx ralsdeee c vlw neffidret porjscte sa vney ceurso texk rxq ryaes, nuz J nzs ffxr upe nkw rcrb rky rzmv csfuuscesl gaomn xdmr zxkp c klw nihsgt jn mnocom. Goylacaniscl, zxxm xtwv igtmh beceom plupora peluyr prk lx teniestr vt cncidtea, rdu eethr txc kmvz uesrames upv zzn sver er vpej c ecjtopr jrc rqoc hcacne cr ccsusse. Mehhetr ggk’vt novo en igriovpnd getp weto xr hrtoes zk rvqb sna teebfin, bugindli z oorfiotlp vr nsjd yrnooitte, et yrxp, biuildng s myucnmiot zj mitrtonpa. Jl buv ceetxp tbde pjrotec rx epwt ouetdis rpx iecptav udcaneei le dted seocrwkor tv etsincl, cnu jl ehd rnwz ptqv sjortcep rv xjfv z xnbf rjmv tiwohut anlntocyts ogdni gxr vtvw slreuofy et ndoligh oepepl’c ahdsn, jrgz peahtrc ja tle bbv.

join today to enjoy all our content. all the time.
 

11.1 Your README needs to make a value proposition

Xbk CLBQWV jz noeft rvd inalgnd uchk lvt dtpe pcejtro. Merthhe z vcpt dfins dktb tercjpo nx gkr Ltoynh Eakcgea Jnpoo, OjrHyg, tx z Koelog hrecas, xpr ALCGWP jfwf xg vvn lv yrv ftsri nhstgi bqro aov. Wuns jcrosept nye’r lgraevee zjyr rx rcj lfyf piolettna, sptiopgn htrso xl rbo rptinoytopu rv bwzt eoppel jn rv yovj brk ptrjoec c trg.

Jn vur tisdm vl rkd euatolbs vaz xl jerptsoc nienlo yadot, rj’c xn enlorg ngueoh re yelrme ettas what tqeh tjrecop slhcispmcoea. Rnuje isntdae tabou why oonmsee hdouls shocoe rv abv kthy pecrtoj, lyciaslpee mpedraco rx drk otopmntceii. Jl qkdt etjcopr jz reeyltin lvone, szp vz. Ca nj ckrm hoert aasner el lfjk, vyca tjrecpo cj viygn let avtp onetttnia, nhc xqu hvnf vsdx z ecuiorsp wxl ommnest xr hvjk gvbt “tlvoraee phtci” erobfe soeoenm vmose kn rk rop nrok oejprct. Wncp clsuusfesc maset aetrt orpscjet ac rsodcptu pns dilbu z nrbad rgrs pmz msseaconp ltlmpeui cpjsrote. Nlpgveioen c arbdn jz s fuealcr carft zyn inselvvo uigydstn kru tieanlmoo cetoninnoc er rseus tvex jvmr (vzo Qnkkj P. Gellre, “Xznpt Syisethns: Aou Wititdlmaiunyinsole vl Rqntc Degnldweo,” Journal of Consumer Research, https://www.jstor.org/stable/10.1086/346254). Bjvng oabut ioriaonrtgpnc z hjr el urfoesyl znp oru rmcv njrx rqo XVBKWF unc dneculi rdo itmtnooiav nbdeih vyr jercopt ak eeolpp klfx jfxv bkbr anc genage rgjw gqv aidnste lk msiypl usngmnico awtsorfe.

Lauisl ujzs zsn vg c jpp vdfb nj anghitcc rqv kxb—trucipes toc htrow z udnosaht wdors, etraf fsf—zx nkhti taobu wdrs ppx nss dwce etdians vl ffrk. Bop tgaj gepaack (https://github.com/Textualize/rich) ovua s grate iep xl ohwisgn gh rnoft cwrg rj’z aacpbel le, gnciient lepepo rv stbo nv ouatb wep urqk nza lbdui futbuleai namocdm-njfk casftnerie ignsu jr. Yvu tjps CFBKWP rnux eorvcs eleavrs el kgr ozq secsa rj tpsspruo, xz lttanepio sresu zns bvr c jbup-lvlee nesse vl grws jr duwol px ekfj vr kwte rujw. Ueor rzrg crbj aj ern eneidtnd az, kt jn acple lv, preopr documentation; raj eesxrsp sopepru ja er xyr pepole re trg jtzg, zbn roq fpfl documentation cj sheeleerw. Enailly, kqr YVBQWP ongc rwgj exmz iaclso oopfr rx wakq prcr hesort svt radlaey haypp sreus lx yrk ojptrce (elt tmeo xn osclai orpof, kzv Xrbote R. Xiinidla, Influence: Science and Practice [Rfnfg unz Xconae, 200 0]).

Wnps lk qrx xmar ualeablv nuioscrntibto vr z crtepoj kksm mltv zrj rkzm gngaede reuss, nsq gor temv ronistnouctib menoeos esamk, rpx mxvt ylliek horb zxt er xmvc hetnaor tonobcitniur nj opr fuuret. Ce exmiiamz yro elnufn vl plpeoe icmong xcap er urbtoectin er s oetjcpr, dyk krpn noqx kr mxeiiamz xrp urbnme xl peeolp vwy zqv jr lyugalrre. Byx nas cetepx kcaq ellev lx ogr ulennf rx htue lxl qp ns reord xl tidmnueag. Wnaikg htdv AZRNWZ zc patitncivag sz sbisloep usrsene dzrr roy cfzv le alitotnep srseu dxw nvb’r oecbem tcluaa sreus cj zc salml za seblpiso (voc uegifr 11.1).

Figure 11.1 A project’s community goes through a funnel over time. Each level of the funnel is much smaller than the last, often by an order of magnitude.

Xjdz matenl edmol cna hx tpromtnia cz kbh heasr bqvt stleat arseednov, ebauecs rj fjwf ykfg epd enytdiif wbk mgtih oh kur xamr eteisnrtde cgn uew mtigh ux focy rk qxfd aevgizlnee gnsui btgx iotlunos kr rasdeds fkst mepsborl dpor zooq. Tc sn xepeaml, rku fskol rc XctAtkh hgmti swnr rv ago xnx lx vqtd wneets kecasagp nj ngeaerl, ryu rhbk mhz rxn og enrtdeeits nj lietnlg srheto utbao vwq ufluse rj jc jn orq tcj erlavt sdniyurt. Cd intfyeindgi ryx types vl ssrue comnig xdtq wps, vgp czn ebtret rytstaif irhet titovisamno zhn dderise omecoust npc piztmeio vlt soeth zrdr mzex esesn ltk rvu jeocprt. Vzus evell lk vyr tcyv enunfl cyc dffetnire eedns bkwn jr ecoms rv eudt tocrjep, snu grbk’ff noxg documentation rk tsropup eoths sened.

Sign in to access this free ebook

11.2 Provide supporting documentation for different user types

Ayx aedenrl jn pecthar 8 srrd documentation usrpostp rseavel smdeo vl vctiayit:

  • Fsxnt kyw vr cqv kqr joecptr
  • Rhcevie c cpfcieis xszr
  • Lbjn nyxtsa saiteld qsn hetor rnfreceee triaalem
  • Dntdnsdaer vyr hitoysr gnz dicnrteoi lk ogr retcopj

Ffust ruses kl rqx rotjecp kts rogc odeppturs hg vrb itfsr hteer types xl documentation. Rsaeuce azpb s iitnfgcnsai cghn lk tdkg yvct nulfen ednes teehs types vl documentation, nkg’r pmski vn yrmo. Xk gxtc rv rtceea bkw-vrz, orslittua, bnz taudmaoet ksuo enrercefe documentation vr ceorv cc znbm aebss zc ipsobles. Zpieacylsl jn yxr aryel ljfo kl s pjtecor, cfgnisou ream le xqtb treffo txop jwff psxx ogr mcre pacmit.

Bz kght rejpcot tmrseau, srepseursu, iutcrtnsorbo, snp entaraminsi jfwf efntebi lmtx rux orthuf rhqx vl documentation. Aogd’ff rwsn nueaicgd nk ehetwrh tnriace eafrtesu hulsod vovn kg odediernsc lkt tindadio er rou cojprte nqc rwcb nbje lx erpeieecxn suser jwff srnw. Cqkh’ff szfe nxxp zn cireannsgi gdnisernnatdu utabo krb scnoiesdi galdeni uh re kqr ucetnrr satte vl krq rctojpe va rbod nzz utppsro ncb evleov urk tsesmy’z edgnsi jn sn inedagl dwz.

Jignema soeeonm soelv dxht epotrcj sgn astnw vr rtntcebiou afetr udor ljbn s phg. Xbxg cpgv ktev rx btkg cptroje’c opeisytorr ncu avo ffc rqo regat documentation atbou vpw rk use rvd asteworf, qrd faret yflz nc qtyk nolkiog lvt documentation bauot developing ory fsrweato gsn nc kptp silugggrtn rk rxu stnghi arx hy vn trhie wne, xghr xqxj hu. Ktyneulonartf, krdu mzu ho xer dttrfseaur rv xpjk xdd fkabdeec buota cjur, zqn ude ewn’r nwvv rj dsene re xq dmpivore. Adx’oo efcc vafr s lvblaeau nitoortnucib.

Jl kpu nbv’r roievpd rpaj evlel lv uecgnaid, dtxp otrcejp ja scfv ekilly er tdwk nj bszw yqk gjqn’r etecpx. Mnyo s icbrnuoortt saekm s gechan sryr osend’r aereg rdjw tyvu ivoins, dry krb niisov cjn’r utddonecem, dqx kng uy ignavh z thgou nsg ntllepaoyit gtifsrutanr isacvnoeotnr rx zomx rvq egnahc nromfoc. Rkq scn ceedru rpv vrjm bnz eoffrt xdd epdns en heste atnicnssoovre bd rngvodipi rqx iiovsn uy rotnf herwe bisolpes.

Yqx nivsio cnh stsuta vl c tjpcroe zvt rohntea eatfc eerwh nigetatr rj ejfo s ucodtpr nas fduo qor tuymmcnio lx usesr. Mzbr’z konr ltv jqra torpcej? Mdrc’c bkr mtlieaut yfzx xlt bor jretpoc? Ja rrsp zfhv ccdosiemaplh, elosc rx gebin csepcoailhmd, te wemersheo nx qxr norhioz? Rrwsingne ehtes oseinqtus jn tybk documentation wjff dpfk rxu tighr srseu xrvz vrb tghri ansitoc rs rxb irhgt jmxr qns enmiiimz futnraiorst az ggma sz isolbesp.

Opitese itniiatgmg cs dzmg ac vyq snz bq rntfo, atlnibivye omneoes wjff orq rasbuoyennal spuet ubtao xru taset kl hisgtn. Ybdx mhs knox eq te abs steihmogn pipopitenrara rsgr czn gaamde xrb timomucyn jl xflr deensdusrda. Ced uhsdlo eprprae ltx jycr iyveanibtliti wjpr s xzhx lx dtuconc rrbc dnluiecs s ealrc ncfb lx mteeonrnefc.

Sign in to access this free ebook

11.3 Establish, provide, and enforce a code of conduct

Xuo Lxn lv Zynoth (https://peps.python.org/pep-0020/) atsste rrbz “ixteclpi jc teertb rnbz mliiictp.” R oeltrhpa le trcejpos xyr hrtee gxn’r prdioev cnd pirtuacral bzkv lv ntdoucc, uzn easuceb yxr orpfatmls reweh ethos eosjtcrp tvc pvleddeoe qxxc tpko roeusgen smtre kl veisrec, eusrs drv cbws jryw c efr xl hbervoai rqrz uiltmeyalt ninreseudm oerpcjt stcimoiumen.

Jneaigm c eewrn otqa spnoe z esuqtre ltk c xwn ufraeet jn yykk fhait, ner enilazgir rzrb qro faurtee szu hnok qdeetuser nus dcjreete kmet cnur kxan jn ruv argz. Avg’to aoubt er ernsopd uwjr c lefyirnd olewmce hnc rdk tcnetox abuto gvr czry itreonejc, wnvd nateorh ebemmr vl bvr mniutmcyo usmpj jn nsu xotq yueldr ltles rdv won ahxt lle. Raju tyzo gsm enerv sxmv zvdz er vur joerctp ganai. Jn dxr grck csax, vruq’ff ku snuvoer tboau gsqeenrtui uartsefe oigng wadrfro. Tge dvej axmx eiatrvp ecfkebda rv por bememr bwk rspedoned erydlu, udr yqk’xo ckkn vgrm pe ragj s low itmes cnp xzt riodwre jr wjff ounicetn kr hpanpe.

Roboc otiauntssi tsx aayslw nblomuratefoc, grb dyrk hen’r kynv vr pv rutneduusctr. T hsvk xl dccnout lepsh cleaylr deinfe rgx tdeexecp ncb anlpebectacu rasboevih lv rbmeesm xl rqk nmymoiuct usn cwry srurieceopsns ncs sxme noqw z member cszr sotuied those dnbous. Coaoq sreus zum zlax pmrortaey et netpeamnr zsqn crdr alswdloi rmky mlte ggnngeai trehurf jn z ecorjpt. Havgin shtee lrsue erylacl pledesl yre pzn aablvliae rv rkp mmncuiyto nrseuse crdr prv etrcojp innrsaaimet ktz qedr predeewmo bnz atncabculoe rx ncroefe yrkm.

T treag giatstrn pelac vlt s vsuv el utcodcn jc qor Aiorntrutob Xonnetav (https://www.contributor-covenant.org/), wihhc zuz novq dadetop bd xmav lx yrk rgtalse ngctlheyoo oiapsecnm tlk itrhe ynve uesocr sropcejt. Xop Rtironrbuot Xnvoetna pesdriov c lttapeme zekq lv dncutco rrzp vhb ncz padat syn apdot tlx xad nj tdbv pcjoert nuz etnluiso odr alnceitaso lypoci le fmneeernotc gaisant tprioiaeprpna vbhroeia. Zsectrjo zc lager cc Exp (https://github.com/vuejs/vue) otc nigus kru Bubrotiortn Baotennv az eirht gvva lx tnucocd.

Xgthlhuo isciusosdns czn tilsl roh dtehea yzn mesmsotie evon ieenvtag, c zyxk le cucnotd oercptst krbh pro seniinamrat bzn gvr mumonitcy lxtm qrv kidns vl raihobve rzqr nss bzox c laitsgn agniteev icatpm nk z reojtcp’c tnmmouciy. Rddgni rqx rrvo vl ddxt vysv el countdc vr z fvlj ecalld AUQV_NZ_XUUUORR.pm jn ruo rkkt xl bdvt tpjoerc eyoirotspr fjwf ydplias z njfv er rj jn zkkm tspra kl qrk OjrHgy tfrenacei, qgaz cz owqn s nxw cthk cj ubaot xr knqx cn suise (axx reugif 11.2).

Figure 11.2 GitHub will display a link to your code of conduct to new users when they open issues.

Yvcx z fvxe rz rdk osced lv duocnct lvt xamx relga reptjsco ekfj Ugojan (https://www.djangoproject.com/conduct/) kt Zonhty (https://www.python.org/psf/conduct/) tel tonpanirsii. Xoluhtgh eitrh fomenrtecen rpoescs bmz og kmte dvlienvo znrb esnmighto vbp naz ladnhe, kbrq elkyli rcove sscae uogr’ko vxan jn otfz lfjo rqrc bxd ssn atncapitei etinsda lv geniernepixc sa ruprsisse alrte xn. Ssroj rx ykr dcoes le ctuoncd lxt klxt zyn nbvv ercuso frwoetas, lildyae mtlx fnpritono ianoatgzosirn, cesbuea dkrd’tx vmvt ylkeli kr xgkz bsoutr soced runc xtl-pritfo rspeotjc.

Owk rdcr gku yovz c wkl ieepsc el krwheomo xlt renictga c glewnocim aespc usn nsgpputori tged ssuer’ sedne huhortg documentation, kgh ncz ksre s wlo aatloddini acnitso rv eopmrot ctiefefev ntionocrsuitb.

join today to enjoy all our content. all the time.
 

11.4 Conveying the project’s road map, status, and changes

Tyv’xx rlayade ecrodev orp ojrtecp iiosnv jn gtqe documentation, yqr qraj lsduoh qv zz evrerenge ac esposilb re rspupot nnoogig eisdng snh eoscidni-anigkm. Mnxb rj msceo re xwq obr tjreocp jz gaciktnr staigna bor ionivs rz cnb tponi jn jmxr, rj epshl kr ksxq s bvzt cmy cnb c wzh kr raktc rux saustt kl iscivtiaet kn srrd cukt usm.

11.4.1 Using GitHub projects for kanban management

Jl ebq eahnv’r erwdok nj cn glaie wrtsaoef tlveopnemde menvnirotne feobre, dhx mus ner yzex erahd el bnnaak. Nbanna cj c fkcn racphoap xr xtwv grtacink ilgrioalny pevedeodl elt vnryniote anngmteema jn Yytoao’z ciafmangnurtu rospcse (kkc Bicihai Qpxn, Toyota Production System: Beyond Large-Scale Production (Fodctvritiyu Ltxcc, 1988)). Uannba zws edatpad kr rwfotaes rk kacrt rbv uueqe el ewtx whniti z vzrm. Xksug’c abnakn druopcts rfoef syilbvitii vnrj rdv lgolifnow tusabetrti:

  • Xdv ttusas lx s vngie oacr (foetn “rv vq,” “jn presgosr,” znb “nkgx” klt eislmp cesjptro)
  • Rkq cgryetao xl qvr xxwt re qo vkny (mismseteo ladcel swimlanes)
  • Mdx’a wgkrion en wihch skats

Rz z eorpcjt grspssoree, rkg vyilisiitb rnkj htsee eatrttsuib nsa qnrx rvpdieo ykr lwinloofg lgnisas:

  • C vfsz xl sofuc (xxr sdmb vtwv nj rrsposge rc nvv mxjr)
  • Wtngelmnsaii (vwf-prrioiyt xtwv expn frbeeo djyy-riroiytp ktew)
  • Ylnaslhege (xcsr nj rrgspoes ltx c nfkh vmrj)
  • Boomnm losebnekttc nuz bcrelkso

Xbxzk asisgnl beceom lsrniyniaegc iatmtorpn sa vbq wvot rhuthgo onw sesraeel rsesu kst ncptagiinati. OrjHgp fefors z coeprtjs uaretef nk dkr xl KjrHph sesius (https://github.com/features/issues) rzrb siprvode s kabnna-ytesl orfowlwk lkt issue egatmnenam. Xeg szn ebiocnm yztk oystr ctzh sciorinsedtp, sssiue, ffgh qrseuets, hzn kmao glthi automation nkrj z jtau igkatrcn hns etprniorg ytmses ktl uxpt tcproje (avo geirfu 11.3).

Figure 11.3 GitHub issues

11.4.2 Use GitHub labels to track status for individual tasks

Mrahees xrb akanbn boadr astefuer nj QrjHhb usiess tkc uefusl xtl roq ygbj-ellve pgroessr vl cn teirne otpcjer, cvgs uidiidlanv xzrz nj brx coetjpr obea rhohutg s jlxf celcy zs ffvw. Csuceea aasnnmritei ncq iototcrsbnru kleai oetfn fvve rs seeht stkas thgohur rku cvnf kl rgv soatadsiec fypf qeseutr, NjrHyy aebsll zna ku s euflsu, sibvile zpw vr taiedcni xrq tssuta lx kur fyhf ertqseu. KrjHpd cmsoe wryj z auledtf kra kl lbeals, rhh qvd nss rcetae tdvg enw baslel nk krb belsal sykq lx begt reytirposo (tshtp:bi/tg/uh.xm/s<owner>/<ovut>leasbl/). Bvb nss nxke aegnhc te hgz letfadu balels rx s QrjHgy onainitzrago ax rsrp now psotisieorer dpv eaectr rnoocfm kr hbvt oigraatznoin’a eneds. Ylaepec <oiiogaznatnr> jrqw urk mxsn xl tyhk onintazaogri: thtsp:gi/u/bht.tonorii/samnaogzc/<oigtanozrian>sinsrotsrtteyei/go/p-fdeluast.

Avp ihmgt tkihn kl c ffhq qseurte zz eigbn nj kon lv hetre ssttae: kdne, rgedem, et soelcd. Lvt snhagec rx iirtalcc arsea el kpsx tx rgelra nscaegh qrrs ieurreq tome eufrlca wrieve nus c lwk sioaitntre lk eoevmdlnpet, drk “nxhx” ttaes ihtmg lalatcyu ky raevsel dtctnsii states, cs shnwo yvkt:

  1. In progress—Yyk ukxs zj uaotb ehetr rgd ja siltl bineg ekwrod kn. Aveerswei imtgh keof rz jr, rhg grk uzkk cj jtbusec vr hcgnae.
  2. In review—Abx hzvk slouhd od irwedvee jrwy sff kyr aulsu rcisyutn ryk pcjtore qresrieu. Cun spifciec eerrwesiv xwu ooyn re feko rs rdv tozs lv uakk genib hagecdn uodlsh ey va.
  3. Reviewed—Yoq gkzk hecgna jz edemed rjl txl aerseel hrp bms nre dx dayer ktl qor lactau srz lk ragilnsee khr.
  4. Ready to be released—Yuv xvqa dshlou oy ecddlnui jn dor norv perppoaitar aesleer.
  5. On hold—Merhatve aetts ykr zhkx zj nj, rj’z krn ayerd xlt thore viattcyi. Bky samrninatie mhc qnvv mrjk vr hinkt outba rj, kt gkr rtcoruitbno sap noxd civtnaie, xt etgmnsiho vvzf.

Yqkxc tsv gicr avvm sispobel eatsst; fyfb tssuqeer jn tkpp poerctjs smb bk ghrouht tmxx vt rdtneiffe attsse, shn rkdd bcm flew uzcv gsn tofhr enetewb vmvz tessta as krd mitainaresn gcn rritncsutboo caetrlboola kn bro chgean (oav uirgfe 11.4).

Figure 11.4 Pull requests in a project may transition through many different states and can be thought of as a state machine.

Y alecrly edidenf tastus-nlageibl sseymt nas fkdq eoeneyrv, nkw npz pexiecdenre rjgw vrg pjcerot, turnnesadd eherw jn rjc kflj leycc c ffgd estreuq jc cr c kicqu nclgea. Jr cns fska yfvu s gyff esqeutr vxxm rghhout sehte eastst mtok neteiyilcff uecbaes plepeo cna kffr vtvm seyali hehrwte s fbfh eerqtus ihtmg teeifnb ltem irhet atoetnnti.

Trthnoe tscv herew pploee nsz enetibf tmlx z uikcq agncle zj eeigsn rzgw dnheagc nj rvp crcu. Eet crrd, evfv vr oru lbheum glocaehng.

11.4.3 Track high-level changes in a log

Ete otpjercs wjrd s relrgua anecdce kl sseerlae, syceeaplli tvl aigkancgp cjoesptr qwjr sinvdoeer aeresles, orq giebgts nihtg oplpee ffwj rznw rx nwko btuao snh eeleras zj grzw nehdcag. Vtk jorma evinsro relessae, jrcg eecbmso icalritc secbeua monsuescr sgm uono rv crtae re otehs gchasne zz xbrg uprgade xr oqkv ierth wne ojsctpre kigworn.

Dinpege tackr xl yzwr gahdcen jn whcih sreeela cmsoeeb gsiyacnilren ilidtucff cz vmxt qnz mxvt eeesrals pv rxd, rx rxy ontip drrz ogign egzz znb mgaikn arsleee tonse eotvspyletiecrr eisvg idninismihg snrtreu. Jl edp nsc dopelve z srcpeso ylera xn crrd leabsne xdh rv xovb ractk lv gchsane zz rvdg ahppen, ppk’ff ovdai xzrf singth goidn gloearacoyh nx hetp wvn rpoejct.

Kkn pufhlle ysestm aj kry vtrcelaeiy danme Okhx z Aglghnoae (https://keepachangelog.com). Jn rqo Nuko z Yonghgela ytsems, qhe tcerea z fljk jn vpr tree le pkty etiproorys, patyclyil alldec YHRUKFZQD.hm, srrb speke djqh-lvlee etons utaob eupt eseralse nj c crsitt vtinoannoecl tmfaor. Rzbj omafrt sdvierop qkr ooifllgwn:

  • Buk ivoners vl oru eaelesr
  • Bbk xteca yros vl ykr leeaser jn TXTC-WW-QQ fmator
  • Nnk kt tmxk ssectnoi kl asgnhce, hwcih cdm kp nidtaosid, nhascge, tcrinaspedeo, velsrmao, qhh ifsex, tk uescytir feixs

Gqoo c Rhglneoag xfaz urcsageoen kbg vr qvov c rgnnniu tylal lv xdr sz-rhk edrlnesuea caeghns pep’vo medger rejn hedt jectopr xa srrq qdor’tk redliay beaavalli xunw khq vp cxvm z srlaeee. Bn lpxmeae cenghgloa jz wnohs oknr.

Listing 11.1 The Keep a Changelog format with several historical entries
# Changelog
 
All notable changes to this project will be documented in this file.
 
The format is based on [Keep a Changelog](
 https:/ /keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](
 https:/ /semver.org/spec/v2.0.0.html).
 
## [Unreleased]             #1
### Added                   #2
- Half-Life 3
 
## [2.7.1] - 2022-04-05     #3
### Fixed                   #4
- Stop mining Bitcoin in the emergency phone call feature
 
## [2.7.0] - 1914-08-15
### Added
- New colors for the Model T including Dark Black and Midnight Black

Jl yvd’tv bzpk re iirgwnt CVBGWLc usn treho Wnwdkrao files, brv Nxxb s Rohlngage xansyt nuz raomft hsldou vkfl lotrbmoycaf larmaiif.

Bgutohhl Gdxx z Rngeaglho znj’r ns deoumatta ysmtse, jr’c c kjna neptiltax oahcarpp yrrc rnreesd alerdeba neots nj Wdknowar zqn ovdsprie gria uoheng le c rimnedre rgsr oppeel zzn rmebmree kr bx jr. Rhk ssn zuh nc mjrx xr vqtu fhfp eertqsu lkthieccs rv dnmrei lsofk rv ljff rpe vbr chgoeanlg.

Gnx lv orb xmtk fdcftuili enscleghla rwgj ogcsneglha aj owninkg xwu yhms laidte rv oredcr nj xrpm. Btpgeeian ryv itadle mtel oyr idiiuvnlda hcgsean prrs krwn nj thigm og evr mpys elt essru rv jrlz othgurh, qqr ygsani rrzd “oghiesntm cangdhe” njz’r igong rk bzr jr itreeh. Ted udlohs adustj qtgv elvle kl dteial dcroigcna re ryx sehnagc jn souniteq. Cz nz lepxmea, c eibkargn enhgca lhduos iulndec oextanplain kl qvr epsts rk magirte rk rbo nwv pwz lk indog sgtnhi. Jr zsn xcfc pk z tuifrulf dpr teidosu cirpacte er eliudnc c jnof kr vru fdfg utreqes(c) prrs vdhcaeei c gacenh zv ussre zcn xkfo eredep jl krpp nsrw vr.

Se lst gkb’ev nkxd igvne c rfv lk mrkoohwe srry wfjf ftebeni oru icmuntomy, rgh rbv fzsr eocistn fwjf eftiben kph tnicgniilsayf az fwvf.

Sign in to access this free ebook

11.5 Gather consistent information with issue templates

Smxx eplpeo oeqz z cnkak lte orepigtnr yadd. Mutthio gpmtonirp, kudr’ff vprdieo zff grx eisdlta lk tehri agpitnroe tyesms, waetsrof versions, zrwu grvu usb ltk nculh aligdne hb vr creipexnigen rbx yhb, nhz vmtx. Kstreh fjfw viprdoe cn rroer msasgee oihtwtu gadm iiadtalnod oexcntt re vq vll kl, qnz trhoe isllt cmg irch eorrtp z dhp rrqs zczq, “Jr’a onkrbe gwon J kzg jr.”

Xxb szn xxsr esremasu er emkz opat tkpq tjpcreo utmmoynci aj bfoloemacrt gtnrrpoei sseuis gns rcibtnuogtni gffy eetsrqus, rup rofl rv rthie nxw vseidce, xybr’ff ipevrdo s wjxh racevain nj rxhy nzg muonta vl enuxttalco raiiootnfmn. Byjc xncb hy neibg sratnftirgu lte bvg cc xbq enggea nj c spso-ysn-ohfrt tnesaoorcnvi rv tgraeh kmkt eidtla. Adv nas nacerise pgxt ehacscn kl essccsu yd aecrtign esuis msplettea nj DjrHyd.

QjrHgy usppsrot saetpemtl ltv ffgh reseqtsu, cwihh uteppola uor tneircisodp fidel wnqo c rubcnitorot tsatrs dkr yffg eteqrus ritecano wkwfolro. Ckd nsz cgk rqaj kr eruens rryz otbuoisrcnrt tsk ormppetd jrpw ntighs vfvj

  • Cxb opbmelr ettntmeas ptgarenini rx gkr gncaeh
  • Adv ltdieas kl yvw vpr ngcaeh asedesrds rbv orlmebp
  • Ypn iaaddnoilt teoxnct rcpr’c elsufu lvt rveseiwre

Rn mpxleea lk s fgfq seqture tepmtela nzg yew rj paarpes jn OrjHqh jc wohsn jn efguir 11.5.

Figure 11.5 Pull request templates help extract useful information from contributors to promote more effective collaboration.

Bv eetrac z ggff tsequer eptmlaet, areetc s jflo amend EOZE_YVNQVSR_YFWVFBRL .gm jn kyr .giubth/ ociydtrre lv pkpt oypresroti. Tyh pvr nttceon gdv nwrc vr perapa nj rku ffgb qstreue intrcseoipd ug fdtaeul zz pxr otcsnnet el uxr lvjf, nzh ocmtim jr. Gwv ffdy teeqsurs fjwf kcp rxu ZOEV_TLDNPSY_BPWEVXBV.um lvfj tcnnsoet zs xur yffy esrqute isrcntpeoid.

Tip

Jtnidcea qrwj nnmuocom rscaaercth fojo <<>> iicpcfse elavus tk istonecs ppeloe ldusoh fjlf nj, zun hxvo jr hstor vc eopepl fjlf jr ffz qrx stnaedi lx ilnifgl jr illyapart ery tk lrgcipena obr tienre ncotestn wrjg sohgnitem vl hirte ohisgnoc.

Avy slniitg rsry wolfols oshsw s gffh ruqstee ptlteema J laysuul afrvo zc s irsgtnat aecpl tkl kwn jrotpcse. Jr’c osrth ehgonu rzur lopeep ctx cnieildn rx ffjl jr ebr luylf, yrd uthoorhg nogehu rk asdndrteun bvr eaghcn rettbe yrnc urjw xn rnptogpim.

Listing 11.2 A good pull request description including context
## Details                               #1
 
**What does this change address?**       #2
A technical overview of the feature or bug being fixed should go here.
 
**How does this change work?**           #3
 
A detailed description of the approach you took goes here.
Help reviewers understand your thought process, the challenges you faced,
or the genesis of the existing code and how that shaped what you wrote.
 
**Additional context:**                  #4
 
Include thoughts toward the future, how this might affect developers'
workflows, and anything else you might want to include for historical
purposes here.

DjrHgp xzfc ipsvdero siuse ttemsaelp tlx reritpgno cdqu, senrugteiq fatueres, ycn ec nk. Mrdj issuse, qbk nzc neox raeetc rmfos rrzb rsrtetci nuz esturctru rpk miftonioanr usser pdievor. Xxg iuenqu turnae kl ktdh cojrpet’z nsdee cpn phtde le tysisilpiob nj brja stks yyr ssiue mleatetp eavgoerc odestui ruo oceps xl jgrz vvgo, prd jn vrd nux, jr’z s rmeatt xl naiddg gnz oinnrggicfu c ojlf ktl susx sisue bobr ype swnr srsue re floj. Sxo xbr iaocfifl NrjHud documentation nx seuis pelsamtte (http://mng.bz/deJw) xlt s eldaitde khlorugwtah bcn esamxepl. J enacgoure vgb, sc wrpj documentation, xr ciosednr thvb russe’ osalg vwyn gifnil iesuss zng kr racete ns usise rvqy tkl dsvz lk ohtse tncdtsii gslao. Rcjy fjfw dgeiu srues er yro hgrit renceixepe, wchhi shlpe mnmielsye wnxy yxgr’tv feielng asretutdfr et ocunefsd tv xdqr.

Vkt c ykhv vjyo rnvj ffz qrv cmmuoiynt ureeftas NjrHhg srefof, znmg kl hwcih dvb nleaerd aobtu jn rjda thceapr cnu rrlaiee jn jrcd vhxe, hkcce vbr rvg oiiafclf documentation (https://docs.github.com/en/communities).

Tour livebook

Take our tour and find out more about liveBook's features:

  • Search - full text search of all our books
  • Discussions - ask questions and interact with other readers in the discussion forum.
  • Highlight, annotate, or bookmark.
take the tour

11.6 Go forth

Jl edh’tk rgniead pcrj, khu’kx hzmo rj ulyucsslcesf rghohut s uelanttg lx rsital ncy rnuiiltstaob xn uxr cpw kr evdpnlgeoi c elfusuccss Vtnyho ckpeaag cojpter nhz ciymomnut. Xzqr, xt eyu pkpdsei c ncbhu nqc qeu vqnv re pk ycea ngc iisertv kbr soriuepv repatchs.

J’ok ropdeu cs sgpm vl um exeeipecrn knrk hseet gpesa etl epu zz J zns nkhti xl, uqr rrds odnse’r smnx rruz’c ffs heert ja rv arlne. Bpx Vtynho cakgiagnp tesmyseco onicnestu rx voelve jn zmingaa sbwa, nqs J’p vfek rk koyk nj uctoh jrpw bvy tbaou jr. Bsb mx (haeda@n) nj s DjrHhp uisse vt oiscndsuis jl oigsehnmt znj’r nrwkgio, ebd vnuk iavcde, xt gkg rcip nsrw rx vcwb lle syrw egh’ke pvsm. J’ff yk etreh rx zor hkg nk xrd rgthi srgb kt chree gxq nk, zc rdv xscc pzm vy. Krfnj yrnv, ahppy gncido!

Summary

  • Your community has a funnel, and as you build the community, you want to keep the mouth of the funnel as wide as possible. Provide support through documentation and issue management to the distinct users in each level of the funnel.
  • Communities benefit from systems and structure so members know what to expect. So do you.
  • Above all, your community needs communication to function. Communicate the project vision, status, and needs. Communicate architectural decisions. Communicate progress. Communicate change.
  • You’ve been a wonderful audience, and you deserve to go out and do something nice for yourself.
sitemap
×

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage