Programavimas

„GitHub“ mums visiems

Yra priežastis, kodėl programinės įrangos kūrėjai gyvena netolygiai paskirstytos ateities priekyje: jų darbo produktai visada buvo skaitmeniniai dirbiniai, o nuo pat tinklų aušros jų darbo procesai buvo susiję.

Įrankiai, leidžiantys programinės įrangos kūrėjams dirbti, ir kultūros, apimančios tų įrankių naudojimą, dažniausiai patenka į pagrindinę sritį. Žvelgiant atgal, atrodo akivaizdu, kad el. Paštas ir tiesioginiai pranešimai, kuriuos abu kūrėjai naudojo anksčiau nei kas kitas, būtų pasiekę masę. Tie bendravimo būdai buvo aktualūs visiems.

Mažiau akivaizdu, kad „Git“, įrankis, sugalvotas koordinuoti „Linux“ branduolio plėtrą, ir jį supanti „GitHub“ - įrankiais paremta kultūra. Daugelis žmonių nepraleidžia kodo pragyvenimui. Tačiau vis labiau skaitmeninant kiekvienos profesijos darbo produktus ir procesus, daugelis iš mūsų imsis priemonių, skirtų koordinuoti mūsų darbą dėl bendrų skaitmeninių dirbinių. Štai kodėl „Git“ ir „GitHub“ ieško darbo eigų, kurios gamina artefaktus, išskyrus kodą ar be jo.

Kaip pranešama „Wired“, „ReadWrite“ ir kitur, „GitHub“ naudojama valdyti receptų, muzikinių partitūrų, knygų, šriftų, teisinių dokumentų, pamokų ir mokymo programų bei duomenų rinkinių bendradarbiavimo plėtrą. Atsižvelgiant į liūdnai pagarsėjusį „Git“ sudėtingumą, kaip tai įmanoma?

Viena iš priežasčių yra ta, kad „GitHub“ palaipsniui atskleidė daugiau pagrindinių „Git“ galimybių savo žiniatinklio sąsajoje. Kitas yra žiniatinklio programų, naudojančių „GitHub“ kaip platformą, atsiradimas. Tada yra kultūrinis faktorius: „GitHub“ įkūnija ypatingą darbo kartu būdą. Dave'as Wineris apibūdina tai fraze "pasakok savo darbą". Aš naudojau „stebimą darbą“. „Responsive Organization“ judėjimas švenčia „privatumo skaidrumą“. „GitHub“ vyriausybės evangelistui Benui Balteriui tai „atviras bendradarbiavimas“.

Tinklaraščio įrašas, kuriame Benas Balteris siūlo tą terminą, nebuvo paskelbtas, kai jį perskaičiau. Kadangi tinklaraštis yra viešoje „GitHub“ saugykloje, aš galėjau ne tik perskaityti įrašą juodraščio forma, bet ir stebėti diskusiją su pakviestais recenzentais ir stebėti, kaip ši diskusija paveikė juodraštį. Saugykla, žinoma, neturi būti atvira visuomenei, tačiau kiekviena organizacija turėtų norėti, kad jos vidiniai procesai panaudotų šį atviro bendradarbiavimo stilių. Pasak „GitHub“ strategijos viceprezidento Briano Dollo, vis daugiau įmonių daro būtent tai.

Šiais laikais dažnai sakoma, kad kiekviena įmonė yra programinės įrangos įmonė. Tai tiesa abstrakčiai, jei intelektinę nuosavybę apibrėžiate kaip programinę įrangą. Bet tai tiesiogine prasme tinka ir daugeliui įmonių, kurių vertė yra programinė įranga, kurią jos kuria savo viduje.

Visada buvo pageidautina išplėsti dalyvavimą tame rengime už tradicinių kodekso, testų, kokybės užtikrinimo ir dokumentavimo disciplinų ribų. Bet jei indėlis, kurį galite padaryti, buvo pagrįstas jūsų verslo ar kliento supratimu, negalėtumėte tiesiogiai užsiimti.

„Tai beprotiška“, - sako Brianas Dollas. „Jei esate bankas, turto valdymo įrankius naudoja jūsų darbuotojai ir klientai yra produktą, kaip tie žmonės negali turėti tiesioginės rankos jį tobulindami? "Su„ GitHub "kiekvienas suinteresuotas asmuo gali tapti aukščiausios klasės dalyviu. Užuot rašę el. laiškus, kurie skrieja aplink įrašų sistemą, jie gali siųsti užklausas ir aptarti susijusius klausimus. tiesiogiai toje sistemoje.

Prisijaukinti Git žvėrį

„Git“, decentralizuotas versijų valdymo variklis po „GitHub“ dangčiu, veikia taip, kad nustebina ne tik programuotojus, bet ir programuotojus, kurie į jį ateina iš centralizuotų sistemų.

Šiose sistemose labai svarbu sukurti filialą saugykloje, kad būtų galima ištirti alternatyvią artefaktų rinkinio versiją. „Git“ filialas yra lengvas konstruktas, iliuzija, sukurta perkeliant rodykles, o ne duomenis. Įprastoje sistemoje būtų neįsivaizduojama brangu sukurti atšaką, kad dokumente būtų pakeistas vienas žodis. Gitas daro tą manevrą trivialiai pigų. „GitHub“ gali jį įterpti į darbo eigą - traukimo užklausą, kuri apima diskusiją apie pakeitimą ir susieja ją su dokumento pakeitimų istorija.

Gito protiniai sugebėjimai pavertė jį darbo eigos naujovių laboratorija, o daugelis pasirodžiusių metodų yra dar vienas sudėtingumo sluoksnis. Šakojimosi ir sujungimo mechanika yra pakankamai kebli, tačiau yra ir įvairių minčių mokyklų, kada ir kaip išsišakoti ir susijungti. Visa tai yra sudėtinga programuotojams ir daugeliui kitų. Kaip galima prisijaukinti šį žvėrį, kad netechniniai suinteresuotieji asmenys galėtų dalyvauti?

„GitHub“ atsakymas: patobulinkite pagrindinės veiklos svetainę. Advokatui, norinčiam pakeisti vieną žodį teisiniame dokumente, nereikia naudoti baisaus „Git“ kliento; ji gali redaguoti failą naršyklėje. Šis veiksmas pradės „pull-request“ darbo eigą, kuri automatizuos filialo, skirto siūlomam pakeitimui, sukūrimą. „GitHubbers“ mėgsta sakyti, kad „yra tik vienas būdas ką nors pakeisti“. Niekas neprivalo laikytis tos auksinės taisyklės, tačiau tai darydamas eina mažiausio pasipriešinimo keliu.

Todėl visi „GitHub“ įgalinusioje įmonėje gali lengvai pritaikyti šią geriausią praktiką. „Užuot graužęsis dėl vandens aušintuvo, nes programinė įranga yra baisi, - sako Brianas Dollas, - jūs turite būdą ją pakeisti. Šis įsitraukimas gali apimti ir klientus.

Pats „GitHub“ keitimas yra kitas dalykas. „Netrukus ten įsidarbinsiu, - sako Gregas Wilsonas,„ Software Carpentry “projekto įkūrėjas, - aš niekaip negaliu pataisyti, kaip„ GitHub “tvarko leidimus, leidžia vartotojui padaryti kelias atpirkimo šakutes ar dar ką nors.

Visur, kur įgalinta „GitHub“ stiliaus sąveika, pakeitimų mechanizmas veikia taip pat, nesvarbu, ar indėlis į pakeitimą yra kodas ar dokumentai, ar teisinės konsultacijos, ar verslo perspektyva, ar klientų atsiliepimai.

Šios bendros konvencijos, neabejotinai svarbiausios „GitHub“ naujovės, vertę padidina kitos iš socialinės žiniasklaidos importuojamos konvencijos. Pavyzdžiui, „Twitter“ galite atkreipti kito „Twitter“ vartotojo dėmesį pamindami jų vartotojo vardą. Ši „@mention“ technika „GitHub“ veikia pavieniams asmenims ir komandoms.

Taip pat yra „GitHub Pages“ - paslauga, kurioje talpinamos svetainės yra ant „GitHub“ saugyklų. Tai mėgsta techniniai tinklaraštininkai, kurie yra susipažinę su „Git“ ir nori įdiegti (ir naudoti vietoje) „Ruby“ pagrindu sukurtų svetainių generatorių, vadinamą „Jekyll“. Tačiau, kaip atrado kiti, jums nereikia įdiegti „Jekyll“. Galima visiškai tvarkyti „GitHub Pages“ svetainę naršyklėje ir mėgautis versijų istorijos pranašumais bei diskusijomis.