XFree86
XFree86 ist eine freie Open Source-Implementation des X-Window-Systems, die auf vielen Unix-artigen Betriebssystemen (und auf Windows NT innerhalb der Cygwin-Umgebung sowie auf OS/2) läuft. Dazu gehören neben Linux und GNU Hurd die BSD-Derivate und Mac OS X. Bis vor kurzem war es eine auf fast jedem Linux- oder BSD-System anzutreffende Software.
Mit Stand 1. Oktober 2001 unterstützte XFree86 die X11-Spezifikation R6.5.1 inklusive der GLX- und Render-Erweiterungen.
Geschichte
Das Projekt wurde 1991 von David Wexelblat, Glenn Lai, David Dawes und Jim Tsillas begonnen, die gemeinsam daran gingen, Fehler im Quellcode von X11 X386 (geschrieben von Thomas Roell) zu beheben. Diese Version hieß ursprünglich X386 1.2e. Da neuere Versionen von X386 nur noch kommerziell verkauft wurden, entwickelte sich das Projekt fortan selbtständig, und wurde in XFree86 umbenannt, was ein Wortspiel ist (X-three-eighty-six und X-free-eighty-six).
Architektur
Der XFree86-Server kommuniziert mit dem Betriebssystem-Kernel (meistens ein Linux-, BSD- oder HURD-Kernel), um Ein- und Ausgabegeräte anzusteuern, mit Ausnahme von Grafikkarten. Diese werden von XFree86 direkt unter Umgehung des Kernels angesprochen. Für die weitaus meisten Grafikkarten der letzten 15 Jahre bringt XFree86 eigene Treiber mit. Für einige Karten (am bekanntesten nVidia) gibt es proprietäre Binary-Only-Treiber des Herstellers. Es ist aber auch möglich, XFree86 auf ein Framebuffer-Gerät arbeiten zu lassen, wozu dann ein Grafikkarten-Treiber des Kernels benutzt wird. Weil er eine Menge Low-Level-Operationen durchführt, muss der Server mit den Rechten des Benutzers root laufen, bzw. mit UID 0.
Auf einem typischen POSIX-System liegen die XFree86-Konfigurationsdateien im Verzeichnis /etc/X11. Die grundlegende Konfiguration erfolgt in der Datei XF86Config (manchmal auch XF86Config-4), die u. a. Einstellungen zum verwendeten Monitor, Tastatur, Maus und Grafikkarte enthält. Für den weniger erfahrenen Benutzer existieren eine Reihe von (auch grafischen) Frontends, die die Konfiguration des X-Servers erleichtern. Moderne Distributionen bieten auch eine halbautomatische Erkennung der richtigen Einstellungen.
Lizenz-Streitigkeiten
XFree86 4.4 wurde mit einer Änderung der Lizenz veröffentlicht: Es wurde eine Werbungsklausel hinzugefügt, wie sie aus alten Versionen der BSD-Lizenz bekannt ist. Dies hat zu heftigen Auseinandersetzungen und dem Ausschluss von XFree86 4.4 aus vielen Linux-Distributionen und aus OpenBSD geführt. Kritiker werfen ein, dass XFree86 damit zu nicht-freier Software werde. In jedem Fall ist die Lizenzänderung problematisch. Einige Projekte wie z. B. OpenBSD pflegen inzwischen Quellbäume basierend auf XFree86 Version 4.4 RC2, der letzten Version unter der alten Lizenz.
Abspaltungen von XFree86
XFree86 hatte ein "Kernteam" aus erfahrenen Entwicklern, die auf Grund ihrer Beiträge ausgewählt wurden. Wegen der begrenzten Innovationskraft entschied sich das XFree86-Kernteam am 30. Dezember 2003 dafür, sich am nächsten Tag selbst aufzulösen.
Bereits früher im Jahr 2003 wurde Keith Packard, ein anerkannter X-Window-System-Entwickler, aus dem Kernteam ausgeschlossen. Ihm wurde eine Verschwörung vorgeworfen: Keith Packard hatte versucht, das XFree86-Projekt zu spalten. Er arbeitete weiter innerhalb des Projekts, versuchte aber unter der Hand andere Entwickler für ein neues von ihm initialisiertes X-Server-Projekt zu gewinnen. Packard bestritt dies, anhand von Mail-Wechseln konnte jedoch nachgewiesen werden, dass er tatsächlich mit anderen Entwicklern über eine Spaltung diskutiert hatte. Packard selbst zog es vor, zu den Vorgängen nichts mehr zu sagen. Dies führte zur Schaffung von XWin, einem Forum zur Verbesserung von X und speziell XFree86. Das XWin-Forum existiert inzwischen nicht mehr, und Besucher werden nach freedesktop.org umgeleitet. Keith Packard begann basierend auf dem X-Window-System und in Kooperation mit freedesktop.org ein komplett neues Entwicklungsprojekt mit Namen Xserver. Xserver benutzt das Kdrive Treiber-API-Modell. Die Autoren beschreiben das Projekt gerne als die nächste X-Server-Generation, die einer anderen Richtung als XFree86 folgt.
Nach der Auflösung des Kernteams schlossen sich viele Enwickler mit der alten X.Org Foundation zusammen, um diese in ein Open Source Projekt umzuwandeln, das zukünftig eine Implementierung eines freien X-Servers gewährleisten sollte. In Zusammenarbeit mit freedesktop.org stellt das neue Projekt unter dem Namen X.Org einen X-Server zur Verfügung, der auf einer Weiterentwicklung von XFree86 4.4RC2 beruht. Dieses Projekt verzeichnet umso mehr Aktivität, seit viele Linux Distributionen wie Fedora Core, Gentoo, SuSE oder Slackware beschlossen haben, diesen Server statt des XFree86 einzubinden. Die aktuelle Version zeichnet sich durch deutlich mehr Umfang und Funktionen als die alte XFree86-Version 4.4RC2 aus.
Neben diesem Projekt gab es zeitweise einen experimentellen Zweig des XFree86-Codes mit Namen Xouvert, dessen Entwicklung jedoch bis auf weiteres eingestellt wurde.
Weblinks
- http://www.xfree86.org - Projekt-Homepage
- http://www.x.org/ - X.org Projekt-Homepage
- http://www.freedesktop.org/Software/xserver - Keith Packards Xserver-Projekt bei freedesktop.org
- http://xorg.freedesktop.org - X.org Projekt bei Freedesktop
- http://xfree86.org/pipermail/forum/2003-March/000128.html - David Wexelblat über die Gründe, Keith Packard aus dem Kernteam auszuschließen