english
 WOS 1 / Proceedings / Panels / 2. Freie Software-Projekte / Dirk Hohndel / skript

XFree86  



Was ist XFree86? Die meisten haben es wahrscheinlich schon mal gesehen. Wenn man einen Linuxrechner gesehen hat, hat man ihn wahrscheinlich nicht an einer Textkonsole gesehen. Das ist eher langweilig. Meistens sieht man ja so etwas. [zeigt auf die Projektion aus seinem Laptop.] Was da läuft ist schon X. XFree86 ist eine Implementation des X-Window-Systems, das ja schon vor vielen, vielen Jahren am MIT entwickelt wurde und das, zumindest in der Unix-Welt, der Standard für die Basis einer graphischen Benutzeroberfläche ist. Diese Implementationen ist für PC-based Unix-like Systems. Das ist schon eine sehr vorsichtige Formulierung, und sie ist immer noch nicht weit genug. XFree86 läuft auf jeder Menge Hardware. Es ist natürlich portiert auf Intel-PCs, auf den Alpha, auf Sparc, auf Power-PC, es läuft auf dem Itzy, diesem winzigen Handheld, den es bei Compaq als Experimentier-Version gibt. Zu den unterstützten Betriebssystemen gehört Linux, ganz klar, eigentlich mehr Realtime-Betriebssysteme wie QNX, selbst so etwas exotisches wie OS/2 oder Minix -- was das Herz begehrt. Das sorgt natürlich auch dafür, daß unsere User-Base sehr, sehr groß ist. Eine Schätzung ist sehr schwierig. Wenn wir mal davon ausgehen, daß es ungefähr zehn Millionen Linux-Benutzer gibt, und XFree86 ist nun mal die Implementation, die auf fast allen Linux-Systemen läuft; dazu noch so eineinhalb Millionen der verschiedensten freien BSDs; jede Menge kommerzielle Unix-Versionen, die auch XFree86 als ihren X-Server bundeln -- also 12 bis 14 Millionen ist sicher eher zu niedrig geschätzt. Wichtig ist, es ist die heute mit Abstand am häufigsten eingesetzte Version von X. Und auch Jim Gettys, einer der Urväter von X, sieht heute XFree86 als die Gruppe, die die Entwicklung von X an sich weiter trägt. X.Org soll das wieder übernehmen, so die Gruppe endlich mal ins Rollen kommt, aber im Moment sind wir es.  

Wie hat alles angefangen? 1992 hat das X-Consortium X11R5 released. Tolle Sache. Das erste Mal waren X-Server für PCs dabei. Dummerweise waren die weder besonders schnell, noch besonderes stabil, noch besonders benutzbar. Man muß sich vorstellen, vor sieben Jahren war der Standard einer ultra high-end Graphikkarte eine ET4000, meistens mit 512 Kilobyte. Das heißt, da war es wirklich nötig, mit der letzten Assembler-Routine zu versuchen, irgendwo noch ein schnelleres Bit rauszukitzeln. Und X386, was Teil von X11R5 war, war da einfach sehr, sehr unbefriedigend. XFree86 begann eigentlich nur als eine erweiterte Version davon. Darum dieser lustige Name: X386 1.2E -- E, wie erweitert oder extented. Relativ schnell wurde aber klar, daß daraus ein ganzes Projekt werden würde und daß man einen Namen braucht, um sich abzugrenzen. Und daraus kommt dieses lustige Wortspiel: XFree86 statt X-Three86. Wir haben seitdem etwa zwei bis vier Releases im Jahr gemacht, mal mehr, mal weniger, immer abhängig davon, wieviel sich im Markt tat oder womit wir hauptsächlich beschäftigt waren. Die ganz aktuelle Release ist die 3.3.4. Dieses "nächste Woche" [auf seiner Folie] ist mutig -- das hängt davon ab, wieviel Zeit ich nächste Woche habe. Ich muß auch zu meiner Schande gestehen, daß ich auf der Linux-Expo in Raleigh im Mai diesen Jahres gesagt habe: 'Nächste Woche'. One of these days, denke ich mal. Im wesentlichen ist es genau das gleiche, was Frank gerade sagte. Und das ist auch eine der Stärken, die ich in freien Software-Projekten sehe. Denn ich kann einfach sagen: 'Naja, das funktioniert noch nicht. Ich release das Ding nicht.' Wenn ich jetzt natürlich schon 25 Millionen US-Dollar ausgegeben habe, um den 4. Mai als den großen Release-Tag in der Presse bekannt zu machen, dann sagt mein Marketing-Department mir: 'Das ist mir wurscht. Du released das Ding.' Während ich sagen kann: 'Nein, funktioniert nicht. Kommt nächste Woche.' Und im Moment muß ich sagen, das Warten hat sich gelohnt. Wir haben noch ein paar sehr interessante neue Fixes reinbekommen, auf die wir alle gewartet haben. So daß ich hoffe, daß wir nächste Woche wirklich etwas Sinnvolles releasen können.  

Zusätzlich machen wir noch etwas ganz anderes. Wir arbeiten an einem fundamental neuen Design, das in XFree86 4.0 münden wird. Und wir werden wahrscheinlich ebenfalls nächste Woche den ersten Snapshot davon der Öffentlichkeit freigeben, die 3.9.15. Der Grund, warum wir die beiden gleichzeitig freigeben oder warum wir uns freuen, daß es sich so ergibt, ist, daß diese 3.9.15, auch auf Grund der Versionsnummer schon ersichtlich, noch nichts Fertiges ist. Das heißt, das ist Work in Progress. Da kann man sehen, wo wir sind. Das ist mit einem halbwegs stabilen Release-Level mal ein bißchen zusammengepackt, aber das ist nichts, was ich jemandem empfehlen würde, auf seine täglich benutzte Workstation zu tun. Es ist ein Blick darauf, wo es mit 4.0 hingeht.  

Wie sieht die Struktur eines Projekts in der Größe von XFree86 aus? Begonnen wurde das Ganze von vier Leuten und ein paar Testern. Am Anfang waren wir vielleicht zwanzig. Einfach nur mit ein paar kleinen Patches. Das wurde verbreitet als diff-Files über das Internet, ganz trivial. Das hat sich aber sehr schnell geändert, und zwar insbesondere durch das Aufkommen von Linux. Diese zwei Projekte haben sich eine große Synergie gegeben, denn Linux ist weitergekommen, weil es eine graphische Oberfläche gab, und XFree86 ist sehr viel weitergekommen, weil es mit Linux eine geniale Plattform dafür gab, die frei verfügbar, die den Massen zugänglich war. Indem Linux und damit XFree86 bedeutend wurden, wurde aus dem ganzen ein sehr, sehr großes Projekt. Wir haben uns 1994 incorpareted als eine Non-Profit-Gesellschaft. Der Hintergrund war damals, daß in das X-Consortium nur Unternehmen eintreten können. Das Konzept einer so losen Gruppe von Entwicklern -- damit hat IBM ja letztes Jahr noch beim Vertrag mit Apache Schwierigkeiten gehabt, über den wir bestimmt noch etwas hören werden. Deswegen haben wir aus uns eine Firma gemacht. Diese Firma ist formal non-profit, daß heißt, wir leben davon, daß wir Spenden kriegen. Wir haben keine bezahlten Mitarbeiter. Das Geld wird verwendet für Mitgliedschaften in Konsortien, für Hardware, für Internet-Access und solche Dinge.  

Wir haben ein siebenköpfiges Board of Directors, das im Hinblick auf die Strategiepolitik und wirtschaftliche Planung die Firma leitet. Wir haben ein elfköpfiges Core-Team, das auf der Entwicklungsseite die Vorgaben macht und auch einen großen Teil der Entwicklung selbst mitbestimmt, die komplette Source-Verwaltung macht -- auch wir verwenden selbstverständlich CVS -- und das sich um die technologischen Vorgaben, was implementiert wird, wo wir hin wollen, kümmert. Wir sind, glaube ich, eines der größten Projekte mit etwa 600 Entwicklern weltweit. Die Zahl 600 ist jetzt auch so vom letzten Montag Abend. Die Anzahl der neuen Leute, die Interesse zeigen und in so ein Projekt einsteigen, ist absolut verblüffend. Das Interesse ist riesig. 'Entwickler' ist natürlich ein bißchen grob gegriffen. Die Zahl der Leute, die mehr als 1000 Zeilen Code im XFree86 drin haben, ist vielleicht zwei Dutzend, mehr sind das nicht. Es gibt jede Menge Leute, die mal einen ein- bis dreizeiligen Bug Fix gemacht haben, aber auch "nur" Tester, wobei nur in großen Anführungszeichen zu sehen ist. Leute, die Dokumentationen schreiben, sind wahnsinnig wertvoll. Denn, das werden viele Free Software-Projektleiter mir bestätigen können: Coders don't write docs. Es ist leicht, Leute zu finden, die genialen Code schreiben. Es ist schwierig, Leute zu finden, die bereit sind, diesen genialen Code auch für den Anfänger lesbar zu dokumentieren.  

XFree86 ist eindeutig ein Open Source-Projekt. Wir machen unserer Sourcen verfügbar. Wir haben nichts, was intellectual Property wäre. Wir basieren vollkommen auf freiwilliger Mitarbeit, aber wir haben einen kleinen Unterschied zu vielen anderen Projekten. Wir haben nämlich dieses partly-closed Development Model. Der Hintergrund, und das ist auch einer der Gründe für die Incorporation damals gewesen: Firmen sind sehr, sehr vorsichtig mit der Herausgabe von Hardware-Dokumentationen. Viele Firmen sehen in Hardware-Dokumentationen ihre intellectual Property. Man kriegt eigentlich solche Docs nur unter Non-Disclosure Agreement. Wir sind heute soweit, daß wir von den meisten Firmen die lustige Erlaubnis kriegen: 'Ihr dürft die Sourcen veröffentlichen, bloß unsere Dokumentation nicht.' Damit kann ich leben, das ist kein Problem. Nur muß ich natürlich in der Lage sein, das Ganze legal gegenüber dieser Firma zu repräsentieren. Und dementsprechend muß jeder, der ein XFree86-Developer sein will, Mitglied -- ein sogenannter Non-Voting Member -- im XFree86-Projekt werden, um damit unter unserem legalen Regenschirm zu stehen und auf die Dokumentationen zugreifen zu können. Daraus ergeben sich dann auch diese zwei Klassen von Source Code. Es gibt den Release-Code, der für jeden frei verfügbar ist. Das sind einfach unsere Releases, die aktuelle ist eine 3.3.3.1 -- furchtbarer Name --, 3.3.4 und 3.9.15 werden die nächsten sein. Und es gibt die internal Development Sources, das, was die heutige Alpha-Version ist, also 3.9.Pv oder so was. Die sind nur für die Mitglieder zugänglich. Aber eines ist natürlich ganz klar: jeder kann Mitglied werden. Es gibt also keine Restriktionen, daß wir irgendeinen von den aktuellen Development-Sourcen ausschließen würden. Es ist einfach ein formaler Prozeß, den wir brauchen, um mit unseren Partnern in der Industrie zusammenarbeiten zu können.  

Die Lizenz, die wir haben, steht im deutlichen und krassen Gegensatz zur GNU-GPL. Das X-Consortium-Copyright ist abgeleitet vom BSD-Copyright, ist aber noch schwächer. Noch nicht einmal diese lustige Advertizing Clause ist bei uns enthalten, das heißt, man muß noch nicht einmal in seinem Splash-Screen aufnehmen: 'Copyright by was-weiß-ich-wem.' Im wesentlichen sagt die Lizenz: 'Du kannst alles machen mit der Software, bloß behaupte nicht, du hast sie geschrieben.' Viele Leute, gerade die wilden Verfechter der GPL, sagen: 'Oh, das ist schlimm. Irgend jemand wird das Ding leicht verändern, schließen, daraus ein kommerzielles Produkt machen und die freie Software-Welt ausschließen.' Als Bedenken ist das richtig. De facto sieht man aber, daß wir mit riesigem Abstand die einzigen sind, die den X-Server für Linux anbieten. Es gibt zwar kommerzielle Anbieter, aber die haben vom Market-Share überhaupt keinen sichtbaren Anteil. Das zeigt, daß man in einem Open Source-Projekt rein mit der Qualität von dem Produkt, das man abliefert, dafür sorgen kann, daß für jemanden, der versucht, hier Closed Source zu gehen und daraus ein proprietäres Produkt zu machen, überhaupt kein Platz ist. Denn jeder der heute hingeht und dieses Projekt zumachen und daraus seine eigene Sache machen will, muß damit rechnen, daß wir all das, was er anbietet, auch anbieten. Wir bieten es mit Sourcen an und frei verfügbar. Und von daher ist für so etwas kein Markt da. Die Geschichte von vielen Projekten, nicht nur von X, auch von Dingen wie Sendmail oder BIND, zeigt, daß diese eher abschreckenden Bestimmungen der GPL gar nicht nötig sind. Für uns ist der große Grund, warum wir mit einer GPL überhaupt nichts anfangen können, wiederum die Zusammenarbeit mit den Firmen. Denn viele kommerzielle Unix-Systeme enthalten, wie gesagt, heute X-Server, die im wesentlichen auf XFree86 basieren. Und viele von den Firmen, mit denen wir zusammenarbeiten und von denen wir Source Code bekommen -- es gibt ja etliche Graphikkartenhersteller, die heute selber die Treiber für ihre Karten schreiben, NVidia ist da ein klassisches Beispiel --, würden niemals zulassen, daß eine so virenartige Lizenz wie die GPL, die sich in den Code reinfrißt und nie wieder daraus weggeht, in ihren Code reinkommt. Von daher folgen wir dieser sehr, sehr freien Lizenz, die uns bis jetzt sehr gut gedient hat und werden das auch weiterhin tun.  
 

(Transkription Katja Pratschke) 


XFree86.org 
James Gettys: The X Window System is 10 years old today!  A brief history of the X Window System. 
Das X Window-Consortium: X.Org


[^] top


Creative Commons License
All original works on this website unless otherwise noted are
copyright protected and licensed under the
Creative Commons Attribution-ShareAlike License Germany.