Interview met Miguel de Icaza

ArticleCategory: [Choose a category, translators: do not translate this, see list below for available categories]

Interviews

AuthorImage:[Here we need a little image from you]

[no author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in es Omar Andres Armas Aleman

es to en Miguel A Sepulveda

en to nl Guus Snijders

AboutTheAuthor:[A small biography about the author]

Abstract:[Here you write a little summary]

Miguel de Icaza kent X11 en GUIs als geen ander.

ArticleIllustration:[One image that will end up at the top of the article]

[Illustratie]

ArticleBody:[The main part of the article]

Ik ontmoette Miguel de Icaza en Federico Mena op 21 January 1998.



LF: Hoe ben je in aanraking gekomen met Linux?

Miguel: Dat is niet echt belangrijk. Ik downloadde Linux van het net, net als ieder ander, en net als ieder ander installeerde ik het, dat is het.

LF: Hoe lang geleden?

Miguel: Ik herinner het me niet precies. Het was 93, misschien 94. De eerste kernel die ik compileerde was 0.985. Hoe oud is die? Die is iets van 3 of 4 jaar oud... het was dus 93.

LF: Wat is je officiële bezigheid?

Miguel: Ik werk aan het Instituut voor Nucleaire wetenschappen (aan de UNAM). Ik ben systeembeheerder, netwerkbeheerder en in mijn vele vrije uren, de hele dag, schrijf ik software, plaats of lees nieuws of lees email. Luister, ik ben er van overtuigd dat ik op het moment dat ik sterf, email aan het lezen was.

LF: Wat was het eerste programma dat je voor Linux schreef, Midnight Commander?

Miguel: Enkele patches voor Wine, ze werkten als een library, maar ik had geen PC, dus moest ik Wine compileren op het Sun station. Daar begon het project om een library te maken van Wine, dat heb ik niet afgemaakt. Het was een jaar later compleet. Nee, ongeveer 2 jaar nadat iemand het project overnam.

LF: Heb je gestudeerd aan de wetenschaps school van de UNAM?

Miguel: Ja. Natuurkunde en daarna wiskunde.

LF: Heb je er een afgemaakt?

Miguel: Nee. Ehm... laten we zeggen dat ze "on hold" staan.

LF: Hoe oud ben je?

Miguel: 27, nee 25. Ik ben geboren in 72. Wacht, ik weet het weer, ik schreef de Midnight Commander toen ik 20 was. Dat is 94 of 93? Ik geloof het wel. Ik herinner me dat ik de Midnight Commander voor Linux schreef. Ik ontwikkelde het op de Sun omdat die sneller was dan de brakke PC, maar het was voor Linux. Shit! Wanneer was dat? Ik weet het niet meer, het moet in de MC staan.

LF: Werk je er nog steeds aan?

Miguel: Ja.

LF: Het gaat gebruikt worden in Gnome, nietwaar?

Miguel:Wel, ik onderhoudt het omdat iemand het moet onderhouden. In andere woorden, ik ben nog steeds verantwoordelijk voor de ontwikkeling maar ik werk er nu niet zo heel veel aan. De meeste veranderingen zijn patches van mensen. Ik weet't, iedere twee of drie dagen verschijnt er een nieuwe versie. Ok, niet iedere twee dagen, waarschijnlijk meer wekelijks. Maar behalve dat... IK heb er vooral aan gewerkt vanwege het Gnome deel, MC gaat de bestandsbeheerder voor Gnome worden.

LF: Wanneer ben je begonnen met Linux/Sparc?

Miguel: Ik weet het niet meer. Kun je je voorstellen dat ik het niet meer weet! Ik denkt dat het ergens midden 95 was (Controleer de datum).

LF: Wat heb je gedaan?

Miguel: Wel, ik heb contact opgenomen met David Miller, hij is degene die port startte. Toen we beiden de port origineel hadden gestart en kwamen er mensen bij als Eddie2, nee Peter...., toen Eddie2 na Paul nogiets. Eerst hield ik me vooral bezig met dingen als een Ethernet driver, daarna deed ik verschillende dingen, ik weet niet... een driver voor X Window, die dingen schreef ik in ongeveer twee weken, die toendertijd bestonden. Umm, vooral werk aan de X port... De C library kostte de meeste tijd. Die achtervolgt me nog steeds. We hebben eerst libc4 geport.

LF: Werk je nog steeds aan de Sparc?

Miguel:Gisteren heb ik een bug gefixed. Eerst fixten we de libc4 voor de Sparc, toen dat eenmaal werkte hebben we libc5 geport, toen libc6. En zij zijn drie verschillende libaries. Het zijn bijna drie ports. Er is niets meer frusterend dan het porten van die monsters. Erger nog, ze drie keer porten!

LF: Hoe was de Linux/SGI port gestart?

Miguel: Ah, toen ik aan de Sparc werkte, zeiden de mensen van SGI Mexico dat er een kans was het te starten. Toen ben ik gaan onderhandelen maar het duurde en duurde, en David Miller kwam daar om Linux Sillicon te schrijven, hij kwam terug en het duurde nog een jaar tot ze me een Silicon gaven.

In wezen hou ik van vrije software zoals ieder verstandig persoon.

Maar het echte hoofd van het project is David Miller, van Linux Sparc. Eddie2 heeft lange tijd de port onderhouden. Richard Henderson heeft ook veel aan de C library gewerkt. Jacob J... is vandaag de dag de enige ontwikkelaar.

LF:Wat voor werk deed je aan de kernel?

Ik werkte aan de Sparc, ik werkte ook RAID met Ingo Molnar en Gaid Oxman, waarbij Gadi de guru is, ik bedoel, Gadi is de degene die alle credits zou moeten krijgen. Ingo schreeft de snelste checksum ter wereld, hij had het originele idee hoe RAID te implementeren. Gadi is echt verbazingwekkend, hij is degene die het een concurrent maakte voor commerciële RAID. Mijn naam eindigde daar, maar het meeste werk aan de code werd gedaan door dat paar monsters.

LF: Wat doe je aan Gimp?

Miguel: Niets.

LF:Maar je naam staat op de pagina voor The Gimp

Miguel: Het moet gerelateerd zijn aan Gnome. Een paar micro-patches. Wat er eigenlijk gebeurde was dat op een dag plotseling KDE opdook, een project om Linux vriendelijker te maken. In het begin was het niet erg goed, maar begon krachtiger te worden en aantrekkelijker,... mooi en stabiel, nietwaar? Toen bleek dat KDE een wonderlijk ding was, dus schreef ik aan al mijn vrienden van de distributies en adviseerde ze om KDE op te nemen. Toen lieten ze mij het probleem van KDE zien, ik had het niet opgemerkt. KDE is afhankelijk van een library die niet vrij is, een library die alleen gratis is voor niet-commercieel gebruikt. Maar niet vrij. En het is niet vrij voor een erg belangrijke reden: vrije software geeft je het recht om de broncode in te zien, aan te passen, van te leren, gebruiken. Maar het belangrijkste is dat je het kunt aanpassen, verbeteren en bugs repareren. Qt kwam met een licentie die modificaties en veranderingen specifiek verbood. Het komt van een bedrijf dat het product verkoopt. Daarom en helaas is KDE erg mooi, maar wij gaan uit van bijvoorbeeld een vrij OS: Linux. Stel dat je KDE installeerd en het heeft een component die niet vrij is. Wanneer besluit je op te houden componenten toe te voegen die niet vrij zijn? Het systeem niet vrij, het heeft een commercieel deel. Toen namen we een stap terug. We zijn ver gekomen sinds 85 toen Stallman het ideaal begon, en plotseling komen we op een punt waar we een stap terug doen! Gaan we hier nu terug? Vreemde licenties accepteren?

LF:Wat is de reden voor Gnome?

Miguel: Er was een hoop discussie. Gnome omvat veel dingen. Eerst leerde ik hoe ActiveX werkt, het is geen slecht idee. En toen samen met Federico, probeerden we een aantal componenten a la ActiveX voor Linux te genereren. We begonnen op de verkeerde voet, dachten verkeerd en deden niets. Alles was fout bedacht vanaf het begin. Het idee was dat we met meerdere applicaties tk en gtk als dialoog konden gebruiken als een systeem van componenten. We hebben het nooit geïmplementeerd en ik vergat het idee. Later wilde ik de verschillende API's van Unix samenbrengen. Maar dit zijn ideeën die komen en gaan, waarbij je zegt "We moeten dit doen", maar het komt er nooit van. We kozen de naam van Gnome omdat het aardig klonk voor ons project. Toen zagen we KDE en het probleem dat het had, we zeiden "Nee, We moeten deze schrijven". In het begin was het onbruikbaar, had teveel bugs, gebruikte teveel geheugen, en had nul of geen inertia. Dat was tegen Juni of Juli. Op een goede dag schreven we een voorstel, in feite schreef ik het voorstel en stuurde deze naar een aantal mensen: Stallman, de RedHat mensen, de gtk groep en de mensen die werkten aan The Gimp. Wat werkelijk interessant was, was dat het zijn eigen toolkit had. Toen wilden we samenwerken met die mensen, het momentum van dat project gebruiken, al was het klein in vergelijking met KDE. Eerst zou het de Gnu Desktop Environment, GDE, gaan heten. Op IRC bediscussieerden we dit en zeiden "Gnome is een oude naam die we al hebben, maar het is hier van toepassing. Eens kijken, wat is G en N....".

LF: Wat onderscheidt Gnome van andere window managers, zoals bijvoorbeeld Enlightenment?

Miguel: Enlightenment is een window manager, dat wil zeggen, het zorgt voor je achtergrond, maakt je venster op en defineert het gedrag van de vensters, dat is alles. De applicaties zijn van chili en spek. Zoveel van dit en zoveel van dat; een beetje van alles, en wat gemixed. Het idee met Gnome en KDE is dat het geen window managers zijn, het interfaces voor applicaties. KDE is in feite afhankelijk van zijn window manager. Ik meen dat dat geen punt meer is. Het punt hier is dat Gnome op iedere window manager draaid. Als Enlightenment je aanspreekt, gebruik je dat; als je de voorkeur geeft aan fv, gebruik dan fv; of als je liever KDE hebt, ga je gang. Het is de moeite waard op te merken dan de man die Enlightenment ontwierp (Rasterman) deel uitmaakt van het Gnome team. In feite is hij ingehuurd om te werken aan Gnome. RedHat betaald hem, en RedHat zal Gnome officieel ondersteunen.

Er zijn ziljoenen dingen die nog gebruikt worden in Linux. Gnome heeft meerdere doelen, een ervan is een vriendelijke desktop te leveren. En ik geloof dat dit de grootste verdienste is van KDE. Het KDE team heeft laten zien dat een kleine groep mensen in een jaar een ongelofelijke desktop in elkaar kan zetten, die de competitie aankan met Windows 95. Toen ik Windows 95 voor de eerste keer zag, dacht ik "We zijn verloren, we zijn de voorsprong kwijt. We hebben de interface compleet genegeerd en ze hebben ons verslagen". Ik betwijfelde of we daar ooit in de buurt van zouden komen. En KDE demonstreerde het tegenovergestelde. Dat het gedaan kon worden, en het kon met een klein team van programmeurs. Daarom mixed Gnome die elementen, dat is, een vriendelijke en handige omgeving produceren. Alle applicaties gebruiken dezelfde toolkit, dezelfde libraries, allen zien ze er hetzelfde uit, voelen hetzelfde aan, zouden allen eenvoudig gebruikt moeten kunnen worden en er goed uit moeten zien. Dit hetzelfde als wat KDE doet, maar we willen verder gaan, we willen CORBA gebruiken. Het idee achter CORBA is dat, zoals pipelines, welke fantastisch zijn voor het combineren van je programma's met andere programma's, kun je in CORBA programma's hebben die een bepaalde specificatie implementeert, een interface. Zeg, bijvoorbeeld dat wat we nu bespreken dit is, je telefoon lijst en email lijst hebben een kleine database nodig. Dan volgt, wat voor programma zullen gebruiken? Je kunt een programma voor mailing hebben, dus laat je deze de mailing list beheren, juist? Meestal hebben we een programma voor email, adresboeken, HTML editor, enz... programma's groeien als beesten. Het idee is dus om alles met kleine componenten te regelen. Je hebt dan een mail programma dat vragen stuurt naar het adres-programma. Het is niet een eenvoudig shell programma, het is een volledige grafische interface. Dat programma levert een interface aan een aantal mensen, dit is het formaat voor de registers, enz... Het idee is dus dat iedereen de componenten kan vervangen. Als ik een compenent wilde om mijn kleine database te beheren, kun je het vervangen door een versie van GNOME, een versie die de database verbindt met de database je in bedrijf, een Oracle, bijvoorbeeld. Het belangrijkste is dat er een interface is, een goed gedefinieerd API. Dit is een van de rollen van CORBA in GNOME. De bestandsbeheerder is hetzelfde... editors net zo. Je kunt editors wisselen zolang je de interface implementeerd. Applicaties zullen in staat zijn onderling dialogen uit te wisselen door deze interface. De debugger zal in staat zijn om een willekeurige editor te praten en het zal niet nodig zijn een lelijke patch te schrijven. Er zijn mensen die een database met hun telefoonnummers onder emacs hebben. Dan kunnen we zeggen "Luister, geef me de data voor deze persoon"; sommige mensen zien liever graphische versies met kleine pictogrammen. Maar alles gaat samenwerken, dit is een van de doelen die in eerdere projecten is uitgedacht.

Federico: De volgende stap is dat we, door de componenten toe te passen, een systeem van documenten hebben, zodat we een tekst-verwerker nemen, er iets inplakken dat je hebt gemaakt op een spreadsheet of misschien een afbeelding die je maakte in Gimp of een andere applicatie en die je daar ter plekke bewerkt. Net als OLE in Windows.

LF: Wat is de rol van Red Hat?

Miguel: De code die RedHat schrijft, krijgt Redhat's copyright, de code die ik schrijf, zal mijn copyright dragen. Maar omdat alles GPL is, maakt het niet uit.

Dit is het interessante aspect van vrije software. Ons doel is dat het vrij is en RedHat speelt met ons mee onder die regels, door alles te publiseren onder de GPL. Onder deze omstandigheden weet ik niet zeker wat voor verstoring RedHat zou kunnen veroorzaken, ik bedoel ze leveren code en vertellen ons "kijk, we willen de code dit en dit laten doen" en ze implementeren het, geweldig. Alle ontwikkelaars hebben inspraak en kunnen stemmen. Met vrije software is iedereen vrij om, als het hun niet aanstaat, de code te nemen en hun eigen versie hierop verder te ontwikkellen.

LF: Wie zitten er in het project?

Miguel: We hebben mensen als Bruce Perris van Debian in onze lijst van ontwikkelaars die bezig zijn met de COA interface voor Gnome. Michael Johnson van RedHat werkt aan de configurator van linuxconf, Rasterman werkt aan de afbeeldingen, thema's voor GNOME. Onze thema guru gaat Rasterman worden. Hij gaat thema's gebruiken voor de applicaties die ze er uit laten zien....

Federico: Heb je nog iets gezien van kaleidoscope van de Mac?

Miguel: Rasterman werkt voor Gnome en ontwikkelt ook Enlightenment, hij wil dat Gnome samenwerkt met wat hij doet. Uiteraard krijgt Enlightenment veel dingen die er beter uitzien of goed samenwerken met Gnome. Standaard. Hij gaat ook samenwerken met andere dingen, maar het feit staat dat er een speciale nadruk op Gnome ligt.

Er is een ander window manager, genaamd XEWM, een van de hackers van GNOME werkt daar ook aan, dit is een andere window manager die veel voordeel van GNOME gaat krijgen. Nu is er een ander groot verschil tussen GNOME en KDE, dat is dat we bij GNOME er niet in geloven dat C++ de beste taal ter wereld is, op bepaalde manieren dwingt QT je om C++ te gebruiken. Er zijn bindingen voor andere talen, maar voor zover ik heb gezien, moet je in C++ programmeren als je QT wilt gebruiken. In wezen gaan wij er vanuit dat C++ een taal van slechte smaak is, die toevallig veel publiciteit heeft gekregen, maar behalve dat is het een van de grootste vergissingen in de geschiedenis van programmeertalen. We gebruiken meer C, Objective C en Scheme. Onder de ontwikkelaars zijn er die C++ kunnen waarderen, we hebben dan ook wat C++ code. Maar op het moment heeft de distributie van Gnome code in Scheme in C, C++ en in Objective C. Als iemand in Ada wil werken, ga je gang. Het stond me tegen in KDE dat je moest programmeren in die troep-taal. Het andere is dat we geloven in het gebruik van eigen scripts, in andere woorden, functionaliteit die je toestaat die te manipuleren. Daarom gebruiken we Scheme, mogelijk zullen we Perl of Python gebruiken voor andere dingen, maar voor het moment gebruiken we Scheme in Gnome applicaties om deze sneller te laten uitvoeren en meer dingen te doen. Dit de basis-gedachte. We naderen het moment waarom dit ding bruikbaar wordt. Gnome is een GNU project dat wordt ondersteund door Debian en Red Hat.

LF: Wanneer kunnen we een stabiele versie verwachten?

Miguel: Wel, dat hangt af van hoeveel mensen helpen.

LF: Wie zijn er verder in het project?

Miguel: Bitch! Het is een stam: George Lebl, Radek Doulik, Alan Cox[1], Tom Tromey, Elliot Lee, Raja Harinath,Eckehard Berns, Changwoo Ryu, Michael K Johnson, Federico Mena, Nathan, Bryant, Horacio Peqa, enz.

Debian levert schijfruimte en de CVS repository, die gebruiken we om het werk van alle ontwikkellaars wereldwijd te coördineren, alle ontwikkelaars hebben toegang tot deze machine. Hij beschikt over een erg goede verbinding. Als iemand bewijst dat hij goede code kan schrijven en goed is, geven we hem een account op deze machine. Dan kan de code actualiseren. Meestal bediscussiëren we dingen en als de code goed is, gaat het er in.

Alan Cox, schreef de TCP/IP stack voor Linux. Ook portte hij Doom, de ene is voor het publiek domein vrijgegeven aan Gnome. Het heeft hem veel gekost, maar hij deed het. Ook zullen we GnomeVision hebben.

mirror server hosted at Truenetwork, Russian Federation.