Fri programvare og plattformuavhengighet

Av og til dumper jeg borti mennesker som tror at fri programvare er plattformuavhengig. For ordens skyld tenkte jeg derfor å skrive noen få ord om at fri programvare kan være, men ikke nødvendigvis er plattformuavhengig.

Eksempelvis kan en godt skrevet webløsning være plattformuavhengig, ettersom den vil fungere i moderne nettlesere uavhengig plattform. Hvis vi ser bort fra webtjeneren den kjører på, selvsagt. Når det gjelder tradisjonell programvare som installeres og kjøres lokalt, virtualisert eller via en terminalbasert tjeneste, er løsningen plattformavhengig. Denne løsningen kan enten være tilgjengelig for en enkelt plattform, eller flere, avhengig av hva utvikleren har valgt å utvikle for.

Kontorpakken OpenOffice er fri programvare og tilgjengelig for Linux, Solaris, Mac og Windows. Det er nærliggende å si at den er plattformuavhengig, men den er avhengig av en av de nevnte plattformene for å fungere. Lynmeldingsklienten Adium er også fri programvare, men kun tilgjengelig for Mac, akkurat som lynmeldingsklienten Miranda IM kun er tilgjengelig for Windows.

Ikke akkurat rakettforsking, men greit å vite dersom du skulle havne i en diskusjon om emnet. :-)

Om artikkelforfatteren
Martin Bekkelund er seniorrådgiver, informasjonsansvarlig og næringslivskontakt i Friprogsenteret. Les mer om

7 kommentarer til «Fri programvare og plattformuavhengighet»

  1. Noe som dog skal bemerkes er at mange FOSS produkter har en fungerende Linux-versjon i tillegg til en Windows (og kanskje også OS X). Når det gjelder proprietær programvare er (generelt) støtten for noe annet enn Windows laber. Snakker nå om desktop-applikasjoner for det meste, for eksempel er OpenOffice, Firefox, Thunderbird etc tilgjengelig for de nevnte plattformer. Det kan jo være dette noen mener med “plattformuavhengig”.

    Bare en tanke..

  2. Det var interessant at du tok dette nå som FAD kommer med den nye “Reiseregningen”. Denne tydeliggjør nemlig skillet mellom “plattform” i betydningen “juridisk plattform” og “teknisk plattform”.

    Statens nye reiseregning er fri programvare, en spennende og etter mitt syn bra juridisk plattform for ting som utvikles for offentlige midler. Fri programvare handler ikke om å få mer gratis, men om mer frihet etter anskaffelse. Her skjer det motsatte av hva regjeringen ønsker, men bare på den tekniske plattformen. Utviklere for og sluttbrukere må jobbe med og spre ny og ufri programvare for at den frie “Reiseregningen” skal kunne brukes. Dette skjer i form av Adobe AIR og Adobe Flash Player. Disse er gratis, men like ufri både på GNU/Linux og Microsoft Windows.

    Det var vel ikke meningen å gå fra en ufri plattform til en annen?

  3. Det meste av moderne maskinvare kjører i dag på ett eller annet operativsystem. De ulike operativsystemene er en plattform i seg selv. På toppen av disse har du “virtuelle” plattformer som Java, .NET, Flash, Python, osv.. Heldigvis så er det nå slik at når vi diskuterer plattformuavhengighet så er det primært om tjenesten (i form av webtjeneste eller rik desktopklient) fungerer på Windows, Mac og Linux. Så lenge noe kan benyttes i tilstrekkelig brukbar grad på disse plattformen så må vi vel kunne kategorisere løsningen for plattformuavhengig? Noen som mener en annen definisjon er riktig?

    Som en kommentar til Haakon Meland om “Reiseregningen”, så er dette et flott initiativ. Løsningen er etter det jeg kan tyde basert på Adobe Flex (klient) og Microsoft .NET (tjeneste). Såvidt meg kjent så støtter Flash Player 10 både Windows, Mac, Linux og Solaris. Tjenesten kjører over HTTP og SOAP (XML), som er støttet av alle de 3 plattformene nevnt tidligere. Skulle gjerne likt å se et forsøk på å etablere en åpen XML standard for reiseregninger. Det er kun dokumenterte grensesnitt som kan være med å skape et innovativt økosystem rundt konseptet med reiseregninger.

    Da må det vel være mulig å påstå at “Reiseregningen” er plattformavhengig?

    Om “Reiseregningen” er sikker er en annen diskusjon, noe det faktisk IKKE ER, i dagens form. Løsningen overfører personopplysninger som personnummer og kontonummer i klar tekst over Internett, hvor informasjonen lett kan snokes i av uvedkommende. Det er også relativt lett for andre å utgi seg for å være den offisielle “Reiseregning” tjenesten.

  4. Årsaken til at fri programvare gjerne er tilgjengelig på mange plattformer, er at det er enklere å portere over koden når den er fritt tilgjengelig. Mange friprog-løsninger har blitt portert over av helt andre enn de som opprinnelig startet prosjektet.

    I tillegg er ofte friprog-løsninger bygget på åpne, fritt tilgjengelige programmeringsspråk, kommunikasjonsprotokoller og lagringsløsninger (av flere årsaker). Det gjør også sitt til at koden blir mer mobil og enklere å portere.

    For eksempel vil jeg tro at Adium eller Miranda hadde blitt portert over til andre plattformer, dersom det ikke hadde vært så utrolig mange gode løsninger der fra før.

  5. Nå var ikke tanken å diskutere Reiseregningen her, men når det først er oppe til diskusjon kan vi jo få avklart et par viktige ting.

    Hvorfor det stilles krav til Adobe-produkter på klientsiden er et naturlig spørsmål å stille for en slik løsning. Det er uansett et teknologivalg hvor vi ikke har forutsetning for å vite noe om begrunnelse for valg, i hvert fall ikke i skrivende stund.

    Hva gjelder sikkerhet vet jeg at det arbeides med de svakhetene løsningen har hatt. Når jeg skriver «har hatt» betyr det nemlig at enkelte av personopplysningene du refererer til, Sondre, ikke lenger overføres. Dette er nå rettet. Du kan se alle åpne saker på nett.

    Ellers er det en interessant betraktning du kommer med, Audun. Vedr. porting til andre plattformer.

  6. Jeg synes også “Reiseregningen” er et flott initiativ, Sondre. Den juridiske plattformen – et åndsverk utgitt med frie betingelser – er topp, synes jeg. Jeg synes derimot at gjennomføringen på den tekniske siden ikke bidrar til mer spredning av en fri programvare plattform – det kan du ikke ta meg på. Et enkelt fri programvare-økende regnestykke viser dette:

    +1 for fri programvare-lisens X antall prosjekter som benytter koden. P.t. er sum lik +1.

    +1 for Flex SDK/utviklerverktøy med fri programvare-lisens X antall utviklere som vil bruke Flex. P.t. er sum lik +1.

    -1 for utvikling uten Flex X antall utviklere som vil bruke noe annet enn Flex. Pt. er sum lik -1 aka Thomas Hansen og ra-ajax. Jeg gir minuspoeng her fordi det ikke bidrar til det opprinnelige prosjektets kode, men bytt gjerne til +1 hvis du føler for det.

    -1 for spredning av ufri programvare til sluttbrukere av løsningen X antall sluttbrukere.

    Siden sluttbrukere er mange ganger flere enn utviklere vil dette medføre større spredning av ufri programvare. Derimot – hvis Adobe Flash Player var fri programvare – så ser jeg ikke noe problem med at det initielt er et krav til brukeren – igjen sett fra et standpunkt om at spredning av fri programvare er bra.

  7. Fri programvare gir deg _muligheten_ til å kjøre programvaren på hvilken som helst plattform (skjønt enkelte ufrie plattformer kan såklart på sin side hindre frie programmer fra å kjøre på dem aka Digital Restriction Management). Utviklerne bestemmer hvilke plattformer som prioriteres i deres versjon av programvaren men du står altså fritt til selv å tilpasse den til dine behov (eller få andre til å gjøre jobben for deg).

    Adium er en libpurple -basert klient med fokus på å fungere best mulig sammen med UI på Apple -maskiner. Iom fokus for prosjektet ser vel de fleste liten vits i å portere det over til andre plattformer, som har “egne” klienter som integrerer best mulig med “native toolkit”. Eksempler er Pidgin for Gnome og den kommende klienten for Win32. Miranda IM er forresten også tilgjengelig på GNU/Linux dersom du absolutt ønsker det – at prosjektets utviklere ikke selv støtter applikasjonen på den plattformen sier kun noe om utviklernes fokus, ikke mye om fri programvare som sådan.

    Som forsåvidt ble nevnt i artikkelen. La meg utdype, med utgangspunkt i FADs omdiskuterte prosjekt:

    Hvorvidt programvaren er plattformuavhengig og fri beror på hvorvidt bibliotekene den er avhengig av for å kjøre er plattformuavhengige og frie. Setter vi opp en matrise av dette, kan vi komme frem til at Reiseregningen.no på Adobe Flashplayer inni Mozilla Firefox oppå Microsoft Windows er fri programvare på en (relativt*) plattformuavhengig proprietær “runtime” inni en fri nettleser oppå et ufritt og proprietært plattformavhengig operativsystem. Litt bedre blir det dersom vi har Reiseregningen.no på Gnash inni Iceweasel oppå Skolelinux.

    Til kontrast kan man tenke seg at Reiseregningen.no for eksempel var en java-applikasjon som vi kan kjøre med valgfri javavm – fra SUN, GNU, Microsoft eller andre. Kjører vi så Reiseregningen.no (BSD) i IcedTea (GPL+linkunntak) inni Iceweasel (MPL/GPL) oppå Debian GNU/Linux (GPL) har vi en 100% fri programvareløsning som også er så maskinvarearkitektur-plattform-uavhengig som mulig.

    Kanskje ikke den peneste løsningen, eller den som passer best til kravspesifikasjonene? Uansett, kanskje disse små eksemplene belyser hvorledes problemstillingen kanskje ikke er rakettforskning men fortsatt kan være utfordrende å forstå nyansene av. “Plattformuavhengighet” er ett av kvalifikasjonspunktene som må være i orden for at en bit programvare kan kalles fri – det er frihet “null”, utgangspunktet for de andre frihetene. Friheten til å kjøre programvaren for hva du enn måtte ønske, underforstått på hvilken plattform du måtte ønske.

    *Merk at Adobe Flashplayer har begrenset støtte for maskinvarearkitekturer. I sin egenskap av å være proprietær er brukere av andre arkitekturer avhengig av at utviklernes nåde. Et godt eksempel er Adobe Flashplayer for amd64 på GNU/Linux, hvor først nå nylig den første prøveversjonen ble sluppet etter flere års bønner, håp og frustrasjon. Et godt eksempel på hvor risikabelt det kan være å avhengig av proprietære løsninger. Kan også i forbifarten påpeke at den eneste ordinært alvorlige sikkerhetsfeilen for GNU/Linux -systemer siste årene er sikkerhetshullet i selvsamme proprietære programvare – proprietære binære drivere i kjernen er også en av de viktigste årsakene til ustabiliteter. Samt at det ikke er fri programvare, og sverter systemet brukeren kjører – som potensiellt kunne vært helt fritt.

Legg igjen kommentar

Felter merket med * må fylles ut.

For å legge igjen en kommentar må du være kjent med Vilkår for bruk.

Nasjonalt kompetansesenter for fri programvare AS
Kontakt ossInformasjon om opphavsrett