Friheden til at vælge

Titlen har jeg taget fra SSLUG bøgerne “Linux – Friheden til…”. Bøgerne kan findes på http://www.linuxbog.dk/, hvor de seneste udgaver ligger.

Disse bøger er ganske udemærket, men er mest velegnet til de lidt mere teknisk velfunderet med lidt kendskab til Linux. Der mangler efter min mening en bog for nybegynderne. Desværre ser det ud til at linuxbog.dk ligger død nu til dags. Det er flere år siden bøgerne sidst er opdateret og i en verden hvor der kommer nye Linux versioner hver måned er det jo en evighed.

Er Microsoft’s programmer ikke gode nok

Jo, selvfølgelig er Microsoft’s programmer gode nok … til bestemte ting. De er også dyre hvis man vil benytte dem lovligt og det var faktisk min største bevægegrund til at vælge noget andet. I dag har en forståelse for hvad fri software og åbne standarder er og hvad det kan betyde for udvikling fremover gjort mig til tilhænger af disse modeller.

Desværre bliver det hurtigt til en krig om hvad der er bedst når man snakker Microsoft programmer og Linux Programmer. Folk der kender mig vil sikkert påstå at jeg er religiøs fanatiker af linux. Dette er dog ikke helt tilfældet. Jeg er bare modstander af at benytte piratsoftware og Linux er en billig og funktionel måde at undgå det på, da der her er en bred vifte af fri [i] og gratis programmer. Mange af programmerne findes også til MS Windows, så hvis man ikke er klar til helt at skippe Microsoft verdenen kan det altså lade sig gøre.

Hvad betyder fri software

Normalt når man taler om fri software taler man om software frigivet under GNU licenser eller en ligende license. Men der er mange forskellige nuancer. GNU licenserne er beskrevet på http://www.gnu.org/licenses/licenses.html. Du kan finde en mere præsis beskrivelse på dansk af filosofien på http://www.gnu.org/philosophy/free-sw.da.html end den jeg har skrevet her. Der finde som sagt andre fri software licenser f.eks. http://www.freebsd.org/copyright/index.html. Der er forskelle, men hovedlinjerne er de samme. Brug software, del den med din familie, venner og bekendte og tilfældige du møder og gør det med god samvittighed, Business Software Alliance (BSA) kommer ikke efter dig af den grund. Der er en liste over alment anerkendte Fri software licenser på Open Source Licenses. OSI er i det hele taget et godt sted at lærer om Fri Software, men husk at der også er andre fortolkninger som er værd at tage med i sin overvejelser.

Fri software er et spørgsmål om friheder, ikke pris. Fri software er et spørgsmål om brugernes frihed til at bruge, kopiere, distribuere, undersøge, ændre og forbedre softwaren. Der tales om fire friheder:

  • Friheden til at køre programmet uanset formål
  • Friheden til at undersøge hvordan programmet virker og tilpasse det til dit behov. Adgang til kildekoden er en forhåndsbetingelse for dette.
  • Friheden til at videreformidle kopier så du kan hjælpe dine naboer
  • Friheden til at forbedre programmet og frigive dine forbedringer til almenheden, så hele “samfundet” får glæde af det. Adgang til kildekoden er en forhåndsbetingelse for dette.

Det er værd at bemærke at fri software også går under en del andre navne. Det er ikke ualmindeligt at finde navne som FOSS (Free Open Source Systems), Open Source, FS (Free Software) eller FLOSS (Free/Libre/Open Source Software). Pas i øvrigt på, der er efterhånden en del licenser som ikke er fri software som beskrevet her. F.eks. shared source, som intet har med fri software at gøre. Shared Source Licensen kan ses på http://msdn.microsoft.com/msdn-files/027/001/901/ShSourceCLIbetaLicense.htm (Link er dødt). Det er jo interessant at se hvor dybt linket er for at få en licens at se hos microsoft. Ok, det er bare en tanke.

Jeg er ikke udvikler, så hvad skal jeg med kildekoden

Et kort svar er ingen ting, men det dækker bare ikke den fulde sandhed. Jeg ser mere kildekoden som en sikkerhed. I fri software er der ingen enkelt person eller firma der kan fjerne et projekt/program fra markedet. Hvis tilstrækkelig mange støtter op om projektet vil det blive vedligeholdt uanset hvem der oprindeligt udtænkte det. Hvis et projekt skulle dø helt ud, har man så muligheden for selv at få lavet de tilretninger man ønsker.

I de ca. 20 år jeg har beskæftiget mig med edb-branchen har jeg set mange virksomheder, der gerne ville have haft adgang til, eller rettighed til, at få lavet tilpasninger til closed source programmer de havde købt. Typisk i forbindelse med konkurs af leverandør eller support stop på produktlinjer. Det har bare ikke været muligt, da man enten ikke har haft kildekoden eller ikke har haft rettigheden til at ændre/tilpasse den kildekode man havde liggende fordi betingelserne for at benytte koden ikke var opfyldt.

Adgang til kildekoden som redskab mod fejl

Adgangen til kildekoden giver også en anden fordel. Der er flere der sidder og kikker den gennem for fejl. Desværre er det ikke, så vidt jeg ved, så udbredt i Danmark, men f.eks. findes der i USA universiteter der har fag, hvor en del af karakteren i faget gives på baggrund af en gennemgang af et open source projekt med henblik på at finde fejl. De fundne fejl rapporteres så til udviklerne, så de kan blive rettet.

Det betyder selvfølgelig at det først og fremmest er de mest kendte projekter, der bliver gennemgået, men det er stadig langt mere end den fejlsøgning der sker i almindeligt tilgængelige software programmer. Denne gennemgang betyder selvfølgelige også at der opdages flere større eller mindre sikkerhedsbrister i fri software end i traditionel software inden for en given tidsramme.

Der er et paradoks i dette, da tilhængerne af traditionel software tit fremhæver det, at der løbende findes flere fejl i fri software pr. kodeline end i traditionel software, som udtryk for at det er dårlige programmører der sidder og laver fri software produkterne ved at sætte lighedstegn mellem flere opdagede fejl og dårlig programmering. Min personlige erfaring siger at jeg laver nøjagtig det samme antal fejl uanset om jeg laver traditionel software eller fri software. Faktisk tror jeg at jeg er mere tilbøjelig til at lave fejl i traditionel software, da jeg er bevist om at det ikke kommer så offentligt frem, når jeg har lavet fejl der, som når jeg arbejder med fri software. Personlig er jeg også mere påpasselig med at lave en pæn opstilling af min kode og gode kommentarer når jeg ved at det kommer til offentlig beskuelse. Så i sidste ende mener jeg at antallet af fejl i traditionel software og fri software er nogenlunde lige, men måske er der en lille smule flere fejl i traditionel software.

Adgang til kildekode som sikkerhed mod bagdører og spionkode

Bemærk! Windows Update indhenter ikke oplysninger, der kan identificere dig som person, fra din computer.

Denne meddelse og andre som den har vi sikker alle set på et eller andet tidspunkt. Hvis vi ser på den og overvejer hvad den betyder er den faktisk latterlig i alt sin naivitet. Tænk over det. Hvis du er i tvivl om Windows Update sender oplysninger om dig til Microsoft, bliver du vel ikke beroliget af at de forsikre dig om at det gør den ikke? Det svare jo til at frikende en morder fordi han siger at han ikke har gjort det. Nej, der skal noget mere håndgribeligt til.

Den ultimative løsning er at frigive kildekoden. Så kan man selv gennemgå den og sikre sig hvilke oplysninger der rent faktisk indhentes og videresendes. Kravet er selvfølgelig at man kan oversætte kildekoden og få den udført som program for på den måde er man sikker på at det er den kildekode der ligger til grund for programmet.

Nu lyder det som om jeg selv gennemgår alle programmer der ligger på min maskine. Det er selvfølgelig ikke tilfældet. Jeg regner med og tror på at der rundt om i verden sidder folk som faktisk gennemgår meget store dele af den kildekode der er tilgængelig. De vil finde skjult spionkode hvis den eksisterer og alene det at man ved at der sidder nogen og ser koden gennem er en sikkerhed for at kun få prøver at lægge spionkode ind, når folk har adgang til kildekoden. De økonomiske og personlige omkostninger kan være uoverskuelige hvis man bliver opdaget.

Nu er det jo sådan at der altid er enkelte som ikke sådan lader sig skræmme. Den seneste jeg husker er en Firefox udvidelse, hvor udvikleren prøvede at sikre sig sine reklame indtægter ved at omgå et andet plugin. Da det blev opdaget blev hans udvidelse trukket af Firefox hjemmesiden og hele fri software samfundet tog afstand fra hans handlemåde. Den sidste linje er endnu ikke skrevet i den sag, men det er helt sikkert at hans programmer i lang tid fremover vil blive gennemgået med en tættekam for at sikre at han ikke gør noget ligende i fremtiden. Han skal nok heller ikke forvente at blive mødt med åbne arme i andre fri software projekter et pænt stykke fremover. Også på lagt sigt vil det sikkert forfølge ham. Internettet har en lang hukommelse og fremover vil en søgning på hans navn give resultater, hvor hans fejltrin vil fremgå tydeligt.

Vogt dig for efterligninger

Der er efterhånden mange kommercielle interesser som har fundet ud af at fri software er et buzzword. Desværre er de ikke klar til at gå den vej, men det afholder dem ikke fra at forsøge at snylte på betegnelsen. En af de helt store er Microsoft. De har løbende prøvet at få folk til at tro de er med på vognen gennem forskellige tiltag. Shared Source var et af de første, men mange er kommet efter. Der er løbende en debat i fri software samfundet om man skal klappe i hænderne om det næste nye Microsoft tiltag eller det bare er endnu et skjult forsøg på at binde folk fast til Microsoft. Mens jeg skriver dette er debatten omkring projektet Mono. Mono er ikke officielt et Microsoft projekt, men mange anser Novell for at være deres forlængede arm og projektet mødes defor med en forståelig skepsis og mistækelighed.

På forside af mono projekts hjemmeside kan man læse:

Mono 2.4 is our gift to the world. Sponsored by Novell (http://www.novell.com), the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications.

Det lyder jo besnærende, men hvis man så kikke efter, er det meget svært at finde noget der fortælle at det juridisk er open source. Hvad man derimod kan finde er følgende afsnit i en underside:

If you have looked at Microsoft’s implementation of .NET or their shared source code, you will not be able to contribute to Mono.

Selv om dette projekt altså ikke er et Microsoft projekt får dit evt. kendskab til kode under Microsoft’s shared source betydning for din deltagelse i projektet. Det er en af de måder Microsoft licenser pludselig kan begrænse din udfoldelse inden for fri software området. Det sker simpelthen ved at projekter er bange for at blive sagsøgt på grundlag af personer med indblik i Microsoft kode.

Det er også værd at bemærke at kun dele af selve Mono projektet er under fri software licens og ikke engang en af de store, men en af de mere begrænsede licenser.

Hvad man også kan se af Mono hjemmesiden er at mange ufri projekter benytter sig af at henvise til standardiserings organisationer. Mono henviser til ECMA. Det er værd at bemærke at der i øjeblikket ikke findes organisationer for åbne standarder. Der finde derimod en række standardiseringsorganisationer, som er bundet til producenter af ufri software. ECMA er en af de organisationer.

Det er altså af vital betydning for deltagere i fri software aldrig at have beskæftiget sig med ufri software på en sådan måde at de kan blive udelukket af fri software projekter.


[i] Der er en vis forvirring omkring ordvalget. En del danske tekster har fejlagtigt oversat det engelske ord “free” med gratis. Det er i andre sammenhæng også rigtigt, men i sammenhæng med Linux og free software skal oversættelsen være fri. Der er nuancer i mellem det danske og engelske ord, som jeg ikke vil gå ind i her. Forvirringen bliver selvfølgelig kun større af at en stor del af den fri software faktisk også er gratis. Den mest brugte engelske betegnelse er i dag – Open Source – i et forsøg på at få afstand til den gratis software som findes hvor kildekoden ikke er tilgængelig.