Wegen GPLv3: FreeBSD wirft GCC raus

FreeBSD muss künftig ohne GNU Compiler Collection auskommen – ursächlich ist die dafür zugrundeliegende GPLv3-Lizenz.

In Pocket speichern vorlesen Druckansicht 413 Kommentare lesen
Wegen GPLv3: FreeBSD wirft GCC raus

(Bild: Profit_Image/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Michael Plura
Inhaltsverzeichnis

Die Entwickler von FreeBSD haben nach dem endgültigen Umstieg auf Clang/LLVM den antiken GCC 4.2.1 komplett aus dem Build-Prozess entfernt. Die GPLv3 ab GCC 4.2.2 hinderte FreeBSD daran, neuere GCC-Versionen zu benutzen.

Die GNU General Public License (GPL) ist noch vor der Gruppe der BSD-Lizenzen die wohl am meisten genutzte Open-Source-Lizenz. Bekannt dürfte sie vor allem durch GNU/Linux sein, das nahezu komplett unter der GPL steht. Richard Stallman, Gründer der Free Software Foundation (FSF), stellte 1991 die GPLv2 vor, die wegen ihrer Einfachheit unter Entwicklern beliebt war: Wer GPL-Code für Teile seiner eigenen Software benutzt, muss seine Software auch unter die GPL stellen und den Quellcode öffentlich machen.

Die GPLv3 verkomplizierte die Lizenz deutlich, wohl vor allem durch den Wunsch Richard Stallmans, "freie Software" noch konsequenter durchzusetzen. Durch viele Einschränkungen, unter anderem in Bezug auf Softwarepatente und Digital Rights Management (DRM) wollte Stallman seine Sicht von "Freiheit" als politisches Ziel für Software durchsetzen. Zusätzlich ist die GPLv3 in vielen Details auf das US-amerikanische Rechtssystem zugeschnitten, was die internationale Nutzung problematisch macht. Das schmeckt nicht nur dem Linux-Erfinder Linus Torvalds nicht, der die GPLv3 ablehnt und den Linux-Kernel nach wie vor explizit unter die GPLv2 stellt.

Die GNU Compiler Collection (GCC) wurde mit Version 4.2.2 bereits im Oktober 2007 unter die GPLv3 gestellt. Das war für die BSDs – FreeBSD/Dragonfly BSD, OpenBSD und NetBSD – ein Problem. FreeBSD und OpenBSD lehnen die GPLv3 grundsätzlich ab, DragonflyBSD und NetBSD arrangieren sich mit ihr. Letztere können so auch die neuen GCC-Versionen nutzen, FreeBSD und OpenBSD hingen auf dem GPLv2-Zweig von GCC 4.2.1 fest und mussten Änderungen und Bugfixes in Eigenarbeit in den alten Code einpflegen. Dass das auf Dauer nicht funktionieren kann, ist offensichtlich.

Der Softwareentwickler Theo de Raadt hat als Konsequenz sein OpenBSD für i386/amd64 im Sommer 2017 komplett auf Clang/LLVM umgestellt, bei FreeBSD wird bereits seit vielen Jahren ein konkreter Umstiegsplan verfolgt.

2019 begann man bei FreeBSD damit, alle Plattformen auf Clang/LLVM umzustellen. Mit einem Commit am Samstag wurde GCC 4.2.1 offiziell aus der Build-Infrastruktur von FreeBSD entfernt. Neben i386 und amd64 sind auch ARM, MIPS und PowerPC auf Clang/LLVM umgestellt worden. Bei der SPARC64-Plattform hat sich niemand gefunden, den Code auf Clang/LLVM umzustellen, sodass SPARC64 voraussichtlich in Zukunft (unter FreeBSD 13) nicht mehr unterstützt wird und in Support Tier 4 abrutscht. (olb)