Artikel top billede

(Foto: Computerworld)

Hvad er fri software?

I maj måned gæstede Richard M. Stallman fra Free Software Foundation, manden bag GNU, Danmark, og Alt om DATA tog ud for at tale med ham og i det hele taget blive klogere på, hvad fri software egentlig er.

Af Kenneth Geisshirt, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Software skabes af ingenting. En programmør begynder med en tom fil og når ved rene intellektuelle anstrengelser frem til et stykke software, som løser et problem. Det lyder akademisk eller næsten kunstnerisk. Sandheden er dog, at programmering også er et håndværk, hvor du skal kende materialerne (programmeringssprog og frameworks) og værktøjet (oversættere, udviklingsmiljøer, etc.).

Inden vi kommer for godt i gang med at tale om software og især fri software, er det værd at dvæle ved arkitekten bag begrebet, og det er her Richard M. Stallman kommer ind i billedet. Stallman er en amerikansk programmør, og efter et fysik-studium på Harvard blev han ansat i 1975 på MIT som forskningsassistent/programmør.

I midten af 1970’erne var computere stadig et nyt felt både i forskning og i erhvervslivet, og det har uden tvivl været en spændende tid for en nysgerrig ung mand som Richard M. Stallman.

Software bliver kommerciel

Begyndelsen af 1980’erne er en tid, hvor der sker en kommercialisering af software. Baggrunden er en stor reform af ophavsretten (eng. copyright) i 1976. Reformen ændrer på, hvornår det er rimeligt at bryde andres ophavsret (eng. fair use), og det giver startskuddet til en egentlig software-industri.

Fra at software er et fælles gode på universiteterne, opstår der virksomheder, som ikke ønsker at dele deres software-produkter med alle. Især på styresystem-området bliver Unix et kommercielt produkt, og universiteterne har pludselig ikke længere mulighed for at tilpasse styresystemet efter deres behov.

Som mod-reaktion på denne begrænsning af brugernes rettigheder til at bruge, tilpasse og videre-
distribuere ændringerne, påbegynder Stallman i 1983 GNU-projektet, og det er i dag fundamentet i de fleste GNU/Linux-distributioner.

For at udbrede ideer omkring frit software, blev gruppen Free Software Foundation oprettet i 1985 med Richard M. Stallman i centrum. En organisation som Stallman stadig er formand for.
Siden 1990’erne har Stallman været en kendt aktivist. I denne artikel er det primært hans aktivisme omkring software, som er i fokus.

Når du ser på hans personlige website, kan du se, at han har en bred politisk interesse. Udgangspunktet for hans interesse er altid individets rettigheder - eller især i de tilfælde hvor vores rettigheder begrænses. Stallman ser ofte, at vores rettigheder begrænses af enten rå statsmagt eller kommercielle interesser.

Basale frihedsrettigheder

For at forstå, hvad der gør GNU-projektet til noget særligt, er det vigtigt at forstå, hvilke rettigheder Richard M. Stallman sætter i centrum. Helt centralt er fire rettigheder, som alle brugere (og programmører) har over et stykke software:

• Retten til at køre det - uanset formål
• Retten til at ændre det
• Retten til at distribuere det
• Retten til at distribuere det med ændringer

Det er her, det er vigtigt at forstå, at fri software ikke handler om pris. Det engelske ord free har både betydningen “gratis” og “frihed”. Vi har samme udfordringer på dansk. Der er stor forskel på “fri bar” og “et frit menneske”. Det første handler om prisen, mens det andet handler om udfoldelsesmuligheder. Kort sagt er Stallman ikke interesseret i fri bar, men ønsker at være et frit menneske.

Sagt lidt højtideligt skal vi acceptere og forstå at brugen af en computer (computing) er en del af menneskerettighederne. Adgangen til software må ikke begrænses på samme måde, som friheden til at ytre sig ikke må.

Lad os tage et blik på de fire basale rettigheder. Retten til at køre et program virker ligetil. Men det, at brugeren må bestemme hvornår og med hvilket formål, er ikke trivielt. Mange software-licenser sætter begrænsninger på, hvad software må anvendes til og af hvem. Det er ikke ualmindeligt at licensen forbyder at offentliggøre benchmarks (database-software er kendt for dette), hvilket gør det svært at sammenligne med et tilsvarende program.

Retten til at ændre i et program kræver ofte, at brugeren har adgang til kildeteksten. Men meget af det software, som du bruger hver dag, giver dig ikke adgang til kildeteksten. Tænk bare på de mange apps på din telefon, du bruger. Du ved i realiteten ikke, hvordan de virker. Og du har ikke en chance for at ændre på, hvordan de virker. Frit software stiller dig anderledes.

Med udgangspunkt i ophavsretten kan du ikke kopiere et godt program og give det til dine venner og naboer. Frit software giver denne mulighed. Du vil indvende, at begrænsningen er nødvendig, da software-producenterne er nødt til at kunne tjene penge. Men virkeligheden er, at langt de fleste software-producenter tjener penge på andet end software: konsulentydelser, undervisning, tilpasning for særlige kunder, etc. Den sidste rettighed i frit software er, at du må distribuere dine ændringer. Det betyder, at du kan forbedre et program og videregive din udgave af programmet.

Rettighederne omkring distribution af software er et forsøg på at få programmører og brugere til at finde sammen i fællesskaber og arbejde sammen. I dag er software så komplekst, at ingen kan gøre alt alene. Der er intet teknisk, der forhindrer dig i at skrive dit eget styresystem, regneark, webbrowser, etc. helt alene. Men i praksis er det ikke muligt for dig at gøre det, for du har ikke al den tid i verdenen. Software udvikles af mennesker - i fællesskab. Rettighederne i frit software anerkender dette og fjerner begrænsninger for at få det til at ske.

Fri og open source er ikke det samme

Sammenligner du frit software med open source-software, vil du se, at de to koncepter minder om hinanden. Historisk set er open source brudt ud fra fri software og deler mange af de samme holdninger. Kritikken fra Richard M. Stallman er, at fokus hos tilhængerne af open source-software er pragmatisme og derfor tillader svagere licenser end frit software. Det åbner for - i følge Stallman - at stille brugerne ringere idet ikke-fri software i en vis udstrækning accepteres.

Ved hans besøg i Danmark fik vi mulighed for at spørge ind til, hvor konsekvent de fire frihedsrettigheder skal tages. Vi har set virksomheder udvikle frit software og andre virksomheder tilbyde kommercielle tjenester baseret på dette software. Helt konkret har vi i efteråret set MongoDB (en amerikansk database-leverandør) kritisere Amazon for at tilbyde MongoDB som en del af Amazon Web Services (AWS). MongoDB har selv en lignende tjeneste.

Kritikken fra MongoDB er, at de bruger ressourcer på at udvikle software, som AWS bruger uden at bidrage (hverken økonomisk eller med videreudvikling). I følge Richard M. Stallman er kernen i frit software, at enhver frit kan anvende frit software til ethvert formål, og han afviser kritikken. Han vender det derimod om og mener, at vi bør indføre en omsætningsskat på store teknologi-virksomheder og investere provenuet i udvikling af frit software.

Richard Stallman på konferencen ”Free Software: Human Rights in Your Computer”, 2014

At Richard M. Stallman har humor er velkendt. Der er en stor portion selvironi i, at den selverklærede ateist messende velsigner publikum ved sine foredrag som helgen fra Church of Emacs (GNU Emacs er en editor, som han har skrevet) - med en plade fra et gammelt pladelager/harddisk som glorie. Samme ateist holder ikke jul men fejrer fysikeren Isaac Newtons fødselsdag, som er sammenfaldende med jul.

GNU-projektet

Som en reaktion på tendensen med at begrænse brugernes muligheder ved brug af software, påbegyndte Richard M. Stallman projektet GNU Operating System (eller bare GNU-projektet) i 1983. GNU er en forkortelse for GNU is Not Unix. Omkring 1980 er Unix det store styresystem på universiteterne og i mange store virksomheder. Så for at gøre det lettere for Unix-brugerne at skifte til frit software, vælger Stallman at tage udgangspunkt i Unix.

Selv med 50 år på bagen er Unix-ånden udbredt. Styresystemer som Linux, MacOS, iOS og Android bygger på Unix, og i ethvert storcenter i Danmark kan man købe en Unix-maskine (Apple-produkter). Windows 10 får indbygget en Linux-kerne, og på den måde har Unix fået en mulighed på mange pc’er. At vælge Unix som model for GNU har vist sig at være en meget holdbar løsning.

Et styresystem består af mange komponenter. Udover kernen har et styresystem brug for udviklingsmiljø (editor, compiler, etc.), runtime-miljø, diverse hjælpeprogrammer og egentlige applikationer. Målet med GNU er at udvikle de samme komponenter som eksisterer i Unix.

For at være i stand til at udvikle GNU-projektet, er GCC (GNU Compiler Collection) og Emacs (eller rettere, GNU Emacs) de første delprojekter. Emacs er editoren, som mange programmører bruger (dog er nyere editorer som Sublime Text, Visual Studio Code og Atom ved at tage over) til at skrive deres programmer. GCC anvendes til at oversætte programmerne fra deres kildetekst til binære, eksekverbare programmer. Langt det meste software i GNU-projektet er skrevet i programmeringssproget C (GCC stod oprindelig for GNU C Compiler).

For at udbrede GNU, har GNU-udviklerne valgt at understøtte så mange andre styresystemer som muligt. Den oprindelige årsag har sikkert været, at uden et fuldt funktionsdygtigt styresystem vil ingen skifte. Altså en høne-og-ægget-situation. Alle kendte Unix’er, Windows, MacOS, etc. har haft visit af GNU-projektet. I de første år var GCC oversætteren, som Apple brugte til at oversætte iPhone apps. I dag benytter Apple dog clang. Android er et af de bedst kendte eksempler på styresystemer, som bevidst har fravalgt GNU-projektet.

Der er kommet mange uundværlige hjælpeprogrammer til, siden GNU-projektet begyndte. Kommandolinje-programmet BASH (Bourne Again SHell - for at ære Steven Bourne som udviklede en af de første shells til Unix i 1976) fra 1989 er default shell i de fleste GNU/Linux-distributioner og MacOS. BASH har altid været anset som et af de strategisk vigtigste delprojekter i GNU.

Naturligvis har GNU-projektet en ambition om at skabe et fuldstændigt styresystem. Med GCC, Emacs, BASH og mange hjælpeprogrammer er det tæt på, men det er nødvendigt at have en kerne. Kernen er kort fortalt det software, som kan starte og stoppe applikationer, holde styr på brugere, etc. GNU Hurd har været tænkt som kernen i GNU, men i begyndelsen af 1990’erne kommer en kerne ind fra højre. Med Linux får først pc’erne en kerne, som set udefra er Unix, men er en ren nyimplementation af Unix.

Få mere at vide

- Når nørder bliver filosofiske
Alt om DATA nr. 4/2001

- Richard M. Stallmans personlige website
https://stallman.org/

- GNU-projektets hjemmeside
https://gnu.org

- Free Software Foundation
https://opensource.org/osd

- Open Source Definition
https://fsf.org

- Richard M. Stallman besøger dansk skole i maj 2019
https://www.version2.dk/blog/tak-besoeget-dr-stallman-1088069

- MongoDB skifter licens
https://www.zdnet.com/article/its-mongodbs-turn-to-change-its-open-source-license/

- Richard M. Stallman om selskabsskat
https://stallman.org/articles/progressive-tax-on-business-gross-income.html

- Elizabeth Warren om at splitte teknologi-virksomheder op
https://www.nytimes.com/2019/06/03/technology/elizabeth-warren-big-tech-break-up.html

Hurtigt efter Linux ser dagens lys, pakkes GNU sammen med Linux og skaber fuldstændige styresystemer. Der er ikke langt fra funktionaliteten i de første udgaver til, hvad de etablerede Unix’er kan. Linux er måske ikke (især var ikke) en kerne efter tidens standarder set med teoretiske datalogers øjne.

Men det at Linux er virkelig og faktisk virker, har betydet, at GNU Hurd sikkert aldrig vil få en fremtrædende plads. Vi skal tre år tilbage i tiden for at finde sidste nye version af GNU Hurd. At erklære GNU Hurd for dødt vil uden tvivl såre en del GNU-tilhængere, men sandheden er, at Linux overtog pladsen som kerne allerede for små 30 år siden!

Når du pakker GNU og Linux sammen, omtaler mange det som en Linux-distribution. Stallman insisterer på at omtale det som en GNU/Linux-distribution for at signalere, at GNU og Linux er jævnbyrdige komponenter.

Han insisterer så meget, at han ofte ikke svarer på spørgsmål om Linux men venter på, at spørgeren omformulerer sig og siger GNU/Linux. Og han taler ikke i Linux-brugergrupper (Linux User Group - LUG) men kun i GNU/Linux-brugergrupper (GLUG). Denne praksis kan virke infantil på mange, men når du opdager, hvor mange GNU-programmer, du bruger, giver det mening at anerkende bidraget fra GNU.

Bekymring over dataovervågning

Richard M. Stallmans foredrag i maj måned handlede om det digitale samfund. Digitaliseringen har i det seneste årti været massiv, og Danmark er ingen undtagelse. 1980’ernes optimisme omkring internettets potentiale til at sætte menneskeheden fri, er nu afløst af en stor bekymring.

Som en tommelfingerregel er Stallmans holdning, at vi bør tænke “udspionere”, når vi ser ordet “smart” i forbindelse med teknologi. At noget er smart eller bekvemt betyder ofte, at data om os videregives eller -sælges til andre. En smartphone er bekvem, men dens position kan følges, da den er nødt til at være forbundet til en mobilmast. Som ejere af en smartphone er vi nødt til at forholde os til det. Ikke kun vores teleselskab har adgang til disse oplysninger.

Sandsynligvis får politiet også adgang, men det er i det store hele reguleret i vores del af verdenen gennem dommerkendelser. Men producenten af telefonen - og enten Google eller Apple - har også adgang til disse data. Og de har sandsynligvis også adgang til andre data om dig, f.eks. hvilke apps du bruger - hvornår og hvor meget.

Det er ikke kun din telefon, som giver virksomheder mulighed for at få adgang til dine data og overvåge dig. Når du betaler med kreditkort, trækker du også et digitalt spor efter dig. Stallman har ikke selv brugt kreditkort i årtier, men det er svært at forestille sig, at Danmark skal gå tilbage til kontanter i stor stil. Streaming-tjenester som Spotify og Netflix har et stort potentiale til at indsamle data. På samme måde er det ikke svært at forestille sig, at tjenester som GMail, Office 365 og Facebook har mulighed for at overvåge dig.

Internet of Things (IoT) er efter Richard M. Stallmans mening et klart eksempel på, hvor galt det kan gå. Vi installerer smarte enheder i vores hjem. Det kan være elmålere, termostater, robotstøvsugere og digitale assistenter som Amazon Alexa og Google Home. De er forbundet til internettet og typisk leverandørens servere. Ikke nok med at de indsamler data om os, men vi har svært ved at få adgang til disse data. Det er ikke ualmindeligt, at du skal betale for at få adgang til dine egne data fra en termostat!

Den amerikanske præsidentkampagne er så småt gået i gang, og flere demokratiske politikere, som søger opstilling, har holdninger til de store teknologi-firmaer. Elizabeth Warren, demokratisk senator, har foreslået at opdele de store virksomheder for at få mere kontrol over, hvad de gør. Vi fik lejlighed til at spørge Stallman, om det vil hjælpe på den massive overvågning.

Hans svar er klart nej. Grunden er, at virksomheder - store som små - sælger deres data til data brokers. En data broker er i stand til at samle data (samkøre om du vil) store mængder data og være i stand til at identificere den enkelte. Det betyder, at en data broker er i stand til at tage data fra forskellige kilder (virksomheder) og rekonstruere dig. En opsplitning af de store teknologi-virksomheder vil gøre det mere besværligt for data brokers men ikke umuligt.

Fri software kan i princippet give dig kontrollen tilbage. Ved at du har adgang til kildeteksten, er du i stand til selv at afgøre, hvilke data som indsamles. Det er naturligvis en stor mundfuld for de fleste - og i praksis nok også en umulig opgave at gøre for al den software, du benytter. Men ved at vælge frit software er det overvejende sandsynligt, at din software er ærlig og ikke videregiver data.