• FreeBSD grundsystem är nu helt fritt från GPL-licensierad kod

    FreeBSD har nått en viktig milstolpe: operativsystemets bassystem innehåller inte längre någon GPL-licensierad programvara. Den sista GPL-komponenten har tagits bort, samtidigt som den tidigare GNU-katalogen i källkodsträdet har avvecklats. För vanliga användare innebär förändringen nästan ingenting, men för FreeBSD-projektet markerar den slutet på en lång teknisk och licensmässig övergång.

    FreeBSD har nått en viktig milstolpe. Den sista programvaran med GPL-licens har nu tagits bort ur operativsystemets grundsystem. Därmed har också den särskilda katalogen för GNU-kod i FreeBSD:s källkodsträd kunnat avvecklas.

    Det betyder däremot inte att GPL-program har förbjudits eller försvunnit från FreeBSD. Användare kan fortfarande installera tusentals GPL-licensierade program genom FreeBSD:s paketförråd och Ports Collection. Förändringen gäller enbart det så kallade bassystemet.

    Vad är FreeBSD:s bassystem?

    FreeBSD skiljer sig på denna punkt från många Linuxdistributioner. I FreeBSD utvecklas operativsystemets kärna och grundläggande verktyg tillsammans som en sammanhållen helhet.

    Bassystemet innehåller bland annat:

    • operativsystemets kärna
    • systembibliotek
    • grundläggande kommandoradsverktyg
    • installationsprogram
    • nätverksverktyg
    • administrationsprogram

    Program som webbläsare, skrivbordsmiljöer, mediaspelare och kontorsprogram installeras separat. De räknas därför inte som en del av själva bassystemet.

    Det är alltså mer korrekt att säga att FreeBSD:s bassystem nu är fritt från GPL-licensierad programvara än att säga att hela FreeBSD är GPL-fritt.

    Det sista GPL-programmet har tagits bort

    Det sista kvarvarande GPL-licensierade programmet i bassystemet var dialog. Programmet används för att skapa textbaserade dialogrutor och menyer i terminalen.

    Tidigare använde FreeBSD:s installationsprogram dialog för att visa menyer och olika val för användaren. För ungefär fyra år sedan ersattes det dock av bsddialog, som är utvecklat med en BSD-licens.

    När dialog inte längre behövdes kunde även flera närliggande komponenter tas bort:

    • dpv
    • libdpv
    • libfigpar

    Dpv var det sista programmet i FreeBSD:s källkodsträd som fortfarande använde dialog. Det hade dessutom varit undantaget från vanliga byggen i mer än två år.

    När dessa delar försvann fanns det inte längre någon GPL-licensierad programvara kvar i bassystemet.

    GNU-katalogen blev tom

    FreeBSD:s källkod innehöll tidigare en särskild katalog med namnet gnu. Där samlades program och komponenter som kom från GNU-projektet.

    Efter att GNU diff och dialog hade tagits bort återstod endast ett tomt skal av katalogen. FreeBSD-utvecklarna kunde därför även radera återstående byggfiler, tester, licensfiler och annan GNU-specifik infrastruktur.

    Katalogen hade då inte längre någon praktisk funktion.

    GNU diff ersattes av en BSD-version

    En annan viktig del av arbetet var att ersätta GNU diff.

    Diff är ett verktyg som jämför två textfiler och visar vilka rader som skiljer sig. Det används bland annat av programmerare, systemadministratörer och versionshanteringssystem.

    FreeBSD hade länge kvar GNU-versionen eftersom operativsystemets egen BSD-implementation saknade en fullt fungerande version av diff3.

    Diff3 används för att jämföra tre filer. Det är särskilt användbart när två olika ändringar av samma ursprungliga fil ska slås ihop.

    När FreeBSD:s egen diff3-implementation blev tillräckligt komplett kunde projektet ta bort GNU diff och använda den BSD-licensierade versionen i stället.

    Varför vill FreeBSD undvika GPL?

    FreeBSD använder i första hand den tillåtande BSD-licensen. Den ger användare och företag stor frihet att använda, ändra och distribuera koden, även som en del av kommersiella och slutna produkter.

    GPL bygger på en annan princip. Den som distribuerar modifierad GPL-kod måste normalt även göra källkoden tillgänglig under samma licensvillkor. Detta brukar kallas copyleft.

    FreeBSD-projektet har länge försökt minska beroendet av GPL-licensierade komponenter i bassystemet. En viktig anledning är att många GNU-projekt har gått från GPL version 2 till GPL version 3.

    GPLv3 innehåller fler och mer omfattande krav än GPLv2. Dessa passar enligt FreeBSD-projektet sämre ihop med målet att hålla bassystemet under tillåtande BSD-liknande licenser.

    FreeBSD har därför i flera fall stått inför två alternativ:

    1. fortsätta använda gamla versioner under GPLv2
    2. utveckla eller införa nya BSD-licensierade ersättare

    Att behålla gamla versioner blir med tiden problematiskt. Programmen kan sakna nya funktioner, förbättrad säkerhet och stöd för moderna system. Därför har FreeBSD stegvis ersatt dessa komponenter med nyare alternativ.

    En lång teknisk övergång är avslutad

    Arbetet med att ersätta GNU-program i FreeBSD:s bassystem har pågått under många år.

    Det har bland annat inneburit att utvecklarna har behövt skapa eller förbättra BSD-licensierade versioner av grundläggande systemverktyg. Sådana program kan verka små och enkla, men de måste fungera korrekt i många olika situationer och vara kompatibla med befintliga skript och arbetsflöden.

    Att ersätta ett etablerat verktyg handlar därför inte bara om att skriva ett nytt program. Det krävs också omfattande tester, dokumentation och anpassning av resten av systemet.

    Borttagningen av dialog och GNU-katalogen markerar slutpunkten för denna långa process.

    GPL-program finns fortfarande tillgängliga

    För vanliga användare förändras egentligen väldigt lite.

    FreeBSD:s paketförråd och Ports Collection innehåller fortfarande en stor mängd program med GPL-licens. Det gäller exempelvis:

    • skrivbordsmiljöer
    • kompilatorer
    • programmeringsverktyg
    • serverprogram
    • multimediaapplikationer
    • kontorsprogram
    • systemverktyg

    Dessa program kan installeras precis som tidigare.

    Skillnaden är att de betraktas som valfri tredjepartsprogramvara och inte som en del av det sammanhållna FreeBSD-system som utvecklas och distribueras av FreeBSD-projektet.

    Ingen märkbar skillnad för användarna

    För slutanvändare kommer förändringen sannolikt inte att märkas alls. De borttagna komponenterna hade redan ersatts eller hade inte ingått i vanliga systembyggen på flera år.

    Betydelsen är i stället främst teknisk och juridisk.

    FreeBSD-projektet har nu större kontroll över bassystemets kod och kan vidareutveckla sina verktyg utan att behöva hålla fast vid äldre GPLv2-versioner. Samtidigt har projektet uppnått sitt långsiktiga mål att låta hela bassystemet använda licenser som bättre stämmer överens med FreeBSD:s filosofi.

    Det handlar därför mindre om en konflikt mellan BSD och GPL och mer om hur FreeBSD vill organisera, licensiera och underhålla sitt eget operativsystem.

    https://www.freebsd.org

    Teknisk faktaruta – FreeBSD

    System
    FreeBSD
    Förändring
    GPL-licensierad kod har tagits bort ur bassystemet.
    Sista GPL-komponenten
    dialog
    Ersättare
    bsddialog, som använder en BSD-licens.
    Övrigt som tagits bort
    GNU diff, katalogen gnu/ samt GNU-specifika byggfiler och tester.
    Vad omfattas?
    FreeBSD:s kärna, systembibliotek, installationsprogram och grundläggande systemverktyg.
    Ports och paket
    GPL-licensierade program finns fortfarande tillgängliga och kan installeras som vanligt.
    Praktisk betydelse
    Förändringen har ingen större märkbar påverkan för vanliga användare.

    FreeBSD:s bassystem är nu fritt från GPL-licensierad kod.

Etikett: GPLv2

  • FreeBSD grundsystem är nu helt fritt från GPL-licensierad kod

    FreeBSD har nått en viktig milstolpe: operativsystemets bassystem innehåller inte längre någon GPL-licensierad programvara. Den sista GPL-komponenten har tagits bort, samtidigt som den tidigare GNU-katalogen i källkodsträdet har avvecklats. För vanliga användare innebär förändringen nästan ingenting, men för FreeBSD-projektet markerar den slutet på en lång teknisk och licensmässig övergång. FreeBSD har nått en viktig milstolpe.…