Palvelut

Ohjelmisto tutkimuksen tuotoksena

Monilla tieteenaloilla tutkijat kehittävät tutkimustyönsä osana ohjelmiston. Ohjelmisto voi joko olla ensisijainen tieteellinen tuotos, jota käytetään laajasti, tai sivutuote, jonka avulla saadaan muu työ tehdyksi. Kaikkien akateemisten hankkeiden tapaan avoin ohjelmisto saavuttaa parhaan näkyvyyden ja saa enemmän viittauksia.
This image is from Aalto University Material Bank.

Ohjelmisto on oleellinen osa useita nykyisiä tutkimushankkeita ja voi toimia kilpailuetuna tai esteenä. Tutkimustyön sivutuotteena syntynyt ohjelmisto voi sisältää koodin ja komentosarjoja datan muokkaamiseksi ja käsittelemiseksi, datan analysoimiseksi ja simulointien suorittamiseksi. Avoin lähdekoodi voi tuoda lisää viittauksia, suljettu lähdekoodi vaikeuttaa työn hyödyntämistä.

Suosituksia

  • Valitse koodille lisenssi alusta lähtien, strategisista tavoitteista riippuen
  • Käytä versionhallintajärjestelmää. Voit tehdä valinnan itse, mutta tällä hetkellä git + Github tai Gitlab ovat yleisimpiä 
  • Julkaise koodisi avoimesti. Jos haluat saada viittauksia, käytä Githubia ja Zenodoa tai julkaise ohjelmistokoodi pakettina toisessa arkistossa

Lisenssin valinta

Tärkein toimenpide ennen projektin alkua on lisenssin valinta. Tekijänoikeuslain mukaan ohjelmistot eivät ole oletusarvioisesti avoimia. Lisenssien avulla voi sallia erilaisia asioita: ohjelmiston käytön mihin tahansa tarkoitukseen, kunhan antaa myös toisten hyödyntää omaa työtään tai ohjelmiston käytön kaupallisiin tarkoituksiin. Jos lisenssiä ei valita, alkuperäisetkin tekijät voivat menettää mahdollisuutensa hyödyntää ohjelmistoaan tulevaisuudessa.

Keskeisin valinta koskee sitä, valitaanko tarttuva vai salliva lisenssi. Tarttuva lisenssi merkitsee sitä, että johdannaisten teosten tulee olla vastaavalla tavalla avoimia. Tätä lisenssiä käytetään, kun halutaan edistää työn avoimuutta, sillä se sallii vain avoimen lähdekoodin liiketoiminnan. Salliva lisenssi antaa kenelle tahansa luvan käyttää ohjelmistoa mihin tahansa tarkoituksen, myös kaupallisiin ohjelmistoihin lähdekoodia avaamatta.

Choose a license -sivusto tarjoaa neuvoja lisenssin valintaan. Aalto-yliopiston ohjeistuksia on koottu Open Source on the Aalto Scientific Computing Guide -oppaaseen. Seuraavat lisenssit ovat kaksi yleisimmin suositeltua

  • Aalto-yliopisto suosittelee julkaistulle ohjelmistolle sallivaa MIT-lisenssiä. Tämä avoimen lähdekoodin lisenssi sallii myös myöhemmän kaupallisen käytön kenelle tahansa, mikä on hyödyllistä tulosten mahdollisimman laajan jaettavuuden ja käytön näkökulmasta siinä tapauksessa, että tieteellinen tunnustus on hankkeen ensisijainen tavoite. 
  • Tarttuvan GNU General Public License -lisenssin nojalla kuka tahansa voi käyttää ohjelmistoa mihin tahansa tarkoitukseen, mutta se edellyttää, että myös muutokset ovat avoimia. Tämä mahdollistaa alkuperäisten tekijöiden kaupallisen hyötymisen estämättä kuitenkaan tieteellistä käyttöä.

Jos ohjelmistohanke on erittäin tärkeä tai siihen liittyy muita immateriaalioikeuksia, kannattaa keskustella tieteellisen avoimuuden ja kaupallistamispotentiaalin yhdistämisestä etukäteen Aallon innovaatiopalveluiden kanssa (Aalto Innovation Services)

Hyödynnä versionhallintaa ja arkistoa

Versionhallintajärjestelmä on minkä tahansa ohjelmistokehityksen keskeisiä työkaluja. Jokainen muutos voidaan rekisteröidä erikseen, ja niistä kertyy versiohistoria. Sen avulla voi nähdä aiemmat koodimuutokset, mikä on olennaista tieteellisen toistettavuuden näkökulmasta. Versionhallintajärjestelmä auttaa korjaamaan vikoja ja käsittelemään koodipohjaa henkilökohtaisessa käytössä, mutta ohjelmoinnille ryhmässä se on ratkaisevan tärkeää, ja avoimuus edellyttää yhteistyötä. Se tarjoaa perustan yhteisön sitoutumisen parantamiseen.

Git on nykyään yleisin versionhallintajärjestelmä, mutta sen käyttö voi olla hieman hankalaa. Mercurial on myös yleisesti käytetty, ja se on käyttäjäystävällisempi. Gitiä tukevia palveluita on kuitenkin tarjolla parhaiten, muun muassa Github ja Aallon versionhallintajärjestelmä.

Versionhallintapalvelun käyttö on suositeltavaa, sillä se mahdollistaa sujuvan yhteistyön ja koodista on tällöin kopio palvelimella. Github tarjoaa parhaan näkyvyyden avoimen lähdekoodin projekteille. Aalto Version Control System (version.aalto.fi) -palvelu on sisäisille projekteille hyvä ja maksuton vaihtoehto.

Jos lähdekoodiin sovelletaan salassapitosopimusta (NDA), tutkimuskumppanien kanssa on sovittava yksiselitteisesti siitä, mitä palveluja ja työkaluja aiot käyttää lähdekoodin käsittelyyn. Arkaluontoisemmissa hankkeissa voidaan tarvita jopa erillistä järjestelmää.

Github

  • Ohjelmiston verkossa toimivaa versionhallintajärjestelmää voidaan käyttää kehittämistyön alusta lähtien
  • Avoimet projektit ovat maksuttomia, eikä niiden määrää ole rajoitettu
  • Github on tunnettu ja suosittu: se lisää koodin näkyvyyttä, löydettävyyttä, viitattavuutta ja uudelleenkäytettävyyttä. Github sisältää valtavan määrän tieteellisiä ohjelmistoja.
  • Githubissa voi käyttää pysyvää tunnistetta (DOI) koodille yhdistämällä sen Zenodoon. Katso Koodin tekeminen viitattavaksi.
  • Githubissa on luettelo siellä sijaitsevista keskeisistä tieteellisistä hankkeista. Tutki, miten mahdollisuudet keskusteluun, wikiin, projektien eriyttämiseen ja koodin lataamiseen pyytämällä helpottavat osallistumista hankkeisiin. Hankkeet ovat erittäin suuria, mutta samoja periaatteita voidaan soveltaa myös pieniin hankkeisiin. 

version.aalto.fi (Aalto Gitlab)

  • Aallon versionhallintajärjestelmän (version.aalto.fi) pohjana on Gitlab, ja siitä saa git-versionhallinnan ohjelmistolle. Sitä voi käyttää kaikissa Aalto-yliopiston tutkimuhankkeissa, myös yhteistyöhankkeissa yliopiston ulkopuolisten tutkimuskumppanien kanssa.
  • Aallon versionhallintajärjestelmä on kuin Github, mutta Aallon itse ylläpitämä. Perusominaisuudet ovat samat, mutta Aallon järjestelmässä on paikallinen tuki ja siinä voi olla rajattomasti ei-julkisia projekteja. Tarvittaessa myös ulkopuoliset yhteistyökumppanit voivat käyttää Aallon järjestelmää.
  • Aalto Gitlabin keskeisiä hyötyjä ovat Aallossa tapahtuva ylläpito ja yksityiset arkistot käyttäjille ja organisaatioille.
  • Lisätietoja: Scicomp ja Aalto Version pikaopas

Projektin jälkeen

Github ja version.aalto.fi eivät tarjoa pysyvää säilytystä projekteille, vaikka niitä ei välittömästi poistettaisikaan. Koodin pysyvään tallennukseen (esimerkiksi julkaistussa artikkelissa viitatun koodin säilyttämisen) suositellaan Github Zenodo -integraatiota, jossa koodi saa DOI-tunnisteen, ja tulee näin viitattavaksi. Koodin voi arkistoida myös suoraan Zenodoon. Lisätietoja: Github guide on Zenodo

Lisätietoa

Aalto-yliopistossa https://scicomp.aalto.fi tarjoaa paljon tietoa laskennallisesta tieteestä ja ohjelmistoista.

CodeRefinery on pohjoismainen organisaatio, joka tarjoaa tutkijoille koulutusta ohjelmistokehityksestä.  Helsingin alueella järjestetään kahdesti vuodessa työpajoja, joista ainakin yksi järjestetään Aallossa.

Tutkimusdatan hallinnan ohjeita

Näillä linkeillä voit selata tutkimusdatan hallinnan ohjeita.

Kuva oppimiskeskuksen sisätiloista. Kuvassa etualalla opiskelija istuu lukemassa kirjaa vihreässä tuolissa. Taka-alalla kaksi opiskelijaa keskustelee pyöreän pöydän ääressä., photo Tuomas Uusheimo

Tutkimusdatan jakaminen ja julkaiseminen

Yleiskatsaus ja ohjeita tutkimusdatan julkaisemisen ja jakamisen palveluihin.

Palvelut
People talking with each other

Tutkimusdatan hallinta ja avoin tiede

Tutkimusdatan hyvä hallinta on osa laadukasta tutkimusprosessia ja luo kilpailuetua. Sivu kokoaa Aalto-yliopiston tuen, palvelut ja ohjeet tutkimusdatan hallintaan.

Palvelut
Tätä palvelua tarjoaa:

Tutkimus- ja innovaatiopalvelut

Löysitkö tästä tarvitsemasi tiedon? Jos et, ota meihin yhteyttä.
  • Julkaistu:
  • Päivitetty: