Programování

GitHub pro nás ostatní

Existuje důvod, proč vývojáři softwaru žijí na špičkách nerovnoměrně distribuované budoucnosti: Jejich pracovní produkty byly vždy digitální artefakty a od úsvitu sítí byly jejich pracovní procesy propojeny.

Nástroje, které umožňují vývojářům softwaru pracovat, a kultury, které obklopují používání těchto nástrojů, mají tendenci najít si cestu do hlavního proudu. Při zpětném pohledu je zjevné, že e-mail a okamžité zprávy - oba používané vývojáři dříve než kdokoli jiný - by dosáhly masy. Tyto způsoby komunikace byly relevantní pro všechny.

Je méně zřejmé, že Git, nástroj vynalezený ke koordinaci vývoje linuxového jádra, a GitHub, kultura založená na nástrojích, která jej obklopuje, budou stejně široce relevantní. Většina lidí si nesnáší kód na živobytí. Ale protože pracovní produkty a procesy každé profese jsou stále více digitalizovány, mnozí z nás budou tíhnout k nástrojům navrženým ke koordinaci naší práce na sdílených digitálních artefaktech. Proto si Git a GitHub hledají cestu do pracovních toků, které produkují jiné artefakty než nebo kromě kódu.

Jak uvádí Wired, ReadWrite a jinde, GitHub se používá ke správě společného vývoje receptů, hudebních partitur, knih, písem, právních dokumentů, lekcí a tutoriálů a datových sad. Jak je to možné vzhledem k nechvalně známé složitosti Gitu?

Jedním z důvodů je, že GitHub ve svém webovém rozhraní postupně odhalil více základních funkcí Gitu. Dalším je vznik webových aplikací, které používají GitHub jako platformu. Pak je tu kulturní faktor: GitHub ztělesňuje konkrétní způsob spolupráce. Dave Winer to popisuje frází „vyprávějte svou práci.“ Použil jsem „pozorovatelnou práci“. Hnutí Responsive Organization oslavuje „transparentnost ohledně soukromí“. Pro evangelistu vlády GitHub, Bena Baltera, je to „otevřená spolupráce“.

Blogový příspěvek, ve kterém Ben Balter navrhuje tento výraz, byl nepublikovaný, když jsem si ho přečetl. Ale protože je blog hostován na veřejném úložišti GitHub, mohl jsem si příspěvek nejen přečíst ve formě konceptu, ale také sledovat diskusi s pozvanými recenzenty a sledovat, jak tato diskuse ovlivnila koncept. Úložiště samozřejmě nemusí být přístupné veřejnosti - ale každá organizace by měla chtít, aby její interní procesy tento styl otevřené spolupráce využily. Podle Briana Dolla, viceprezidenta strategie pro GitHub, rostoucí počet společností dělá přesně to.

V dnešní době se často říká, že každá společnost je softwarová společnost. To platí abstraktně, pokud definujete duševní vlastnictví jako software. Ale také to doslova platí pro mnoho společností, jejichž hodnota je ztělesněna softwarem, který vyvíjejí interně.

Bylo vždy žádoucí rozšířit účast na tomto vývoji nad rámec tradičních disciplín kódu, testu, QA a dokumentace. Pokud však příspěvek, který můžete poskytnout, byl založen na vašem pochopení podnikání nebo zákazníka, nemůžete se zapojit přímo.

„To je šílené,“ říká Brian Doll. „Pokud jste banka, nástroje pro správu majetku, které používají vaši zaměstnanci a zákazníci jsou jak mohou tito lidé mít přímou ruku při jeho vylepšování? “S GitHubem se každý účastník může stát prvotřídním účastníkem. Místo psaní e-mailů, které obíhají kolem systému záznamu, mohou posílat žádosti o stažení a diskutovat o souvisejících problémech přímo v tomto systému.

Zkrocení bestie Git

Git, decentralizovaný modul pro řízení verzí pod kapotou GitHubu, pracuje způsobem, který překvapí nejen neprogramátory, ale i programátory, kteří k němu přicházejí z centralizovaných systémů.

V těchto systémech je velkým problémem vytvořit větev v úložišti, aby bylo možné prozkoumat alternativní verzi sady artefaktů. V Gitu je větev lehkou konstrukcí, iluzí vytvořenou pohybem ukazatelů místo dat. V konvenčním systému by bylo nemyslitelně nákladné vytvořit větev pro změnu jediného slova v dokumentu. Díky Gitu je tento manévr triviálně levný. GitHub jej může vložit do pracovního postupu - požadavku na vytažení - který zapouzdřuje diskusi o změně a spojuje ji s historií změn dokumentu.

Díky proteanovým schopnostem Git se z ní stala laboratoř pro inovace pracovních postupů a mnoho přístupů, které se objevily, představuje další vrstvu složitosti. Mechanika větvení a slučování je dost složitá, ale existují také různé myšlenkové směry o tom, kdy a jak se rozdělit a sloučit. To vše je pro programátory náročné a přesahuje většinu ostatních. Jak můžete toto zvíře zkrotit, aby se ho mohli zúčastnit netechnické zúčastněné strany?

Odpověď GitHub: Vylepšete web pro hlavní aktivity. Právník, který chce změnit jedno slovo v právním dokumentu, nemusí používat strašidelného klienta Git; ona může upravit soubor v prohlížeči. Tato akce nastartuje pracovní postup vyžádání, který automatizuje vytvoření větve vyhrazené pro navrhovanou změnu. GitHubbers rádi říkají, že „existuje jen jeden způsob, jak něco změnit.“ Nikdo není povinen dodržovat toto zlaté pravidlo, ale postupuje po cestě nejmenšího odporu.

Výsledkem je, že každý ve společnosti s podporou GitHub může tento osvědčený postup snadno přijmout. „Místo toho, abyste šplhali do chladiče vody, protože software je hrozný,“ říká Brian Doll, „máte způsob, jak to změnit.“ Tato angažovanost se může rozšířit i na zákazníky.

Samotná změna GitHubu je další věc. „Krátce poté, co jsem tam najat,“ říká Greg Wilson, zakladatel projektu Software Carpentry, „neexistuje způsob, jak opravit, jak GitHub spravuje oprávnění, umožnit uživateli vytvořit více vidlic repo nebo cokoli jiného.“

Všude, kde je povolena interakce ve stylu GitHub, však mechanismus změny funguje stejně, bez ohledu na to, zda je přínosem ke změně kód nebo dokumentace nebo právní poradenství nebo obchodní perspektiva nebo zpětná vazba od zákazníků.

Hodnotu této sdílené konvence, pravděpodobně nejdůležitější inovace GitHub, zvyšují další konvence importované ze sociálních médií. Na Twitteru můžete například upozornit jiného uživatele Twitteru uvedením jeho uživatelského jména. Tato technika @mention funguje v GitHubu pro jednotlivce i pro týmy.

K dispozici je také GitHub Pages, služba, která hostuje webové stránky nad úložišti GitHub. Je upřednostňován technickými blogery, kteří jsou obeznámeni s Gitem a jsou ochotni nainstalovat (a používat místně) generátor webů na bázi Ruby s názvem Jekyll. Ale jak zjistili ostatní, nemusíte Jekyll instalovat. Je možné spravovat web GitHub Pages zcela v prohlížeči a využívat výhod historie verzí a diskuse o problémech.