Torstaina 23.7.2015

Avoimen ja sosiaalisen koodaamisen aikakausi

Ennen koodattiin yksin kopeissaan tai työpaikalla tiimeissä, nykyään voi koodata itsekseen, mutta silti sosiaalisesti netissä. Avoin lähdekoodi on mullistanut kehitystyön ja vaikka olisi fyysisesti yksin, voi silti koodata koko maailman kanssa. Tämä kirjoitus saattaa sisältää hitusen nörttikieltä. GitHub GitHub on vuonna 2008 perustettu suosituin repositorien (ns. ”varastojen”) hostauspaikka Git-versionhallinnalle ja jollain tapaa eräänlainen ”koodareiden sosiaalinen […]

Tämä kirjoitus saattaa sisältää vanhentunutta tietoa, sillä se on julkaistu yli 9 vuotta sitten.

Ennen koodattiin yksin kopeissaan tai työpaikalla tiimeissä, nykyään voi koodata itsekseen, mutta silti sosiaalisesti netissä. Avoin lähdekoodi on mullistanut kehitystyön ja vaikka olisi fyysisesti yksin, voi silti koodata koko maailman kanssa. Tämä kirjoitus saattaa sisältää hitusen nörttikieltä.

GitHub

GitHub on vuonna 2008 perustettu suosituin repositorien (ns. ”varastojen”) hostauspaikka Git-versionhallinnalle ja jollain tapaa eräänlainen ”koodareiden sosiaalinen media”. Mielestäni GitHubin myötä keskustelu avoimesta lähdekoodista on räjähtänyt ja kasvattanut suosiotaan aivan uudella tavalla. En ainakaan muista että open source olisi ollut yhtä hyvin esillä ennen GitHubia.

Pidän GitHubista vallattomasti ja on sääli, että siellä ei kovin moni suomalainen kehittäjä kovin aktiiviseesti näytä väkertävän mitään. Työhommissa on tietysti projektit, joita ei pysty aivan avoimina pitääkään ja onpa itsellänikin Bitbucket, jossa alkaa olla jo satoja privaattirepoja työkäytössä. Omat viritelmät ja työkalut voi kuitenkin pistää avoimeksi ja esimerkiksi meidän keskeisimmät ”aloituspaketit” löytyy GitHubista open sourcena.

Screen Shot 2015-07-23 at 17.34.00

Jossain artikkelissa kritisoitiin GitHubia vähän samaan tyyliin kuin Facebookia aika ajoin siinä mielessä että muiden koodailuja katsoessa saattaa potea alemmuudentunnetta. Itsekään en ”uskaltanut” vielä pari vuotta sitten pahemmin mitään omia rökäleitä julkistaa, kun en ajatellut niistä olevan mihinkään. Mutta se oikeastaan on samalla avoimuuden valtti – huonostakin koodista voi tulla hyvää kun muut nörtit pääsevät kommentoimaan ja ehdottamaan muutoksia koodiin. Kun koodi näkee päivänvalon, siinä on jotenkin eri tavalla alttiina. Se on pelottava ajatus ja ymmärrän hyvin miksi monet eivät avoimuuteen lähde.

Itse olen ottanut sen linjan, että työkalut joita käytän ovat muutenkin avointa – miksi siis en jakaisi omia ideoitani ja työnjälkeäni muillekin? Kevään WordPress-seminaarissa Seravon Otto Kekäläinen pohjusti mainiosti miksi avoin lähdekoodi kannattaa. Talkissa keskityttiin WordPress-julkaisuihin, mutta sama pätee ihan kaikkeen muuhunkin avoimeen koodiin.

Suomalaisista GitHubista löytyy suht. aktiivisina muunmuassa:

Twitter

Twitter ei ole ainoastaan kätevä yritysten asiakaspalvelukanavana, henkilöbrändäämisessä tai yleisessä viestinnässä, vaan myös koodaamisessa. Twitterin kautta tavoittaa aktiiviset ihmiset.

https://twitter.com/iiuusit/status/623206827896012800

Olen koittanut saada #webdevfi -hashtagia suositummaksi Twitterin puolella, sillä yleiset #webdesign-virrat alkavat olla täynnä tuubaa, joka ei välttämättä edes liity aiheeseen. Suomen mittakaavassa keskustelu on kuitenkin tasokasta omassa piirissään ja kannattaa pistää seurantaan esim. Suomen WP-asiantuntijat, WebMakers-Finland ja WEB -listat.

Tilastointi

GitHubissa on omat suurpiirteiset tilastonsa sisäänrakennettuna, mutta tilastot kertovat tietysti vain julkisen koodailun. Työelämässä paljon tapahtuu kulissien takana repositoryissa, jotka eivät näy maailmalle. Asiakassaitteja ei nimittäin julkiseksi voi pistää.

Kellokorttimeininkiin on olemassa palveluita, kuten Toggl, Timely ja Time Doctor, mutta ne mittaavat aikaa vain siloin kun käy lätkäisemässä kellon päälle, eikä tämäntyyppinen ajanlaskentatapa toimi kovin hyvin koodarille.

On kuitenkin olemassa myös palveluita, jotka seuraavat automaattisesti aikaa, joka kuluu puhtaaseen koodaamiseen. Näistä ehkä paras on WakaTime. Palvelu toimii koodieditorissa suoraan. Aikaan ei tietysti lasketa sitä aikaa mikä menee pohtimiseen, suunnitteluun, palaverointiin tai selaimessa testaamiseen, mutta WakaTimea kehitetään tiukasti ja heillä on siihenkin tulossa mm. selainlisäosa, jota olen betatestaamassa.

Vaikka tarkkoja aikoja palvelu ei osaakaan kertoa, saa silti osviittaa kuinka paljon on mennyt aikaa itse ydintekemiseen. Toisaalta tällä alalla aikoja ei mielestäni pitäisi mitata niin tarkasti, sillä tunnissa voi syntyä timangia ja 20 tuntia voi väkertää saamatta juuri mitään aikaan. Mutta ihan henkilökohtaisesta mielenkiinnosta ja kilpailemisesta itseään vastaan kannattaa WakaTimea ainakin kokeilla.

Screen Shot 2015-07-23 at 18.37.28

WakaTimen tapainen toinen palvelu on nimeltään Codeivate (palvelu lopettanut, korvaaja: CodeStats), jossa käydään leikkimielistä kilpailua koodareiden kesken. Kuka kerää eniten ”tasoja”. Codeivatessa voi ottaa myös ”battlea”, eli vertailua eri käyttäjien välillä. Itse olen rekisteröityneenä lähinnä huumorimielessä.

Opettelu

Jos haluaa lähteä ruohonjuuritasolta, on olemassa laadukkaita palveluita, kuten Codecademy ja Treehouse. Näiden palveluiden upeiden videoiden ja esimerkkien kautta pääset aika nopeasti jyvälle, jos ala kiinnostaa.

Screen Shot 2015-07-23 at 18.30.00

Itseoppijalle paras tapa on tietysti kokeilla suoraan koodata jotain täysin omaa, mutta jos opastettu opettelu on se omin juttu, siihen nämä palvelut ovat hyödyllisiä.

Livekoodaus

E-sportsissa, eli tietokonepelien ammatillisessa maailmassa on ollut pitkään pelien streamaaminen yleinen käytäntö. Twitch on noussut streamauspalveluna suosituksi. Tänä vuonna on tullut ilmoille vastaavanlainen palvelu, mutta koodaamiselle. Palvelu on nimeltään Livecoding.tv ja ajattelin hieman vielä tästä rohkaistuttua jossain vaiheessa koodatakin livenä jotain kivaa.

Screen Shot 2015-07-23 at 18.48.56

Olen kokeillut Livecoding.tv:tä tällä hetkellä vasta katsojana, mutta jo siihen tarkoitukseen se on tarjonnut monta vinkkiä työtavoista ja parannusta workflowhini. On kiinnostavaa nähdä mitä appseja, plugineita, koodikieliä ja muita työntekotapoja muut ihmiset käyttävät. Olen myös saanut hyviä kontakteja ja Twitter-seurattavia palvelun kautta.

Loppusanat

Avoin lähdekoodi ja sosiaalinen koodaaminen auttavat koodaria kehittymään työssään huomattavasti. Ymmärrän pelot avoimuuden taustalla, mutta pelko on oikeastaan sitä ihan samaa miksi esimerkiksi ihmiset eivät halua liittyä sosiaaliseen mediaan tai osaa pureutua siellä aktiivisemmin. Avoimuutta ei vielä ehkä niin yleisesti tunneta tavaksi tehdä asioita. Netti on avoin. Googlesta löytyy tietoa. Miksi siis ei?

WordPress ja WordPress-bisnes perustuu omalla tavallaan avoimuuteen, onhan kyseessä avoimen lähdekoodin järjestelmä. On mukavaa laittaa korjausehdotuksia WordPressin ja sen plugareiden tekijöille suoraan ja vielä mahtavampi fiilis kun näkee että omia korjauksia tai kielikäännöksiä otetaan käyttöön virallisiin versioihin.

Mitä mieltä sinä olet näistä? Miksi sinä tai firmasi ei ole vielä GitHubissa?