Oulun ammattikorkeakoulu
ePooki 4/2015

Oppiminen avoimen lähdekoodin projektissa

19.2.2015 ::

Metatiedot

Nimeke: Oppiminen avoimen lähdekoodin projektissa

Tekijä: Juntunen Jouni

Aihe, asiasanat: avoin lähdekoodi, kansainvälisyys, korkeakoulupedagogiikka, lähdekoodit, ohjelmistokehitys, ohjelmistosuunnittelu, Oulun ammattikorkeakoulu, projektit, vapaat ohjelmistot, verkostoituminen, yhteisöllinen oppiminen

Tiivistelmä: Avoimen lähdekoodin projektissa yhteisö tuottaa ohjelmiston jakaen tietoja internetin ja sosiaalisen median välityksellä. Ohjelmisto jaetaan internetin kautta vapaasti saataville, mikä mahdollistaa ohjelmiston yhteiskehittelyn. Avoimen lähdekoodiin projekti voidaan nähdä pedagogisena työkaluna, jonka avulla korkeakouluissa voidaan opettaa nykypäivän työelämässä tarvittavia tietoja ja taitoja.

Työskentely projekteissa tapahtuu yhteisöissä, mikä edistää verkostoitumista oman alan ammattilaisten kanssa ja kehittää kommunikointikykyjä. Omatoimisuus, ongelmanratkaisukyky ja luovuus kehittyvät, koska kehitystehtäville avoimen lähdekoodin projekteissa ei tyypillisesti aseteta tarkkoja vaatimuksia tai ohjeita. Myös medianluku- ja kirjoitustaidot, tiedon hakutaidot ja lähdekriittisyys kehittyvät, koska näiden taitojen hallinta on olennainen osa avoimen lähdekoodin projektissa työskentelyä.

Työn tekeminen ja arvostus avoimen lähdekoodin yhteisöissä perustuu tulokseen. Tulevaisuudessa myös työelämässä esimerkiksi palkka voi määräytyä työn tulosten eikä käytetyn ajan perusteella. Tällaisessa työelämässä pärjännevät ne, jotka osaavat hyödyntää aiemmin tehtyä työtä, ovat innovatiivisia ja nopeita ongelmanratkaisijoita sekä omaavat hyvät yhteistyöverkostot.

Julkaisija: Oulun ammattikorkeakoulu, Oamk

Aikamääre: Julkaistu 2015-02-19

Pysyvä osoite: http://urn.fi/urn:nbn:fi-fe201502091542

Kieli: suomi

Suhde: http://urn.fi/URN:ISSN:1798-2022, ePooki - Oulun ammattikorkeakoulun tutkimus- ja kehitystyön julkaisut

Oikeudet: Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.

Näin viittaat tähän julkaisuun

Juntunen, J. 2015. Oppiminen avoimen lähdekoodin projektissa. ePooki. Oulun ammattikorkeakoulun tutkimus- ja kehitystyön julkaisut 42. Hakupäivä 3.5.2024. http://urn.fi/urn:nbn:fi-fe201502091542.

Avoimen lähdekoodin projektissa yhteisö tuottaa ohjelmiston jakaen tietoja internetin ja sosiaalisen median välityksellä. Yhteisössä toimiminen ja ohjelmiston kehittäminen vaatii muun muassa verkostoitumista, ongelmanratkaisukykyä, omatoimisuutta sekä hyviä tiedonhakutaitoja. Toiminta on usein myös kansainvälistä. Avoimen lähdekoodin projekti voidaan nähdä pedagogisena työkaluna, jonka avulla korkeakouluissa voidaan opettaa nykypäivän työelämässä tarvittavia taitoja.

Avoin lähdekoodi kehitetään yhteisöissä

Avoimen lähdekoodin ohjelmistokehitys perustuu yhteisölliseen toimintaan. Ohjelmistoa kehittävä yhteisö jakaa ohjelmiston lähdekoodin rajoituksetta internetin kautta vapaasti saataville, mikä mahdollistaa ohjelmiston yhteiskehittelyn Enkenberg, J. 2009. Opettamisen tulevaisuus. Hakupäivä 7.10.2014. http://www.enorssi.fi/tutkimus-kokeilu-ja-kehittamistoiminta/tutkoke-koordinaattorit/Enkenberg-opettamisen-tulevaisuus.pdf Ingo, H. 2006. Open Life. The Philosophy of Open Source. Hakupäivä 7.10.2014. http://www.openlife.cc/files/OpenLife-aa.pdf. Esimerkiksi Linux-käyttöjärjestelmän kehitystyöhön on osallistunut vuodesta 2005 alkaen noin 8000 kehittäjää ja koodirivejä on noin 15 miljoonaa. Linux-käyttöjärjestelmän kehittäminen onkin tietokoneiden historiassa suurin yhteistoimintaa hyödyntävä projekti COSS. 2014. Tietoa avoimuudesta. Hakupäivä 7.10.2014. http://coss.fi/avoimuus/.

Avoimen lähdekoodin yhteisössä on erilaisia rooleja, kuten ohjelmistokehittäjiä, testaajia, kääntäjiä, dokumentoijia ja ylläpitäjiä sekä tietenkin ohjelmiston käyttäjiä. Rooli voi muuttua myös ajan ja projektiin sitoutumisen myötä. Auer, L., Juntunen, J. & Ojala, P. 2011. Open source as pedagogical tool in higher education. Proceedings of the 15th Mindtrek Conference: Envisioning Future Media Environments. Tampere, Finland. Osallistuminen avoimen lähdekoodin projektiin perustuu yleensä vapaaehtoisuuteen. Myös useat yritykset osallistuvat projekteihin nykyisin, koska kehitettävä ohjelmisto tai palvelu voi olla olennainen osa yrityksen liiketoimintaa. Ask HN. Getting paid to work on open source full-time? 2013. Hakupäivä 19.1.2015. https://news.ycombinator.com/item?id=6660923 Timesjobs.com. 2014. Android Open Source Project Jobs in India. Hakupäivä 19.1.2015. http://www.timesjobs.com/jobskill/Android-Open-Source-Project-jobs Useissa projekteissa yhteisö on hyvin kansainvälinen Auer, L., Juntunen, J. & Ojala, P. 2011. Open source as pedagogical tool in higher education. Proceedings of the 15th Mindtrek Conference: Envisioning Future Media Environments. Tampere, Finland. COSS. 2014. Tietoa avoimuudesta. Hakupäivä 7.10.2014. http://coss.fi/avoimuus/.

Rooleja avoimen lähdekoodin yhteisössä

KUVA 1. Rooleja avoimen lähdekoodin yhteisössä First Monday. Peer-reviewed journal on the internet. 2007. Hakupäivä 7.10.2014. http://firstmonday.org/article/viewArticle/1623/1538

Kommunikointi yhteisössä tapahtuu yleensä käyttämällä internetiä ja sosiaalista mediaa Fogel, K. 2010. Producing Open Source Software. How to Run a Successful Free Software. Hakupäivä 7.10.2014. http://producingoss.com/. Isoimmat projektit järjestävät myös jonkin verran konferensseja tai muita tapaamisia, mutta pääosin kommunikointi tapahtuu internetin välityksellä käyttämällä esimerkiksi foorumeja, sähköpostilistoja sekä reaaliaikaisia kommunikointityökaluja, kuten IRC-palvelua.

Avoimen lähdekoodin projektit hyödyntävät usein foorumeja keskustelukanavana ja tiedonlähteenä

KUVA 2. Avoimen lähdekoodin projektit hyödyntävät usein foorumeja keskustelukanavana ja tiedonlähteenä Fog Forums. Open Source Computer Cloning Solution. 2014. http://fogproject.org/forum/

Kehittämistyötä varten tarvitaan internetissä toimiva työtila, joka sisältää ainakin versionhallintyökalun ja tehtävälistan. Versionhallinnan avulla yhdistetään eri kehittäjien lähdekoodit ja hallinnoidaan ohjelman julkaisuja. Ohjelmistoon liittyviä kehittämistehtäviä hallinnoidaan tehtävälistan avulla. Yhteisön jäsenet näkevät ohjelmistoon liittyvät avoimet kehittämistehtävät listalla ja voivat valikoida sieltä tehtäviä toteutettavakseen. Juntunen, J., Ojala, P. & Watts, S. 2012. Building an open source community for learning. 2012. The 9th International Conference on IT Applications & Management. December 20-21, Yonsei University, Wonju, Korea.

Yhteisön johtamistapa voi vaihdella projekteittain. Keskitetyssä mallissa on yleensä yksi projektinjohtaja tai tiimi, joka päättää ohjelmiston kehittämissuunnasta. Hajautetussa mallissa eri kehittäjät tekevät työtä itsenäisesti, ja yleensä jokaisella on oma versio ohjelmistosta. Keskitetyssä mallissa pyritään tehokkaaseen tiedon ja innovaatioiden jakamiseen, kun taas hajautetussa mallissa yksittäiset kehittäjät tekevät työtä itsenäisesti ja yhteistyötä on yleensä vähemmän. Meritokratia on yksi mielenkiintoinen hallintamalli, jossa ohjelmiston kehityssuunnasta päätetään äänestämällä ja äänivalta perustuu yhteisön antamaan arvoasemaan. Oss Watch. 2013. Governance models. Hakupäivä 7.10.2014. http://oss-watch.ac.uk/resources/governancemodels

Ohjelmistokehitysprosessi avoimen lähdekoodin projektissa

Avoimen lähdekoodin ohjelmiston kehittäminen voi kestää vuosia. Ajan kuluessa ohjelmistoon kehitetään uusia ominaisuuksia ja havaittuja virheitä korjataan tai teknologioiden kehittyessä ohjelmistoa päivitetään. Ohjelmistokehitysprosessi jatkuu koko ohjelmiston elinkaaren ajan.

Ohjelmistokehitysprosessi etenee siten, että havaittu kehitystehtävä kirjataan tehtävälistaan, josta yhteisön jäsenet poimivat tehtävät toteutettavaksi. Riippuen kehitystehtävästä työn toteuttaminen voi vaatia useamman yhteisön jäsenen työpanosta ja tiedon jakamista sekä tutustumista ohjelmistoon ja sen dokumentaatioon tai muuhun internetistä löytyvään materiaaliin. Kehitystehtäviin ei yleensä kuvata tarkkoja ohjeita ja osa tehtävistä voi olla hyvinkin haastavia, mikä vaatii tekijältä luovuutta ja ongelmanratkaisukykyä. 

Kontribuutioksi kutsutaan kehitystehtävän perusteella tehtyä tuotosta, joka toimitetaan yleensä yhteisön web-sivuston kautta katselmoitavaksi. Katselmoinnin suorittaa projektin hallinnoija, ja siinä arvioidaan kontribuution laatua ja sopivuutta ohjelmistoon. Joissakin projekteissa tekijälle annetaan palautetta kontribuutiosta, ja mikäli se hyväksytään, liitetään se myöhemmin uuteen ohjelmaversioon eli julkaisuun.

Ohjelmistokehitysprosessi avoimen lähdekoodin projektissa

KUVA 3. Ohjelmistokehitysprosessi avoimen lähdekoodin projektissa

Avoin lähdekoodi pedagogisena työkaluna

Avoimen lähdekoodin projekti voidaan nähdä pedagogisena työkaluna, jonka avulla voidaan opettaa niitä taitoja, joita tarvitaan yhä kasvavassa määrin työelämässä. Työ tapahtuu innovatiivisessa, usein globaalissa yhteisössä käyttäen moderneja viestintävälineitä. Avoimen lähdekoodin ohjelmistoon liittyvät kehitystehtävät ovat autenttisia ja vastaavat työelämässä esiintyviä työtehtäviä, mikä voi edistää opiskelijoiden opiskelumotivaatiota merkittävästi Helle, L., Tynjälä, P., Olkinuora, E. & Lonka, K. 2010. ’Ain’t nothin’ like the real thing’. Motivation and study processes on a work based project course in information systems design. Hakupäivä 9.10.2014. http://onlinelibrary.wiley.com/doi/10.1348/000709906X105986/abstract;jsessionid=F376AD6C9A9AA1771730033FEAAD0ABE.f03t02.

Työskentely avoimen lähdekoodin projektissa tapahtuu yhteisössä, mikä edistää verkostoitumista oman alan ammattilaisten kanssa ja kehittää kommunikointikykyjä. Omatoimisuus, ongelmanratkaisukyvyt ja luovuus kehittyvät, koska kehitystehtäville avoimen lähdekoodin projekteissa ei tyypillisesti aseteta tarkkoja vaatimuksia tai ohjeita, vaan työn toteuttajalle annetaan vapaat kädet toteutukseen. Kehitystyö avoimen lähdekoodin ympäristössä on usein laadukasta, koska työ asetetaan muun yhteisön arvioitavaksi COSS. 2014. Tietoa avoimuudesta. Hakupäivä 7.10.2014. http://coss.fi/avoimuus/

Hyvä medianluku- ja kirjoitustaito, tiedon hakutaidot ja lähdekriittisyys ovat tärkeitä taitoja nykypäivän ammattilaisille. Avoimen lähdekoodin projektissa edellä mainitut taidot kehittyvät ja niiden hallinta on olennainen osa työskentelyä.  On osattava esittää oikeat kysymykset esimerkiksi IRC-kanavalla tai foorumilla ja hakea tietoa oikeilla termeillä hakukoneiden avulla internetin valtavasta tietomäärästä. Esitettyä informaatiota on arvioitava kriittisesti ja valikoitava sekä muokattava löydetystä tiedosta omaan tilanteeseen sopiva ratkaisumalli mahdollisesti yhdistelemällä tietoa useasta eri lähteestä. Löydetyt ratkaisut jaetaan yleensä toisten kanssa käyttämällä sopivaa mediaa. Yhteisöissä arvostusta saakin tarjoamalla apua muille kehittäjille aktiivisesti. 

Yhteenveto

Avoimen lähdekoodin merkitys kasvaa koko ajan ICT-alalla Black Duck Software. 2013. The 2013 Future of Open Source Survey Results. Hakupäivä 7.10.2014. http://www.slideshare.net/blackducksoftware/the-2013-future-of-open-source-survey-results. Useat yritykset laskevat työkokemukseksi osallistumisen avoimen lähdekoodin projektiin esimerkiksi rekrytoidessaan uusia työntekijöitä.

Työn tekeminen ja arvostus avoimen lähdekoodin yhteisöissä perustuu tulokseen. Työelämässä on nähtävissä myös samoja suuntauksia, jossa käytetyn työajan sijaan palkka määräytyy tulosten perusteella Suomen eOppimiskeskus Ry. TYYNE. Työelämä oppimisympäristönä. 2013. Hakupäivä 7.10.2014. http://wiki.eoppimiskeskus.fi/download/attachments/8226492/TYYNE-raportti_10062013?api=v2. Tässä työelämässä pärjännevät ne, jotka osaavat hyödyntää aiemmin tehtyä työtä. ovat innovatiivisia ja nopeita ongelmanratkaisijoita, omaavat tehokkaat median kirjoitus- ja lukutaidot sekä ovat jäseninä erilaisissa ammatillisissa verkostoissa.

rahoittajien logot

 


Artikkeli on kirjoitettu osana PreVALOX – Parempaa valo-osaamista Oulun seudulle -hanketta


Lähteet