GPLv3: FreeBSD entfernt GCC aus Hauptzweig

Wie bereits im vergangenen Sommer angekündigt, hat das Entwicklerteam des Unix-Betriebssystems FreeBSD seine selbst gepflegte Version der GNU Compiler Collection (GCC) aus dem Hauptzweig des Systems entfernt(öffnet im neuen Fenster) . Die bisher von dem Projekt genutzte GCC-Version 4.2.1 ist bereits im Sommer 2007 erschienen und nun eben komplett entfernt worden. Als Standardcompiler nutzt das Projekt damit künftig für sämtliche Software die LLVM-Werkzeuge wie Clang.
Überraschend und ungewöhnlich ist der Schritt aber nicht. So verzichten etwa die Entwickler von OpenBSD(öffnet im neuen Fenster) schon seit rund drei Jahren auf GCC und setzen stattdessen auf Clang. Auch Apple hat diesen Schritt für seine Basissysteme auf ähnliche Weise vollzogen, allerdings schon für Mac OS X Lion alias 10.7, das im Sommer 2011 erschienen ist.
Dass die Teams eine derart veraltete Softwareversion überhaupt weiter pflegen und nutzen, statt GCC einfach zu aktualisieren, ist auf eine prinzipielle Ablehnung der GPLv3 zurückzuführen. Das GCC-Team hat diese neue Lizenz mit der Version 4.2.2 erstmals genutzt, weshalb diese Version nicht zum Einsatz kam. Die BSD-Entwickler und auch Apple bevorzugen darüber hinaus auch Software mit einer freizügigen Lizenz, im Gegensatz zur Copyleft-Lizenz GPL. Die Verfügbarkeit von LLVM, das eben freizügig lizenziert ist, ermöglicht damit außerdem einen Wechsel der Compiler.
Dass dieser Wechsel im Fall von FreeBSD nun dennoch fast 13 Jahre benötigt hat, liegt schlicht daran, dass der Code des Systems bisher in Teilen nicht mit Clang kompiliert werden konnte. Das kann am Code liegen, der auf Eigenheiten von GCC setzt, oder auch an weiteren kleinen Details. Für verschiedene Architekturen wie ARM, Mips oder PowerPC hat das FreeBSD-Team nun entsprechende Anpassungen vorgenommen.
Auf x86-Systemen ist Clang schon sehr viel länger Standardcompiler in FreeBSD(öffnet im neuen Fenster) . Um den Wechsel komplett zu vollziehen, wird FreeBSD auch seinen Port auf Sparc64 entfernen, da sich hierfür keine Betreuer für den Compiler-Wechsel gefunden haben. Das schreiben die Entwickler auf ihrer Mailing-Liste(öffnet im neuen Fenster) .