Programovanie

GitHub pre nás ostatných

Existuje dôvod, prečo vývojári softvéru žijú na popredných priečkach nerovnomerne rozloženej budúcnosti: Ich pracovné produkty boli vždy digitálnymi artefaktmi a od úsvitu sietí boli ich pracovné procesy prepojené.

Nástroje, ktoré umožňujú vývojárom softvéru pracovať, a kultúry, ktoré obklopujú použitie týchto nástrojov, majú tendenciu nájsť si cestu do hlavného prúdu. Spätne sa zdá byť zrejmé, že e-mail a okamžité správy, ktoré vývojári používali skôr ako ktokoľvek iný, by sa dostali k masám. Tieto spôsoby komunikácie boli relevantné pre všetkých.

Je menej zrejmé, že Git, nástroj vyvinutý na koordináciu vývoja jadra Linuxu, a GitHub, kultúra založená na nástrojoch, ktorá ho obklopuje, bude rovnako široko relevantná. Väčšina ľudí si neprivodí kód na živobytie. Ale keďže pracovné produkty a procesy každej profesie sú čoraz viac digitalizované, mnohí z nás budú tápať k nástrojom určeným na koordináciu našej práce na zdieľaných digitálnych artefaktoch. Preto si Git a GitHub nachádzajú cestu do pracovných tokov, ktoré produkujú artefakty iné ako alebo okrem kódu.

Ako je uvedené v publikáciách Wired, ReadWrite a inde, GitHub sa používa na správu spoločného vývoja receptov, hudobných partitúr, kníh, písiem, právnych dokumentov, lekcií a cvičení a súborov údajov. Ako je to možné vzhľadom na neslávne známu zložitosť Gitu?

Jedným z dôvodov je, že GitHub vo svojom webovom rozhraní postupne odhalil viac základných funkcií Gitu. Ďalším je vznik webových aplikácií, ktoré využívajú GitHub ako platformu. Potom je tu aj kultúrny faktor: GitHub stelesňuje konkrétny spôsob spolupráce. Dave Winer to popisuje vetou „rozprávajte svoju prácu“. Použil som „pozorovateľnú prácu“. Hnutie responzívnej organizácie oslavuje „transparentnosť v oblasti ochrany súkromia“. Pre evanjelistu vlády GitHuba Bena Baltera je to „otvorená spolupráca“.

Keď som si ho prečítal, blogový príspevok, v ktorom Ben Balter navrhuje tento výraz, nebol zverejnený. Pretože je však blog hostený na verejnom úložisku GitHub, nemohol som si príspevok iba prečítať v podobe konceptu, ale aj sledovať diskusiu s pozvanými recenzentmi a sledovať, ako táto diskusia ovplyvnila koncept. Úložisko samozrejme nemusí byť prístupné verejnosti - ale každá organizácia by mala chcieť, aby jej vnútorné procesy využívali tento štýl otvorenej spolupráce. Podľa Briana Dolla, viceprezidenta stratégie pre GitHub, rastúci počet spoločností robí presne to.

V dnešnej dobe sa často hovorí, že každá spoločnosť je softvérovou spoločnosťou. To platí abstraktne, ak definujete duševné vlastníctvo ako softvér. Ale takisto to doslova platí pre mnoho spoločností, ktorých hodnota je zakomponovaná do softvéru, ktorý vyvíjajú interne.

Vždy bolo žiaduce rozšíriť účasť na tomto vývoji nad rámec tradičných disciplín kód, test, QA a dokumentácia. Ak bol váš príspevok založený na vašom porozumení podniku alebo zákazníkovi, nemohli ste sa zapojiť priamo.

„To je šialené,“ hovorí Brian Doll. „Ak ste banka, nástroje na správu majetku, ktoré používajú vaši zamestnanci a zákazníci ako môžu tí ľudia mať priamu ruku pri jeho vylepšovaní? “Vďaka GitHubu sa každý zainteresovaný subjekt môže stať prvotriednym účastníkom. Namiesto písania e-mailov, ktoré obiehajú okolo systému záznamu, môžu posielať žiadosti o stiahnutie a diskutovať o súvisiacich problémoch priamo v tom systéme.

Skrotenie šelmy Git

Git, decentralizovaný riadiaci modul verzie pod kapotou GitHubu, pracuje spôsobom, ktorý prekvapí nielen neprogramátorov, ale aj programátorov, ktorí k nemu prichádzajú z centralizovaných systémov.

V týchto systémoch je veľkým problémom vytvoriť pobočku v úložisku, aby bolo možné preskúmať alternatívnu verziu sady artefaktov. V Gite je vetva ľahká konštrukcia, ilúzia vytvorená pohybom ukazovateľov namiesto údajov. V konvenčnom systéme by bolo nemysliteľne nákladné vytvoriť vetvu na zmenu jedného slova v dokumente. Git robí tento manéver triviálne lacným. GitHub ho môže vložiť do pracovného toku - požiadavky na stiahnutie -, ktorá zapuzdruje diskusiu o zmene a spojí ju s históriou zmien dokumentu.

Vďaka proteanovým schopnostiam Git sa z neho stalo laboratórium pre inovácie pracovných postupov a mnoho prístupov, ktoré sa objavili, predstavuje ďalšiu vrstvu zložitosti. Mechanika rozvetvenia a zlúčenia je dosť zložitá, existujú však aj rôzne názorové školy, kedy a ako sa rozvetviť a zlúčiť. To všetko je pre programátorov náročné a prekonáva väčšinu ostatných. Ako môžete skrotiť toto zviera, aby sa ho mohli zúčastniť netechnické subjekty?

Odpoveď GitHubu: Vylepšite webovú stránku o základné činnosti. Právnik, ktorý chce zmeniť jedno slovo v právnom dokumente, nemusí používať strašidelného klienta Git; ona môže upraviť súbor v prehliadači. Táto akcia odštartuje pracovný tok požiadaviek na stiahnutie, ktorý automatizuje vytvorenie pobočky venovanej navrhovanej zmene. GitHubbers radi hovoria, že „existuje len jeden spôsob, ako niečo zmeniť.“ Nikto sa nemusí riadiť týmto zlatým pravidlom, ale sleduje to cestu najmenšieho odporu.

Výsledkom je, že každý v spoločnosti s povoleným GitHubom môže tento osvedčený postup ľahko prijať. „Namiesto toho, aby ste sa usilovali o chladič vody, pretože softvér je hrozný,“ hovorí Brian Doll, „máte spôsob, ako to zmeniť.“ Táto angažovanosť sa môže rozšíriť aj na zákazníkov.

Samotná zmena GitHubu je iná vec. „Krátko po tom, čo som sa tam zamestnal,“ hovorí Greg Wilson, zakladateľ projektu Software Carpentry, „neexistuje spôsob, ako by som mohol opraviť, ako GitHub spravuje povolenia, umožniť používateľovi vytvoriť viacnásobné vidlice repo alebo čokoľvek iného.“

Všade, kde je povolená interakcia v štýle GitHub, však mechanizmus zmeny funguje rovnakým spôsobom, bez ohľadu na to, či k zmene prispieva kód alebo dokumentácia alebo právne poradenstvo alebo obchodná perspektíva alebo spätná väzba od zákazníkov.

Hodnotu tejto zdieľanej konvencie, pravdepodobne najdôležitejšej inovácie GitHub, zvyšujú ďalšie konvencie importované zo sociálnych médií. Napríklad na Twitteri môžete upozorniť iného používateľa služby Twitter uvedením jeho používateľského mena. Táto technika @mention funguje v GitHube pre jednotlivcov aj pre tímy.

K dispozícii je tiež GitHub Pages, služba, ktorá hosťuje webové stránky nad úložiskami GitHub. Uprednostňujú ho technickí blogeri, ktorí sú oboznámení s Gitom a sú ochotní nainštalovať (a používať lokálne) generátor webov na báze Ruby s názvom Jekyll. Ale ako už ostatní zistili, Jekyll nemusíte inštalovať. Je možné spravovať stránku GitHub Pages úplne v prehliadači a využívať výhody histórie verzií a diskusie o problémoch.

$config[zx-auto] not found$config[zx-overlay] not found