Tuukka Hastrup

2005-05-10

Seminaariesitys kurssilla TIE363 Uudet tiedonhallintamenetelmät

Fenfire vapaaohjelmistoprojektina

Fenfireä on alusta alkaen kehitetty vapaaohjelmistoprojektina, ensin tietotekniikan laitoksella sovellusprojektissa. Kurssin oli tarkoitus käsitellä vapaaohjelmistokehittämistä konkreettisemmin kuin kävi.

Visio

  • Toteutetaan uudenlaista tietotekniikkaa. Käytännössä mietittyjä periaatteita:

    1. Tietokone on tyhmä. Eli jätetään päätökset käyttäjälle.
    2. Tietokoneen pitäisi olla parempi kuin paperi. Iso haaste, sillä
    • paperilla voi yhdistellä asioita (mindmap).
    • paperi on halpaa ja kevyttä, eli ei riitä tehdä yhtä hyvää (kuten tekstinkäsittely).

Tutkimusprojekti

  • Ohjelmoidaan uutta ja hankalaa, joten tutkittavaa on ollut paljon.
  • Tuloksia esim. Jannen väitöskirjassa ollut tutkimus taustatekstuureista.

Vapaaohjelmistoprojekti

  • Kehittäjien näkemys ohjelmistokehityksestä on ollut, että vapaaohjelmistot ovat paras malli kehittäjille ja käyttäjille.
  • Fenfire on jonkinlainen ikuisuusprojekti, joka ei koskaan tule valmiiksi. Vapaaohjelmistona kehitys voi jatkua rahoituksen jälkeenkin, ja vain usean tahon yhteistyönä voidaan saada iso järjestelmä aikaan.
  • SourceForge oli ensimmäinen ilmaispalvelin vapaaohjelmistojen kehittämiseen. GZigZag siellä oli alkuperäinen projektimme. SourceForgessa käytössämme oli mm.:
  • Samalla kun projekti vaihtui Gzz:aksi, vaihdoimme Free Software Foundationin Savannahin palveluihin.
  • Tällä hetkellä Savannahista on käytössä vain sähköpostilistoja, ja listoistakin osa on yliopiston palvelimilla.
  • Käytössä on ollut myös oma palvelin http://himalia.it.jyu.fi/ Sillä on ollut mm.: - Javadocit ja Navidocit automaattisesti päivittyvinä
    • koodille arch ja darcs -versionhallintavarastoja
    • Stormin P2P-solmu, www-käyttöliittymä
    • Paperbot tekstuurien tekoon CGI:llä

Kehitystyö

  • Sovellusten toteuttamiseksi on tarvittu aliprojektien koodausta, mm. sopivaa grafiikkakirjastoa ei ollut. Libvob ei ole kattava kirjasto, mutta toivottavasti kehittyy sellaiseksi sovellusten myötä.

    Osaprojekteista Navidocissa ja Stormissa ei ole tapahtunut juuri mitään viime vuoden aikana, kun taas Libvobissa ja Fenfiressä on. Yhteensä koodia on noin 90 000 riviä.

    http://iki.fi/Tuukka/tmp/ff-gp.png

    Osaprojektien rivimäärä vuodesta 2004 vuoden 2005 alkupuoliskolle.

  • Sovellusten koodaus on paljolti sitä, että keksitään parannusidea, toteutetaan se, mietitään vielä parempi idea, muutetaan toteutus vastaamaan sitä.

    Esimerkkimuutos: Koska ilman rakennenäkymää on hankala nähdä, missäpäin on lisää tietoa, lisätään Swamp -RDF-rajapinnan ja Between-lobin avulla tumma taustaväri niihin solmuihin, joista on paljon yhteyksiä.

    (http://lists.jyu.fi/pipermail/fencommits/2005-April/001109.html)

  • Bugeja riittää korjattavaksi. Java-toteutuksissa on ollut paljon bugeja, vapaissa enemmän mutta niissä voidaan selvittää ja korjata.

    Esimerkkimuutos: RDF-tiedostojen kirjoituksessa tuli tietyissä tapauksissa ArrayIndexOutOfBoundsException, meidän koodissa rivi w.write('<');. Haettiin kaffen uusin lähdekoodi (http://www.kaffe.org/ftp/pub/kaffe/v1.1.x-development/kaffe-1.1.5.tar.gz). Kaffen CVS:ssä tiedosto on jo poistettu, mutta lähetettiin Debianille korjaus uutta julkaisua varten. Koska korjaukset eivät tule heti käyttäjille, muutettiin koodia vähän niin, että bugiin ei törmätä.

    (http://lists.jyu.fi/pipermail/fencommits/2005-May/001129.html)

  • Dokumentointia voisi aina tehdä enemmän, toisaalta Benja ja Matti eivät halua että koodin seassa on kommentteja, jotka ovat tiellä kun yrittää löytää koodia. Koodin kommentit voisivat auttaa, kun yrittää löytää jotain isosta ja kerroksittaisesta koodista.

    Käyttäjille suunnattu on ohje Browsing and editing.

  • http://fenfire.org/ yrittää tiedottaa avoimesti projektin tilanteesta ja dokumentoida sen.

  • Artikkeleista olisi hyötyä sekä tutkimustulosten leviämisessä että käyttäjien löytämisessä. International Semantic Web Conferenceen yritettiin kirjoittaa artikkeli, mutta siinä ei ole mitään tieteellistä - lähdeviitteet ja kaikenlainen perustelu ja lukijan vakuuttaminen puuttuvat.

    (http://himalia.it.jyu.fi/darcs/project/manuscripts/rdf_editor/iswc2005.rst)

Kysymyksiä

Onko Fenfire RDF-projekti, jonka vahvuus on graafisuus?

On, tarkemmin RDF-projekti, jonka vahvuus on käsillä olevan asian ympäristön esittäminen graafisesti selattavasti, sillä muut projektit visualisoivat yleensä koko verkon kerralla. Pahoja kilpailijoita on muunmuassa Haystack.

Mitä meinaatte tehdä seuraavaksi?

RDF-editointi voisi olla sovellus, joka toimiessaan kiinnostaisi muita Sematic Web -tutkijoita käyttäjiksi. Virallisia julkaisuversioita aiotaan alkaa tehdä ja tarjota valmiiksi käännettynäkin. Fenfire-yhdistys miettii mistä saisi rahaa toimintaansa.

Käytättekö buginseurantajärjestelmää?

Olemme joskus käyttäneet, mutta emme, koska käyttäjiä ei ole, kehittäjiä on vähän ja bugit korjataan heti kun ne tulevat vastaan. Fenfirellä voi nyt editoida RDF-dokumenttia jossa on TODO-lista, siihen voidaan liittää myös bugilista.