Ohjelmointi

GitHub meille kaikille

Ohjelmistokehittäjät asuvat epätasaisesti jakautuneen tulevaisuuden etureunassa: Syyt tuotteisiin ovat aina olleet digitaalisia esineitä, ja verkkojen alusta lähtien heidän työprosessinsa ovat olleet yhteydessä toisiinsa.

Työkalut, joiden avulla ohjelmistokehittäjät voivat työskennellä, ja näiden työkalujen käyttöä ympäröivät kulttuurit löytävät tiensä valtavirtaan. Vaikuttaa jälkikäteen ilmeiseltä, että sähköposti ja pikaviestit - joita kehittäjät käyttivät ennen ketään muuta - olisivat saavuttaneet massat. Nuo viestintätavat olivat merkityksellisiä kaikille.

On vähemmän ilmeistä, että Git, työkalu, joka on kehitetty koordinoimaan Linux-ytimen kehitystä, ja sitä ympäröivä työkalupohjainen kulttuuri GitHub ovat yhtä laajalti merkityksellisiä. Useimmat ihmiset eivät sling koodia elantonsa. Mutta kun jokaisen ammatin työtuotteet ja prosessit digitalisoituvat yhä enemmän, monet meistä käyttävät työkaluja, jotka on suunniteltu koordinoimaan työtämme yhteisten digitaalisten esineiden parissa. Siksi Git ja GitHub löytävät tien työnkulkuihin, jotka tuottavat muita esineitä kuin koodin tai sen lisäksi.

Kuten Wired-, ReadWrite- ja muualla on raportoitu, GitHubia käytetään reseptien, nuottien, kirjojen, kirjasinten, oikeudellisten asiakirjojen, oppituntien ja opetusohjelmien sekä tietojoukkojen yhteistyön kehittämiseen. Ottaen huomioon Gitin surullisen monimutkaisuuden, miten tämä on mahdollista?

Yksi syy on se, että GitHub on vähitellen paljastanut enemmän taustalla olevia Git-ominaisuuksia web-käyttöliittymässään. Toinen on sellaisten verkkosovellusten syntyminen, jotka käyttävät GitHubia alustana. Sitten on kulttuurinen tekijä: GitHub ilmentää tietyn tavan työskennellä yhdessä. Dave Winer kuvaa sitä lauseella "kerro työsi". Olen käyttänyt "havaittavaa työtä". Responsive Organization -liike juhlii "yksityisyyden avoimuutta". GitHubin hallituksen evankelistalle Ben Balterille se on "avointa yhteistyötä".

Blogikirjoitusta, jossa Ben Balter ehdottaa tätä termiä, ei julkaistu, kun luin sen. Mutta koska blogia isännöi julkinen GitHub-arkisto, en voinut paitsi lukea viestiä luonnosmuodossa, mutta myös seurata keskustelua kutsuttujen arvostelijoiden kanssa ja tarkkailla, miten tämä keskustelu vaikutti luonnokseen. Tietovaraston ei tietenkään tarvitse olla avointa yleisölle - mutta jokaisen organisaation tulisi haluta sisäisten prosessiensa hyödyntävän tätä avoimen yhteistyön tyyliä. GitHubin strategiajohtaja Brian Dollin mukaan kasvava määrä yrityksiä tekee juuri sen.

Nykyään sanotaan usein, että jokainen yritys on ohjelmistoyritys. Se on totta abstraktilla tavalla, jos määrität henkisen omaisuuden ohjelmistoksi. Mutta se on myös kirjaimellisesti totta monille yrityksille, joiden arvo on sisäisesti kehitettävissä ohjelmistoissa.

Oli aina toivottavaa laajentaa osallistumista tähän kehitykseen perinteisten koodi-, testi-, laadunvarmistus- ja dokumentointialojen ulkopuolelle. Mutta jos antamasi panos perustui yrityksen tai asiakkaan ymmärtämiseen, et voinut olla suoraan yhteydessä.

"Se on hullua", sanoo Brian Doll. "Jos olet pankki, varallisuudenhoitotyökalut, joita työntekijät ja asiakkaasi käyttävät ovat Tuote, kuinka niillä ihmisillä ei ole suoraa kättä sen parantamisessa? "GitHubin avulla jokaisesta sidosryhmästä voi tulla ensiluokkainen osallistuja. Sen sijaan, että kirjoittaisit rekisterijärjestelmää kiertäviä sähköposteja, he voivat lähettää vetopyyntöjä ja keskustella asiaan liittyvistä asioista suoraan kyseiseen järjestelmään.

Git-pedon kesyttäminen

Git, hajautettu versionhallintamoottori GitHubin hupun alla, toimii tavoilla, jotka yllättävät paitsi ohjelmoijia myös ohjelmoijia, jotka tulevat siihen keskitetyistä järjestelmistä.

Näissä järjestelmissä on iso juttu luoda haara arkistoon tutkiakseen vaihtoehtoinen versio artefaktisarjasta. Gitissä haara on kevyt rakenne, illuusio, joka syntyy siirtämällä osoittimia datan sijaan. Tavanomaisessa järjestelmässä olisi ajattelemattomasti kallista luoda haara asiakirjan yksittäisen sanan muuttamiseksi. Git tekee siitä liikkeen melko halvalla. GitHub voi upottaa sen työnkulkuun - vetopyyntöön, joka sisältää keskustelun muutoksesta ja sitoo sen asiakirjan muutoshistoriaan.

Gitin protean ominaisuudet ovat tehneet siitä työnkulun innovaatioiden laboratorion, ja monet esiin tulleet lähestymistavat tarjoavat uuden monimutkaisuuden. Haarautumisen ja sulautumisen mekaniikka on riittävän hankala, mutta on olemassa myös erilaisia ​​ajatuskouluja siitä, milloin ja miten haarautua ja sulautua. Kaikki tämä on haastavaa ohjelmoijille ja paljon muuta. Kuinka voit kesyttää tämän pedon niin, että tekniset sidosryhmät voivat osallistua?

GitHubin vastaus: Paranna verkkosivustoa ydintoimintoja varten. Asianajajan, joka haluaa muuttaa yhden sanan oikeudellisessa asiakirjassa, ei tarvitse käyttää pelottavaa Git-asiakasta; hän voi muokata tiedostoa selaimessa. Tämä toiminto käynnistää hakupyynnön työnkulun, joka automatisoi ehdotetulle muutokselle omistetun haaran luomisen. GitHubbers haluaa sanoa, että "on vain yksi tapa muuttaa jotain". Kenenkään ei tarvitse noudattaa kyseistä kultaista sääntöä, mutta tekemällä se seuraa vähiten vastustusta.

Tämän seurauksena kaikki GitHub-yhteensopivissa yrityksissä voivat helposti omaksua tämän parhaan käytännön. "Sen sijaan, että huutaisit vesijäähdyttimelle, koska ohjelmisto on kauhea", Brian Doll sanoo, "sinulla on tapa muuttaa sitä." Tämä sitoutuminen voi ulottua myös asiakkaisiin.

Itse GitHubin muuttaminen on toinen asia. "Lyhyesti palkattu sinne", sanoo Software Carpentry -projektin perustaja Greg Wilson, "minulla ei ole mitään keinoa korjata kuinka GitHub hallinnoi käyttöoikeuksia, antaa käyttäjän tehdä useita repojen haarukoita tai mitä tahansa muuta."

Aina missä GitHub-tyylinen vuorovaikutus on käytössä, muutosmekanismi toimii kuitenkin samalla tavalla riippumatta siitä, onko muutokseen vaikuttanut koodi tai dokumentaatio, oikeudellinen neuvonta vai liiketoimintanäkökulma vai asiakaspalautteet.

Tämän sosiaalisen median tuodut yleissopimukset lisäävät tämän jaetun käytännön, epäilemättä GitHubin tärkeimmän innovaation, arvoa. Esimerkiksi Twitterissä voit kiinnittää toisen Twitter-käyttäjän huomion mainitsemalla käyttäjän käyttäjätunnuksen. Tämä @mention-tekniikka toimii GitHubissa yksilöille ja ryhmille.

Siellä on myös GitHub Pages, palvelu, joka isännöi verkkosivustoja GitHub-arkistojen päällä. Sitä suosivat tekniset bloggaajat, jotka tuntevat Gitin ja haluavat asentaa (ja käyttää paikallisesti) Ruby-pohjaisen sivustogeneraattorin nimeltä Jekyll. Mutta kuten muut ovat huomanneet, sinun ei tarvitse asentaa Jekyllia. GitHub Pages -sivustoa on mahdollista hallita kokonaan selaimessa ja nauttia versiohistorian eduista ja keskusteluista.