Programiranje

GitHub za nas ostale

Obstajajo razlogi, zakaj razvijalci programske opreme živijo na vodilnih robovih neenakomerno porazdeljene prihodnosti: njihovi delovni izdelki so bili vedno digitalni artefakti in od začetka omrežij so bili njihovi delovni procesi povezani.

Orodja, ki razvijalcem programske opreme omogočajo delo, in kulture, ki obkrožajo uporabo teh orodij, se običajno znajdejo v glavnem toku. Za nazaj se zdi očitno, da bi e-pošta in takojšnja sporočila, ki so jih razvijalci uporabljali prej kot kdo drug, dosegla množico. Ti načini komunikacije so bili pomembni za vse.

Manj očitno je, da bosta Git, orodje, ki je bilo izumljeno za usklajevanje razvoja jedra Linux, in GitHub, kultura, ki temelji na orodju, obdajali enako pomembno. Večina ljudi si ne predstavlja kode za preživljanje. Ker pa so izdelki in procesi vsakega poklica vse bolj digitalizirani, bomo mnogi od nas gravitirali k orodjem, namenjenim usklajevanju našega dela na skupnih digitalnih predmetih. Zato se Git in GitHub znajdeta v delovnih poteh, ki ustvarjajo artefakte, ki niso ali poleg kode.

Kot poročajo v Wired, ReadWrite in drugje, se GitHub uporablja za upravljanje skupnega razvoja receptov, glasbenih partitur, knjig, pisav, pravnih dokumentov, lekcij in vadnic ter naborov podatkov. Kako je to mogoče glede na neslavno zapletenost Gita?

Eden od razlogov je ta, da je GitHub v svojem spletnem vmesniku postopoma izpostavil več osnovnih zmožnosti Git. Drugi je pojav spletnih aplikacij, ki uporabljajo GitHub kot platformo. Potem je tu še kulturni dejavnik: GitHub pooseblja poseben način skupnega dela. Dave Winer to opiše s stavkom "pripovedujte o svojem delu." Uporabil sem "opazno delo." Gibanje odzivne organizacije praznuje "preglednost zasebnosti". Za vladnega evangelista GitHub-a Bena Balterja gre za "odprto sodelovanje".

Objava v blogu, v kateri Ben Balter predlaga ta izraz, ni bila objavljena, ko sem ga prebrala. Ker pa blog gostuje v javnem skladišču GitHub, nisem mogel le prebrati prispevka v obliki osnutka, ampak sem lahko tudi spremljal razpravo s povabljenimi recenzenti in opazoval, kako je ta razprava vplivala na osnutek. Skladišča seveda ni treba odpreti javnosti - vendar bi morala vsaka organizacija želeti, da njeni notranji procesi izkoristijo ta slog odprtega sodelovanja. Po besedah ​​Briana Dolla, podpredsednika strategije za GitHub, vse več podjetij počne točno to.

Dandanes se pogosto reče, da je vsako podjetje podjetje s programsko opremo. To velja abstraktno, če intelektualno lastnino definirate kot programsko opremo. Toda to dobesedno velja za številna podjetja, katerih vrednost je utelešena v programski opremi, ki jo razvijajo interno.

Vedno je bilo zaželeno, da se sodelovanje pri tem razvoju razširi nad tradicionalne discipline kode, testa, preverjanja kakovosti in dokumentacije. Če pa bi prispevek lahko temeljil na vašem razumevanju podjetja ali kupca, ne bi mogli neposredno sodelovati.

"To je noro," pravi Brian Doll. "Če ste banka, orodja za upravljanje premoženja uporabljajo vaši zaposleni in vaše stranke so kako lahko ti ljudje nimajo neposredne roke pri njegovem izboljšanju? "Z GitHubom lahko vsaka zainteresirana stran postane prvovrstni udeleženec. Namesto pisanja e-poštnih sporočil, ki krožijo po sistemu zapisov, lahko pošljejo zahteve za vlečenje in razpravljajo o povezanih vprašanjih. neposredno v tem sistemu.

Kroćenje zverke Git

Git, decentralizirani motor za nadzor različic pod pokrovom GitHub-a, deluje na načine, ki presenečajo ne samo programerje, temveč tudi programerje, ki nanj prihajajo iz centraliziranih sistemov.

V teh sistemih je velika stvar ustvariti vejo znotraj skladišča, da bi raziskali alternativno različico nabora artefaktov. V Gitu je veja lahek konstrukt, iluzija, ustvarjena s premikanjem kazalcev namesto podatkov. V običajnem sistemu bi bilo nepredstavljivo drago ustvariti vejo za spremembo ene same besede v dokumentu. Git je ta manever malenkost poceni. GitHub ga lahko vdela v potek dela - zahtevo za vlečenje -, ki vključuje razpravo o spremembi in jo poveže z zgodovino sprememb dokumenta.

Gitove proteanske zmogljivosti so ga naredile za laboratorij za inovacije delovnega toka, številni pristopi, ki so se pojavili, pa predstavljajo še eno plast zapletenosti. Mehanika razvejanja in združevanja je dovolj zapletena, obstajajo pa tudi različne šole razmišljanj o tem, kdaj in kako se lahko razveja in združi. Vse to je za programerje zahtevno in presega večino drugih. Kako lahko ukrotite to zver, da lahko sodelujejo netehnične zainteresirane strani?

Odgovor GitHub: Izboljšajte spletno mesto za osnovne dejavnosti. Odvetniku, ki želi spremeniti eno besedo v pravnem dokumentu, ni treba uporabljati strašljivega odjemalca Git; datoteko lahko ureja v brskalniku. To dejanje bo sprožilo potek zahtevka za povlečenje, ki avtomatizira ustvarjanje veje, namenjene predlagani spremembi. GitHubbers radi rečejo, da "obstaja samo en način, kako nekaj spremeniti." Nihče se ne mora držati tega zlatega pravila, vendar s tem sledi poti najmanjšega odpora.

Posledično lahko vsi v podjetju, ki podpira GitHub, zlahka sprejmejo to najboljšo prakso. "Namesto da bi žalili vodni hladilnik, ker je programska oprema grozna," pravi Brian Doll, "jo lahko spremenite." To sodelovanje se lahko razširi tudi na stranke.

Druga sprememba je sam GitHub. "Kmalu sem tam zaposlen," pravi Greg Wilson, ustanovitelj projekta Software Carpentry, "nikakor ne morem popraviti, kako GitHub upravlja dovoljenja, uporabniku omogoča, da naredi več vilic repoja ali karkoli drugega."

Kjer koli je omogočena interakcija v slogu GitHub, mehanizem sprememb deluje na enak način, ne glede na to, ali prispeva k spremembi koda ali dokumentacija ali pravni nasvet ali poslovna perspektiva ali povratne informacije strank.

Vrednost te skupne konvencije, verjetno najpomembnejše inovacije GitHub, povečujejo druge konvencije, uvožene iz družbenih medijev. Na Twitterju lahko na primer opozorite drugega uporabnika Twitterja, tako da omenite njegovo uporabniško ime. Ta tehnika @mention deluje v GitHubu za posameznike in ekipe.

Obstaja tudi storitev GitHub Pages, ki gosti spletna mesta na vrhu skladišč GitHub. Naklonjeni so mu tehnični blogerji, ki poznajo Git in so pripravljeni namestiti (in lokalno uporabljati) generator strani, ki temelji na Rubyju, imenovan Jekyll. Toda kot so odkrili drugi, vam ni treba namestiti Jekylla. Spletno mesto GitHub Pages je mogoče v celoti upravljati v brskalniku in uživati ​​v prednostih zgodovine različic in razprav o težavah.

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