Kildekoden publiseres

Posted in Forsiden

Nå har vi kommet til en av de virkelig store og viktige milepælene i E-valgprosjektet: publisering av kildekoden. E-valg 2011-prosjektet er opptatt av gjennomsiktighet i gjennomføringen av e-valg. Vi mener fullt innsyn i e-valgsløsningen for alle er viktig for å oppnå dette. Kildekoden til systemet for elektronisk stemmegivning blir derfor i sin helhet publisert på Internett, åpen og tilgjengelig for alle som ønsker å se på den. Kildekoden blir supplert med detaljert dokumentasjon, slik at det skal bli så lett som mulig å sette seg inn i koden.

Kildekoden til et program er, svært enkelt forklart, de menneskelesbare instruksjonene som en datamaskin trenger for å kjøre programmet. Det er selvsagt ikke slik at instruksjonene er lesbare for hvem som helst – man må beherske programmering og helst programmeringsspråket Java for å forstå kildekoden. Java er et av de mest utbredte programmeringsspråkene, og det finnes mange tusen mennesker i Norge som behersker dette språket.

Systemutviklingen er ennå ikke ferdig, selv om det meste nå er på plass. De virkelig spennende delene av koden, det vil si kryptoprotokollen i e-valgsystemet som skal ivareta velgerens anonymitet samtidig som integriteten ivaretas, er stabil og har vært det i lang tid. Det vil imidlertid komme endringer på mange områder. Ved hjelp av Subversion, versjonsstyringsverktøyet kildekoden publiseres gjennom, vil vi tilrettelegge for at det skal bli så enkelt som mulig å følge med på endringene som gjøres.

Om lisensen
E-valgsystemet er utviklet av den kommersielle leverandøren EDB Ergogroup og deres underleverandør Scytl Secure Electronic Voting. De har en rekke patenter knyttet til ulike kryptografiske løsninger som det er viktig for dem å beskytte. Det er derfor ikke fritt frem til å gjøre hva man vil med koden.

Innenfor bruksområdet ”valg gjennomført av norske myndigheter” står vi fritt til å endre koden slik vi vil, fordi eierskapet i Norge og for norske valg, tilfaller Kommunal- og regionaldepartementet. De funn og forbedringer man måtte foreslå vil derfor tilfalle fellesskapet

Hvordan forholder vi oss til feil som oppdages av andre?
Kildekoden tilgjengeliggjøres som ett av flere tiltak for å gjøre det mulig for utenforstående å kontrollere valggjennomføringen. I utgangspunktet ønsker vi ikke å gjøre store endringer i koden etter publisering hvis det ikke er absolutt nødvendig. De som setter seg inn i koden vil utvilsomt finne forbedringspunkter, og vi ønsker oss forslag om forbedringer. Dersom det oppdages reelle feil i koden, så ønsker vi selvsagt å få vite om dette så raskt som mulig, slik at vi kan ta stilling til hvorvidt vi må rette den før valget. Dette vil avhenge av hvilken konsekvens feilen har, og tilbakemelding vil bli gitt om hva vi velger å gjøre. Andre typer forbedringer vil vi ta hensyn til etter forsøket er gjennomført.

Å gjøre kildekoden tilgjengelig er kanskje det mest synlige, men likevel ikke det viktigste tiltaket prosjektet har gjort for å sikre etterprøvbarhet i elektronisk stemmegivning. E-valg-systemet er det som kalles verifiserbart – det vil si at man uten å undersøke kildekoden kan være sikker på at systemet ikke ”jukser”. Systemet produserer nemlig matematiske beviser for at det gjør slik det lover. Disse bevisene kan ikke forfalskes, og de kan etterprøves av en uavhengig tredjepart. Nettopp det har vi engasjert den erfarne valgobservatøren Kåre Vollan til å gjøre.

Vi håper likevel flest mulig tar seg tid til å se på i det minste deler av koden. I den grad det er interessant, vil vi gjerne hjelpe personer som er interessert i å samarbeide med andre til å komme i kontakt med hverandre.

Les om kildekoden på e-valg.dep.no

6 tilbakemeldinger

  1. Av Martin Larsson,

    Takk for at koden blir gjort synlig. Det er nyttig. Vi kan selvsagt aldri vite om det faktisk er den publiserte koden som også kjøres. Men det argumentet blir litt håpløst. *Noen* må vi jo stole på, på et eller annet nivå.

    Men jeg er litt overrasket over disse patentene det refereres til. Hvilke patenter er i bruk? Hvor er listen over de publisert? I utgangspunktet trodde jeg ikke det var mulig å patentere programkode i Norge (eller Europa, for den del), tar jeg feil?

    M.

  2. Av Martin Bekkelund,

    Jeg har i dag sendt en forespørsel om et møte med KRD, FAD og DSS vedrørende lisensieringen og pressemeldingen som er sendt ut. Jeg håper vi kan finne tid til et slikt møte snarest.

    Med vennlig hilsen

    Martin Bekkelund
    Seniorrådgiver
    Friprogsenteret

  3. Av Ragnhild Indreeide (e-valg 2011-prosjektet),

    Hei Martin Larsson,

    Vi har publisert listen over patenter, se: http://bit.ly/kyrqoD

  4. Av Martin Bekkelund,

    Hei igjen,

    Jeg har nå hatt en samtale med Henrik om lisensiering og rettigheter. Er det lov å ønske seg et blogginnlegg hvor dere presenterer problemstillingen og hvordan prosjektet har håndtert dette underveis?

    Med vennlig hilsen

    Martin Bekkelund
    Seniorrådgiver
    Friprogsenteret

  5. Av Bjarte M. Østvold,

    Bra at kildekoden er publisert!

    Jeg antar at hensikten med publisering er få til en form for offentlig gjennomgang av kildekoden der interesserte parter kommer med innspill til forbedringer. Du skriver at systemutviklingen ikke er ferdig ennå, men at kryptoprotokollen (og formodentlig dens implementasjon) er stabil.

    Å lese og forstå andres kildekode er en krevende og arbeidsintensiv aktivitet. Før en slik gjennomgang gjøres ønsker man å vite mest mulig om kildekodens status. Her er noen spørmål om dette:

    – Har kildekoden vært gjennom intern kvalitetskontroll hos leverandørene (Scytl, Ergo)?

    – Har noen uavhengige parter gjort kvalitetskontroll på kildekoden?

    – Kan det forventes relativt få endringer i kildekoden før den gjøres operativ? (Etter én måned er intet endret i den utlagte kildekoden.)

    Jeg har også en kommentar om det praktiske. Det hadde vært fint om dere kunne legge ut en beskrivelse av hvordan man bygger systemet. Jeg ser det står noe i selve kildekoden, men siden dette ikke ser helt rett frem ut hadde det vært bra med en forklaring. F.eks. virker det som om ett delsystem (eVote-ergo) avhenger av et annet (eVote-scylt), og denne avhengigheten må løses ved bygging.

    Det beste ville vært om dere kunne legge ut prosjektfiler for f.eks. Eclipse og Visual Studio (delsystemet eCounting inneholder C#-kode), slik at man enkelt kan bygge systemet/delsystemene direkte fra departementets utlagte kildekode (via Subversion). Da ville man også lett kunne bygge fremtidige versjoner dersom den utlagte kildekode endres.

  6. Av Kathi,

    Jeg har også en kommentar om det praktiske. Det hadde vært fint om dere kunne legge ut en beskrivelse av hvordan man bygger systemet. Jeg ser det står noe i selve kildekoden, men siden dette ikke ser helt rett frem ut hadde det vært bra med en forklaring. F.eks. virker det som om ett delsystem (eVote-ergo) avhenger av et annet (eVote-scylt), og denne avhengigheten må løses ved bygging.
    +1

Leave a Comment

Your email address will not be published. Required fields are marked *