[LinuxFocus Image] 
[Navegation Bar] 
  Neuigkeiten   Archiv   Firmen   Tips 

Interview mit Miguel de Icaza

von Omar Andres Armas Aleman

Aus dem Englischen ins Deutsche übersetzt von Georg Koester:

 
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. 


 
© 1998 Omar Andres Armas Aleman 
Diese Webseite wird unterhalten von Miguel A. Sepulveda und Franz-Josef Lücke.