Ich traf Miguel de Icaza und Federico Mena am 21. January 1998.
LF: Wie sind Sie mit Linux angefangen?
Miguel: Das ist nicht sehr wichtig. Ich
habe Linux aus dem Netz heruntergeladen, wie alle anderen auch, und genau
wie die auch habe ich es installiert und fertig.
LF: Wie lange ist das her?
Miguel: Ich weiß nicht mehr. Es war 93, vielleicht...94.
Der erste Kern, den ich kompiliert habe, war 0.985. Wie alt ist der? Das
müssen schon 3 oder 4 Jahre sein. Also war es 93.
LF: Was ist Ihre offizielle Beschäftigung?
Miguel: Ich arbeite am Institute of Nuclear Sciences (am UNAM).
Ich bin Systemverwalter, Netzwerkverwalter und in meinen vielen Freistunden,
das heißt den ganzen Tag, schreibe ich Software, lese in den News
oder schreibe welche, oder ich lese E-Mails. Mensch, ich sage dir, ich
bin sicher, dass ich E-Mail-lesend sterben werde.
LF: Was war das erste Programm, das Sie
für Linux geschrieben haben?
Miguel: Einige Patches für Wine. Die haben wie eine Library
funktioniert, aber ich hatte keinen PC, also musste ich Wine auf der Sun
Station kompilieren. Damit hat das Projekt angefangen, Wine eine Library
zu machen, aber ich habe es nicht beendet. Es war ein ganzes Jahr später,
nein, fast zwei Jahre bis jemand das Projekt übernommen hat.
LF: Haben Sie an der School of Sciences
der UNAM studiert?
Miguel: Ja. Physik und Mathematik.
LF: Haben Sie eines davon beendet?
Miguel: Nein. Ähm.... sagen wir, die sind im Moment ausgesetzt.
LF: Wie alt sind Sie?
Miguel: 27, nein 25. Ich bin 72 geboren. Hören Sie, ich
erinnere mich jetzt. Ich hab Midnight Commander mit 20 Jahren geschrieben.
Das war 94 oder 93? Ich glaube. Ich erinnere mich Midnight Commander für
Linux geschrieben zu haben. Ich habe es auf der Sun entwickelt, weil die
schneller war als der blöde PC, aber es war für Linux. Mist!
Wann war das? Ich weiß nicht mehr, es muss im MC (Anm. d. Ü.:
e: Midnight Commander; verwandt mit bekanntem DOS-Programm) stehen.
LF: Arbeiten Sie noch daran?
Miguel: Ja.
LF: Es wird im Gnome verwendet werden,
nicht wahr?
Miguel: Naja, ich unterhalte es, weil irgend jemand es unterhalten
muss. Anders gesagt: ich bin immer noch der Leiter der Entwicklung, aber
ich arbeite im Moment nicht viel daran. Die meisten Änderungen sind
Patches, die Leute zur Verfügung gestellt haben. Keine Ahnung, jeden
zweiten oder dritten Tag gibt es eine neue Version. Also, nicht jeden zweiten
Tag, ungefähr einmal in der Woche. Aber davon abgesehen... Ich habe
hauptsächlich wegen Gnome daran weitergearbeit, MC wird der Datei-Manager
für Gnome sein.
LF: Wann haben Sie mit Linux/Sparc angefangen?
Miguel: Ich kann mich nicht erinnern. Was sagen Sie dazu,
ich kann mich nicht erinnern! Ich glaube es war mitte 95 (Überprüfen
Sie das Datum).
LF: Was haben Sie getan?
Miguel: Tja, ich verständigte mich mit David Miller. Er
ist der Initiator der Portierung. Dann haben wir beide die Portierung richtig
gestartet und dann stieß Eddie2, nein, Peter zu uns..., dann Eddie2
nach Paul irgendwas. Am Anfang war das erste, was ich gemacht habe, ein
Ethernet Treiber. Danach fing ich verschiedene Dinge an, ich weiß
nicht... ein Treiber für X-Window... Ich habe all dies in ungefähr
zwei Wochen geschrieben, alle die zu der Zeit existierten. Ähm, das
meiste war Arbeit an der X-Portierung... Die meiste Zeit habe ich für
die C-Library gebraucht. Bis zum heutigen Tag werde ich noch von der C-Library
gejagt. Wir haben libc4 zuerst portiert.
LF: Arbeiten Sie noch am Sparc?
Miguel: Gestern habe ich einen Bug bereinigt. Zuerst haben wir
die libc4 an den Sparc angepaßt, als die funktionierte, libc5, dann
libc6. Und sie sind drei verschiedene Libraries. Sie sind fast drei Portierungen.
Es gibt nichts frustrierenderes als diese Monster zu portieren. Schlimmer
noch, sie dreimal zu portieren.
LF: Wie fing die Linux/Sparc-Portierung
an?
Miguel: Ah, während ich an Sparc arbeitete, merkten die
Leute von SGI Mexico an, dass die Chance da wäre, damit zu beginnen.
Dann bin ich in die Verhandlungen gekommen, aber ich nahm mir Zeit und
Zeit und Zeit. Und dann kam David Miller und schrieb Linux Silicon, er
kam zurück und es dauerte nochmal ein Jahr bis sie mir eine Silicon
gaben.
Eigentlich mag ich freie Software genauso wie alle gesunden Menschen.
Aber der Kopf des Projektes Linux Sparc ist David
Miller. Eddie2 pflegte lange Zeit die Portierung. Richard Henderson hat
auch viel an der C-Library gearbeitet. Jacob J... ist heutzutage der einzige
Entwickler.
LF: Was haben Sie am Kern gemacht?
Miguel: Ich habe am Sparc-Teil gearbeitet, und auch an der RAID-Implementierung
mit Ingo Mohar und Gadi Oxman, dabei ist Gadi der Guru, das heißt,
ich meine er ist der, der die gesamte Anerkennung erhalten sollte. Ingo
hat die schnellste Checksummen-Prüfung der Welt geschrieben, er hatte
die Idee wie RAID richtig eingebaut werden sollte. Und Gadi hat das Aufregendste
geschafft, nämlich die Wettbewerbsfähigkeit mit kommerziellen
RAID-Systemen. Dann schließt sich mein Name an, aber die meiste Arbeit
am Code haben diese beiden Monster getan.
LF: Was machen Sie am Gimp?
Miguel: Nichts.
LF: Aber Ihr Name taucht auf der Seite
von The Gimp auf.
Miguel: Das muss mit Gnome zusammenhängen. Ein paar Mini-Patches.
Was genau passierte, war, dass eines Tages plötzlich KDE erschien.
Das war ein Projekt, um Linux freundlicher zu machen. Am Anfang war es
nicht so gut, aber es fing an, mächtiger zu werden und hübscher,
... schön und stabil, nicht wahr? Dann sah es so aus, als ob KDE eine
super Sache wäre, also schrieb ich an alle meine Freunde bei den Distributionen
und empfahl ihnen, KDE miteinzubeziehen. Da zeigten sie mir das Problem
von KDE, für das ich mich vorher nicht interessiert hatte. KDE baut
auf einer Library auf, die unfrei ist, eine Library die nur für nicht-kommerzielle
Nutzung frei ist. Aber sie ist nicht frei. Und das ist sie wegen einem
wichtigen Grund: Freie Software erlaubt jedem, den Quellcode zu sehen,
ihn zu verändern, zu erlernen und zu benutzen. Aber das wichtigste
ist, dass man ihn verändern und verbessern kann und seine Bugs reparieren
kann. QT hat eine Lizenz, die ausdrücklich Modifikationen und Änderungen
verbietet. Es kommt von einer Firma, die das Produkt verkauft. Unglücklicherweise
ist KDE zwar sehr schön, aber wann gibt man nach, denkt man zum Beispiel
an ein freies OS: Linux. Sagen wir, man will KDE installieren und da hat
es ja eine Komponente, der nicht frei ist. Wann hört man auf, Komponenten
zu installieren die nicht frei sind? Das System ist nicht frei, es hat
ein kommerzielles Teil. Dann würden wir einen Schritt rückwärts
gehen. Wir sind sehr weit gekommen, seit Stallman 85 das Ideal eingeführt
hat und plötzlich kommen wir an einem Punkt an, an dem wir einem Schritt
zurück machen! Werden wir jetzt zurückgehen? Seltsame Lizenzen
akzeptieren?
LF: Was ist der Grund für Gnome?
Miguel: Es gab viele Diskussionen. Tatsächlich schließt
Gnome viele Dinge ein. Zuerst lernte ich, wie Active X arbeitet, das ist
keine schlechte Idee. Und dann habe ich mit Federico versucht, einen Haufen
Komponenten à la Active X für Linux zu programmieren. Wir haben
am falschen Punkt angesetzt, wir haben falsch gedacht und nichts getan.
Alles war von Anfang an schlecht konzeptioniert. Der Gedanke war, dass
einige Applikationen, wie tk, gtk wie ein System von Komponenten zusammenarbeiten
könnten. Wir haben es nie implementiert und ich vergaß die Idee.
Dann wollte ich verschiedene API´s von UNIX vereinigen. Aber das
sind Ideen, die kommen und man sagt "wir müssen das tun", aber man
tut es dann doch nie. Wir haben den Namen Gnome für unser Projekt
ausgesucht, weil er sich gut anhört. Als wir KDE sahen und sein Problem
erkannten, sagten wir uns "Nein, wir müssen eins schreiben". Zu Beginn
war es unbrauchbar, es gab zu viele Bugs, es brauchte zu viel Speicher,
es hatte fast kein Beharrungsvermögen. Das war Juni oder Juli. Eines
schönen Tages schrieben wir einen Vorschlag, das heißt ich schrieb
den Vorschlag und schickte ihn einem Haufen Leute: Stallman, den Leuten
von RedHat, der GTK-Gruppe und den Leuten, die an The Gimp arbeiteten.
Denn was wirklich interessant war, ist, dass ihm einen eigenen Toolkit
designet hatte. Dann wollten wir die Leute mit einbeziehen. Wir warfen
das gesamte Gewicht des Projektes in die Waagschale, das war viel kleiner
als das von KDE. Eigentlich sollte es "GNU Desktop Enviroment, GDE" heißen.
Im IRC haben wir das diskutiert und sagten "Gnome ist ein alter Name, den
wir schon haben, aber er paßt hier. Mal sehen was G, N... sind".
LF: Was unterscheidet Gnome von anderen
Window-Managern, wie zum Beispiel Enlightenment?
Miguel: Enlightenment ist ein Window-Manager, das heißt,
es sorgt für die Einstellung des Hintergrundes, die Dekoration der
Fenster und die Definition des Verhaltens der Fenster. Das ist alles. Aber
es bestimmt nicht, was eine Applikation ist. Die Applikationen sind ihm
völlig egal. Etwas davon, und so viel von dem; ein bißchen von
allem und ein wenig Gemischtes. Der Gedanke von Gnome und KDE ist, dass
sie nicht einfach Window-Manager sind, sie sind auch Interface für
Applikationen. KDE hängt sogar von seinem Window-Manager ab. Ich glaube,
jetzt ist das nicht mehr der Fall. Fakt ist, dass Gnome mit jedem Window-Manager
läuft. Wenn man Enlightenment mag, benutzt man es; wenn man fv bevorzugt,
dann benutzt man fv; oder wenn man KDE mag, dann eben das. Es ist wert,
gesagt zu werden, dass der Designer von Enlightenment (Rasterman), Teil
vom Gnome-Team ist. Tatsächlich ist er angestellt, um an Gnome zu
arbeiten. RedHat bezahlt ihn, und RedHat wird Gnome offiziell unterstützen.
In Linux werden ewig viele Dinge noch nicht benutzt. Gnome hat mehrere
Ziele, eines davon ist einen freundlichen Desktop bereitzustellen. Und
ich glaube, das ist der größte Vorteil von KDE. Das KDE-Team
hat gezeigt, dass eine kleine Gruppe Menschen in einem Jahr einen unglaublichen
Desktop kreiren kann, dass es mit Windows 95 konkurrieren kann. Als ich
Windows 95 das erste Mal sah, dachte ich "Wir sind verloren, wir haben
den Anschluss verloren! Wir haben das Interface total vernachlässigt
und sie haben uns fertiggemacht." Ich glaubte nicht, dass wir jemals an
das herankommen könnten. Und KDE hat das Gegenteil demonstriert, dass
es möglich war es zu machen. Und dass alles von einem kleinen Team
von Programmierern geschafft werden kann. Deshalb vermischt Gnome
all diese Elemente, das heißt, es produziert einen freundlichen Desktop
und eine zusammenhängende Umgebung. Alle Applikationen benutzen das
selbe Toolkit, alle verwenden die selben Libraries, alle fühlen sich
gleich an und sehen auch gleich aus, alle sollen einfach zu benutzen sein
und sollen auch gut aussehen. Das tut KDE auch, aber wir wollen weiter
gehen, wir wollen CORBA benutzen. Die Idee hinter CORBA ist, dass wie bei
Pipelines, die fantastisch zum Mischen von Programmen mit eigenen Programmen
sind, in CORBA Programme bestimmte Spezifikationen, ein Interface implementieren
können. Was wir gerade diskutieren ist, dass sagen wir zum Beispiel
eine Telefonliste und eine E-Mail-Liste eine kleine Datenbank brauchen.
Also, welches Programm sollen wir benutzen? Man hat ein Programm für
E-Mail, also muss es wissen, wo die E-Mail-Liste ist, richtig? Normalerweise
haben wir ein Programm für E-Mail, Adreßbücher, HTML-Editor
usw. Programme wachsen zu Monstern. Die Idee von uns ist, alles mit
kleinen Komponenten zu machen. Man wird ein E-Mail Programm haben, dass
Anfragen an ein Addressenverwaltungsprogramm schickt. Das wird kein simples
kommadozeilenorientiertes Programm sein, es wird ein komplettes graphisches
Interface haben. Dieses Programm stellt mehreren Leuten ein GUI zur Verfügung,
ein weiteres ist das Programm, mit dem Register verwaltet werden, usw.
Also ist die Idee, dass man sogar einzelne Komponenten austauschen kann.
Wenn ein Komponent meine kleine Datenbank verwalten soll, kann ich diesen
mit einer Version von Gnome austauschen, einer Version die sich mit der
Datenbank in der Firma verbindet, oder mit Oracle oder mit was auch immer.
Wichtig ist, dass es ein Interface gibt, ein gut definiertes API. Das ist
eine der Rollen von CORBA in Gnome. Der Dateimanager, Editor..... alle
sind immer der selbe. Man kann Editoren austauschen, so lange man das Interface
auch austauscht. Applikationen werden mit ihresgleichen kommunizieren können
durch dieses Interface. Der Debugger wird mit jedem Editor arbeiten können
und man wird nicht ein schreckliches Patch schreiben müssen.Es gibt
Leute da draußen mit einer Datenbank für ihre Telefonnummern
unter Emacs. Dann können wir ihm sagen, "Hör mal, gib mir die
Daten zu dem Freundchen"; einige Leute mögen graphische Versionen
mit kleinen Icons. Aber alles wird zusammenarbeiten können, das ist
eins der Ziele, die man sich bei Vorgänger-Projekten ausgedacht hat.
Federico: Der nächste Schritt ist, alle Komponenten anwendend,
ein System von Dokumenten zu haben, so dass wir einem Textverarbeitungsprogramm
etwas aus einem Spreadsheet einfügen, oder vielleicht ein Bild, das
man mit Gimp oder irgendeiner anderen Applikation kreiert hat, an es schicken
können, um es sofort dort zu editieren. Wie OLE in Windows.
LF: Welche Rolle spielt RedHat dabei?
Miguel: Der Code, den RedHat schreibt, wird das Copyright von
RedHat tragen, der Code, den ich schreibe, wird mein Copyright tragen.
Aber da alles GPL ist, ist das egal.
Das ist das Interessante an freier Software. Unser Ziel ist, dass sie
frei ist, und RedHat arbeitet mit uns gemäß diesen Regeln und
veröffentlicht alles unter GPL. Unter diesen Umständen ist es
nicht sicher, was die Einmischung von RedHat bedeuten kann, ich meine,
wenn sie Code zur Verfügung stellen und uns sagen, "seht her, wir
wollen dass der Code das so macht", und sie implementieren es, ist das
super. Alle Entwickler haben eine Stimme und stimmen ab. Bei freier Software
kann jeder, der etwas nicht mag, den Code nehmen, so wie er zu dem Zeitpunkt
ist, und anfangen, seine eigene Version zu entwickeln.
LF: Wer gehört zu dem Projekt?
Miguel: Wir haben Leute wie Bruce Perris von Debian, der in unserer
Entwicklerliste steht und das Interface COA für Gnome schreibt. Michael
Johnson von RedHat arbeitet am Configurierer für Linuxconf, Rasterman
arbeitet an den Bildern, den Themen für Gnome. Rasterman wird der
Guru für die Themen sein. Er wird Themen für die Applikationen
benutzen, um sie aussehen zu lassen wie...
Federico: Hast du etwas auf dem Mac gesehen, das Kaleidoscope
heißt?
Miguel: Rasterman arbeitet für Gnome und seine Aufgabe ist
es ebenfalls, Enlightenment zu entwickeln. Er will, dass Gnome mit dem,
was er gerade tut, zusammenarbeitet. Offensichtlich wird Enlightenment
vieles haben, das mit Gnome gut funktioniert oder besser aussieht. Von
Haus aus. Es wird auch mit anderem zusammenarbeiten, aber es wird sicher
eine spezielle Betonung auf Gnome geben.
Es gibt einen anderen Window-Manager, XEWM, an dem ein anderer der Gnome-Hacker
arbeitet. Das ist noch ein Window-Manager der Gnome einen großen
Vorteil verschafen wird. Da gibt es noch einen weiteren großen Unterschied
zwischen Gnome und KDE, nämlich dass bei Gnome nicht daran geglaubt
wird, dass C++ die beste Sprache der Welt ist, und Qt zwingt in bestimmter
Weise zur Verwendung von C++. Es gibt Bindungen zu anderen Sprachen, aber
soweit ich gesehen habe, muss man in C++ programmieren, wenn man Qt benutzen
will. Wir glauben grundlegend, dass C++ eine Sprache des schlechten Geschmacks
ist, die zufällig eine große Publicity hat, aber davon abgesehen
einer der größten Fehler in der Geschichte der Programmiersprachen
ist. Wir benutzen mehr C, Objective C und Scheme. Unter den Entwicklern
gibt es welche, die C++ mögen und daher haben wir C++-Code. Aber momentan
besteht die Distribution von Gnome aus Scheme-, C-, C++-, und Objective
C-Code. Wenn jemand mit Ada arbeiten will, kann er es tun. Es hat mich
sehr gestört, dass man bei KDE in diesem Schrotthaufen von Sprache
programmieren musste. Eine andere Sache ist die, dass wir an den Nutzen
von Scripts glauben, in anderen Worten, eine Möglichkeit in Programmen
zu haben, sie zu ändern. Wir benutzen Scheme im Moment in manchen
Applikationen, da diese dadurch schneller laufen und mehr können.
Möglicherweise werden wir später woanders Perl oder Python benutzen.
Wir nähern uns dem Zeitpunkt, wann dieses Ding richtig benutzt werden
kann. Gnome ist ein GNU-Projekt mit Unterstützung von Debian und RedHat.
LF: Wann wird die erste stabile Version
erscheinen?
Miguel: Tja, das hängt davon ab wieviele Menschen uns helfen
werden.
LF: Wer ist noch in dem Projekt?
Miguel: Mensch! Es ist ein ganzer Stamm: George Lebl, Radek Doulik,
Alan Cox[1], Elliot Lee, Raja Harinath, Eckehard Berns, Changwoo Ryu, Michael
K Johnson, Federico Mena, Nathan, Bryant, Horacio Peqa, usw.
Debian unterstützt uns mit Speicherplatz und stellt den CVS-Aufbewahrungsort,
das benutzen wir nämlich, um die Arbeit der Entwickler auf der ganzen
Welt zu koordinieren, daher haben alle Entwickler Zugang zu dieser Maschine.
Sie hat eine sehr gute Netzanbindung. Wenn jemand zeigt, dass er guten
Code programmieren kann und er gut ist, geben wir ihm einen Account auf
dieser Maschine. Dann kann er den Code aktualisieren. Normalerweise diskutieren
wir Änderungen, und wenn der Code gut ist, kommt er rein.
Alan Cox schrieb das TCP/IP für Linux. Er hat auch Doom portiert;
das ist gerade für die Öffentlichkeit für Gnome freigegeben
worden. Es hat ihn viel gekostet, aber er hat es getan. Wir werden auch
GnomeVision haben. |