Digitaalisten palveluiden ja tuotteiden kehittäminen rakentuu usein avoimen lähdekoodin ohjelmistoille, ja karkeasti sanottuna sovelluskehitys ei ole mahdollista, järkevää eikä kannattavaa ilman muiden jo tekemiä kirjastoja ja sovelluksia. Sovelluskehityksessä on myös kirjoittamaton sääntö ”give back to Open Source”. Käytännössä tämä tarkoittaa, että yritykset kannustavat työntekijöitään käyttämään aikaansa avoimen lähdekoodin projekteihin.
Avoimen lähdekoodin projektien tukeminen ja niiden kehittäminen työntekijöiden kannustamisen kautta ei ole uusi ilmiö. Todennäköisesti tunnetuin ilmentymä tästä on Futuricen Spice Program, jonka myötä työntekijälle maksetaan 15€ / tunti oman ammatillisen osaamisensa käyttämisestä vapaa-aikana. Useat yritykset etenkin ulkomailla kehittävät aktiivisesti avoimen lähdekoodin ohjelmistoja ja sponsoroivat kehittäjiä ja tällä tavoin edistävät myös omaa liiketoimintaansa.
Goforella tätä työtä tuetaan vaikuttamisbonuksella. Bonukseen oikeuttavat projektit voivat olla esimerkiksi omia harrasteprojekteja tai kontribuutioita nykyisiin ohjelmistoihin ja kirjastoihin. Kannustamalla omaehtoiseen koodaamiseen, tai muuhun projektia edistävään asiaan, saavutetaan hyötyjä sekä työntekijän, yrityksen että yhteisön näkökulmasta: tekijä oppii uusia taitoja ja teknologioita ja sovelluskehityksessä käytetyt kirjastot kehittyvät.
Muutaman vuoden aikana goforelaiset ovat kehittäneet muun muassa mobiilisovelluksia Androidille ja iOS:lle, edistäneet Javan suunnittelumalleja, tehneet kirjastoja Mavenille, Angularille ja Reactille, luoneet kirjaisimia ja koodanneet WebAssemblyä. On myös yleistä, että jos esimerkiksi projektissa käytössä oleva kirjasto on puutteellinen tai siinä on virhe, viedään siihen tehdyt korjaukset upstreamiin eli alkuperäiseen kirjastoon pull requesteina. Näin myös muut kirjastoa käyttävät hyötyvät parannuksista. Goforella ammatillisen osaamisen käyttämistä ja avoimen lähdekoodin projekteihin osallistumista ei kannusteta tuntiperusteisesti vaan bonus (300 €), maksetaan, kun vaikuttavuus on saavutettu. Kontribuutiona pidetään kokonaisuutta ja sen hyödyllisyyttä – esimerkiksi miten käytännöllinen ominaisuus tai pull request on. Karkea ohjeistus on, että noin 15 tunnin työllä saadaan aikaan vaikuttavaa jälkeä.
Tässä muutamia poimintoja goforelaisten avoimen lähdekoodin projekteista vuosilta 2017 ja 2018.
1. Java Design Patterns
Java Design Patterns on kokoelma yleisiä suunnittelumalleja. Suunnittelumallit esitellään web-sivustolla sekä käytännön kooditoteutuksina.
- Tekijä: Ilkka Seppälä (Twitter)
- Web-sovellus: http://java-design-patterns.com
- Lähdekoodi: https://github.com/iluwatar/java-design-patterns
- Dokumentaatio: https://github.com/iluwatar/java-design-patterns/wiki
- Lisenssi: MIT
2. React Finland Conference app
React Finland 2018 konferenssin sovellus, joka on toteutettu React Nativella sekä Androidille että iOS:lle.
- Yksi kehittäjistä: Toni Ristola (Twitter)
- Play Store: https://play.google.com/store/apps/details?id=com.reactfinlandapp
- App Store: https://itunes.apple.com/fi/app/react-finland-2018/id1358098551?mt=8
- Lähdekoodi: https://github.com/ReactFinland/react-finland-app/
- Lisenssi: MIT
3. Highkara uutislukija iOS:lle
”Highkara uutislukija on sovellus uutisten seuraamiseen iPhonella ja iPadilla ja sen avulla voit lukea aihealueittain järjestettyjä uutisotsikoita, avata uutisen selaimessa ja jakaa uutisen. Sovellus hakee uutiset High.fi -uutiskerääjästä. Kotimaisten uutislähteiden lisäksi on mahdollista lukea myös ulkomaisten medioiden uutisia. Idealtaan sovellus on vastaava kuin Ampparit tai Uutisvahti.” Sovelluksen kehitys lähti Markon mielenkiinnosta syventyä mobiilisovellusten kehitykseen iOS:lla ja Swiftillä. Highkaran kehitys oli jatkumoa Markon aikaisemmin Sailfish OS:lle ja Jollalle kehitetylle Haikala uutislukijalle.
- Tekijä: Marko Wallin (Twitter)
- Lähdekoodi: https://github.com/walokra/haikara
- App Store: https://itunes.apple.com/fi/app/highkara-uutislukija/id1035170336
- Lisenssi: MIT
4. Suomen liikennejärjestelmän kirjasintyypin digitointi
”Suomalaisissa liikennemerkeissä käytetyn kirjasintyypin fontti-konversio alkuperäisten kuvien pohjalta. Projektin koodinimi: Tie.”
- Tekijä: Esa Lahikainen
- Lähdekoodi: https://github.com/thevangelist/tie
- Lisenssi: CC0
5. Markdownista HTML-sivuiksi generaattori laajennus Mavenille
Markdown-page-generator-plugin on Maven-laajennus dokumentaation generoimiseen Markdownista HTML-sivuiksi.
- Tekijä: Marko Wallin (Twitter)
- Lähdekoodi: https://github.com/walokra/markdown-page-generator-plugin
- Julkaistu: https://oss.sonatype.org/content/groups/public/com/ruleoftech/markdown-page-generator-plugin/
- Lisenssi: MIT
6. ngx-line-chart -kirjasto
Helppokäyttöinen ja kustomoitava viivakaaviokirjasto Angularille.
- Tekijä: Roope Hakulinen (Twitter)
- Lähdekoodi: https://github.com/RoopeHakulinen/ngx-line-chart
- Julkaistu: https://www.npmjs.com/package/ngx-line-chart
- Lisenssi: MIT
Feel the force, read the source
Kannustamalla omaehtoiseen koodaamiseen saavutetaan hyötyjä sekä työntekijän, yrityksen että yhteisön näkökulmasta: tekijä oppii uusia taitoja ja teknologioita ja sovelluskehityksessä käytetyt kirjastot kehittyvät. Onneksi nykyaikana useat yritykset ymmärtävät avoimen lähdekoodin merkityksen ja tukevat ja osallistuvat sen kehittämiseen.