Sommaire Index Rechercher Liens A propos
[LinuxFocus Image]
[Navegation Bar]
  Nouveautés   Archives

Entretient avec Miguel de Icaza

par Omar Andres Armas Aleman


J'ai rencontré Miguel de Icaza et Federico Mena le 21 Janvier 1998.



LF: Comment as tu commencé avec Linux?

Miguel: Cela n'est pas très important. J'ai téléchargé Linux sur le net comme tout le monde, et je l'ai installé, c'est tout.

LF: Il y a combien de temps?

Miguel: Je ne me rappelle pas. C'était en 93, peut être ... 94. Le premier noyau que j'ai compilé était le 0.985. Quel âge a t-il ? Cela doit bien faire 3 ou 4 ans. C'était donc 93.

LF: Quel est ton activité officielle?

Miguel: Je travaille à l'Institute of Nuclear Sciences (le UNAM). Je suis administrateur système, administrateur réseau et pendant mes nombreuses heures de temps libre, autrement dit toute la journée, j'écris du logiciel, discute ou lis les forum ou le courrier email. Je suis convaincu que je mourrai en lisant des email.

LF: Quel a été le premier programme que tu as écrit pour Linux, le Midnight Commander?

Miguel: Quelques patches pour Wine, il fonctionnaient comme une bibliothèque, mais je n'avais pas de PC, je devais donc compiler Wine sur une station Sun. C'est à ce moment qu'a commencé le projet de faire de wine une bibliothèque, je ne l'ai pas fini. Il fut terminé un an plus tard. Non, environ deux ans après quelqu'un a repris le projet.

LF: As tu étudié à l'école des sciences de l'UNAM ?

Miguel: Oui. La physique puis les mathématiques.

LF: En a tu terminé un des deux?

Miguel: Non. Ummm... disons qu'ils sont en attente.

LF: Quel âge as tu?

Miguel: 27, non 25. Je suis né en 72. Ecoute, je me rappelle maintenant, j'ai écrit Midnight Commander quand j'avais 20 ans. Etait ce en 94 ou en 93? C'est ça. je me rappelle que j'ai écrit Midnight Commander pour Linux. Je l'ai développé sur le Sun parce que c'était plus rapide que le PC de m..., mais c'était pour Linux. Zut! quand était ce ? Je ne m'en rappelle pas, ça doit être dans MC.

LF: Travailles tu toujours dessus?

Miguel: Oui.

LF: Il va bien être utilisé dans le Gnome ?

Miguel:He bien, je continue à le maintenir parce que quelqu'un doit le faire. Autrement dit, je suis toujours chargé de son développement mais je n'y travaille pas beaucoup en ce moment. La plupart des modifications, sont des patches que fournissent les gens. Je ne sais pas, tous les deux ou trois jours il arrive une nouvelle version. Bon, pas tous les deux jours, plus probablement une fois par semaine. Ceci mis à part, j'ai travaillé dessus principalement à cause du projet Gnome, MC sera le gestionnaire de fichier pour Gnome.

LF: Quand as tu commencé avec Linux/Sparc?

Miguel: Je ne m'en rappelle plus. C'est incroyable!. Je pense que c'était vers le milieu de 95 (vérifier la date).

LF: Qu'a tu fais?

Miguel: J'ai contacté David Miller, c'est lui qui a commencé le portage. Nous avons alors commencé tous les deux puis Ediie2, non Peter... est arrivé, puis Eddie2, puis Paul quelque chose. La première chose que j'ai faite était un pilote Ethernet, puis plusieurs autres choses, je ne sais pas... un pilote pour X windows, je les tous écrit en environ deux semaines, ceux qui existaient à cette époque. Umm j'ai surtout travaillé sur le portage X... Ce qui a pris le plus de temps a été la bibliothèque C. A cette date je suis toujours hanté par la bibliothèque C. Nous avons d'abord adapté libc4.

LF: Travailles tu toujours sur Sparc?

Miguel:Hier j'ai corrigé un bogue. D'abord nous avons adapté libc4 pour le Sparc, une fois qu'elle a marché, nous avons adapté libc5, puis libc6. Ce sont de bibliothèques différentes. Ce sont presque trois portages différents. Il n'y a rien de pire que d'adapter ces monstres et pire le faire trois fois!

LF: Comment a commencé le portage Linux/SGI ?

Miguel: Ah, quand je travaillais sur Sparc, les gens de SGI Mexico m'ont expliqué qu'il y avait une chance de le commencer. Les négociations ont alors commencées, mais cela a pris du temps, beaucoup de temps et encore du temps. David Miller est allé la bas pour écrire Linux Silicon, il est revenu et cela a prit encore une année avant qu'il me donne une Silicon.

Sur le fond, j'aime le logiciel gratuit comme aucune autre personne saine d'esprit.

En réalité, la tête du projet c'est David Miller, de Linux Sparc. Eddie2 a été le gardien du portage pendant longtemps. Richard Henderson a aussi beaucoup travaillé sur la bibliothèque C. Jacob J... est aujourd'hui le seul développeur.

LF:uel travail a tu fais sur le noyau?

J'ai travaillé sur le Sparc, j'ai aussi travaillé sur le RAID avec Bingo Molnar et Gadi Oxman. Gadi est le gourou, je veux dire par là qu'il est celui a qui l'on doit tout. Ingo a écrit le checksum le plus rapide du monde et il a eu l'idée sur la manière d'implémenter le RAID correctement. Gadi est réellement fascinant, il est celui qui a rendu ce truc compétitif avec le RAID commercial. Mon nom a fini là, mais ceux qui ont travaillé sur le code ont été cette paire de monstres.

LF: Que fais tu sur Gimp?

Miguel: Rien.

LF: Mais ton nom apparaît sur la page de The Gimp

Miguel: Cela doit être lié à Gnome. Quelques micro patches. Ce qui c'est vraiment passé c'est qu'un jour KDE est soudainement arrivé, c'était un projet pour rendre Linux convivial et au début, ce n'était pas très bon. Mais il s'est renforcé et est devenu plus joli, ... beau et stable, non? KDE semblait alors une chose merveilleuse et j'ai écrit à tous mes amis de la distribution et je les ai conseillé d'inclure KDE. C'est alors qu'il m'ont fait découvrir le problème de KDE auquel je n'avais pas prêté attention auparavant. KDE dépend d'une bibliothèque qui n'est pas gratuite, une bibliothèque qui est gratuite seulement pour des usages non commerciaux. Mais elle n'est pas gratuite et cela pour une raison très importante; le logiciel gratuit vous donne le droit de voir le code source, le modifier, l'apprendre, l'utiliser. Le plus important est que vous pouvez le modifier, l'améliorer et corriger les bogues. Qt est livré avec une licence qui interdit spécifiquement les modifications. elle vient d'une société qui vend le produit. En conséquence, KDE est très beau mais il pourrait être source de profit. Par exemple, considérons un système d'exploitation gratuit: Linux. Disons que l'on va installer KDE et il contient une partie qui n'est pas gratuite. Quand décide t-on d'ajouter des composants qui ne sont pas gratuits? Le système n'est pas gratuit, il contient une partie commerciale. Alors nous faisons un pas en arrière. Nous avons beaucoup progressé depuis 85 quand Stallman a démarré cet idéal et soudain, nous arrivons à un point où nous devons reculer! Allons nous reculer maintenant et accepter des licences bizarres?

LF: Quelle est la raison d'être de Gnome?

Miguel: Il y a eu beaucoup de discussion. En réalité Gnome recouvre un grand nombre de choses. D'abord, j'ai appris comment marchait ActiveX, ce n'est pas une mauvaise idée. Alors avec Frederico, nous avons essayé de générer quelques composants à la ActiveX pour Linux. Nous somme partis du mauvais pied, c'était mal pensé dès le début et nous n'avons rien fait. L'idée était que plusieurs applications comme tk,gtk pourraient dialoguer comme un système de composants. Nous ne l'avons jamais implémenté et avons oublié l'idée. J'ai alors voulu unifier diverse API d'UNIX. Mais ce sont le genre d'idées qui vous viennent, vous vous dites "il faut faire ça" et vous ne le faites jamais. Nous avons choisi Gnome comme nom car cela sonnait bien pour notre projet. Quand nous avons vu KDE et son problème, nous nous sommes dit "Non, nous devons en écrire un". Au début c'était inutilisable, il y avait trop de bogues, il demandait trop de mémoire et il avait une inertie quasi-nulle. C'était vers juin ou juillet. Un jour nous avons écrit une proposition, en fait je l'ai écrite et envoyée à tout un tas de gens: Stallman, RedHat , le groupe gtk et aux gens qui travaillent sur Gimp. Ce qui est vraiment intéressant, c'est que j'ai conçu sa propre boite à outils. Puis nous avons voulu embaucher tous ces gens, utiliser toutes l'énergie de ce projet, petit comparé à KDE. Au début, il devait s'appeler "GNU Desktop Environment, GDE". Sur IRC nous avons discuté ce point et dit : "Gnome est un ancien nom que nous avons, mais il s'applique ici. Voyons ce que sont G, et N...".

LF: Qu'est ce qui différencie Gnome d'autres gestionnaires de fenêtres comme par exemple Enlightenment?

Miguel: Enlightenment est un gestionnaires de fenêtres, autrement dit, il s'occupe de définir votre arrière plan, décorer vos fenêtres et précise leur comportement. C'est tout. Il ne dit pas ce qu'est une application. Les applications sont des recettes de cuisine. Beaucoup de ceci, et aussi de cela; un peu de tout et on mélange. L'idée de Gnome et de KDE est qu'il ne sont pas de gestionnaires de fenêtres, ils sont des interfaces pour des applications. En fait KDE dépend de sont gestionnaire de fenêtres. Maintenant je crois que ce n'est plus le cas. Le point important ici est que gnome fonctionne avec n'importe quel gestionnaire de fenêtres. Si vous aimez Enlightenment, utilisez le; si vous préférez fv, alors utilisez fv; ou si vous aimez KDE alors allez y. Remarquez que le gars qui a conçu Enlightement (Rasterman), fait partie de l'équipe Gnome. En fait il est embauché pour travailler sur Gnome. RedHat le paye, et RedHat supportera officiellement Gnome.

Il y a des millions de choses qui ne sont pas encore utilisées dans Linux. Gnome a plusieurs buts, l'un d'entre eux est de fournir un joli bureau. Je crois que c'est le plus grand mérite de KDE. L'équipe de KDE a montré qu'un petit groupe peut créer en un an un bureau incroyable, et qu'il peut être compétitif avec Windows 95. Quand j'ai vu Windows 95 pour la première fois, j'ai pensé "Nous somme fichus, nous avons perdu! Nous avons complètement négligé l'interface et il nous ont battus". J'ai douté que nous puissions un jour nous en approcher. ET KDE a démontré le contraire, qu'on pouvais le faire et avec une petite équipe de programmeurs. Donc, Gnome mélange ces ingrédients, et produit un environnement amicale et pratique. Toutes les applications utilisent la même boite à outils, les même bibliothèques et tout aura la même ergonomie, sera facile à utiliser et sera beau. C'est ce que fait KDE mais nous voulons aller plus loin et utiliser COBRA. L'idée derrière COBRA est que comme les chaînages qui sont fantastiques pour mélanger vos programmes avec d'autres, on peut avoir des programmes qui implantent une certaine spécification, une interface. Disons par exemple votre liste d'email et votre agenda téléphonique ont besoin d'une petite base de donnée. Quel programme utiliser ? vous avez déjà un programme pour le courrier, il faut donc le laisser utiliser la liste, d'accord? D'habitude nous avons des programmes pour l'email, l'agenda, l'éditeur HTML, etc... Les programmes grossisses comme des bêtes. L'idée est de tout réaliser avec de petit composants. Vous aurez un programme de courrier qui enverra des requêtes à un gestionnaires d'adresses. Ce n'est pas un simple programme pour la ligne de commande, c'est une interface graphique. Ce programme fournit une interface pour différentes personnes, c'est le format pour les registres, etc... L'idée est que vous pouvez même remplacer les composants. Si j'en veux un pour gérer ma petite base de donnée, je peux le remplacer par une version de Gnome, une version qui se connectera avec la base de données de votre société, Oracle ou n'importe. Le point important, est qu'il y a une interface, une API bien définie. C'est un des rôles de COBRA dans Gnome. Le gestionnaire fichier est pareil... les éditeurs aussi. On peut interchanger les éditeurs tant que l'on implante l'interface. Les applications seront capables de dialoguer entre elles au travers de cette interface. Le debogueur sera capable de parler avec n'importe quel éditeur et ne sera pas nécessaire d'écrire un horrible patch. Il y a des gens qui ont une base de donnée pour leur numéros de téléphone avec emacs. On lui demander "donne moi les information sur ce type"; certains aiment les versions graphiques avec des petites icônes. Tout sera inter-opérant, c'est un des objectifs auxquels on avait pensé dans les projet précédents.

Federico: L'étape suivante consiste, en appliquant les composants, à avoir un système de documents tels que l'on puisse prendre un traitement de texte, y coller quelque chose créé dans un tableur, ou peut être l'envoyer vers une image créée avec Gimp ou sous quelqu'autre application que l'on peut éditer immédiatement. Comme OLE dans Windows.

LF: Quel est le rôle de Red Hat?

Miguel: Le code écrit par RedHat portera le copyright de RedHat et celui que j'écrirai le mien. Mais comme tout est GPL, ça n'a pas d'importance.

C'est ça qui est intéressant à propos du logiciel gratuit. Notre but est qu'il soit gratuit et RedHat joue dans la même cour que nous avec ces règles et publie tout sous la GPL. Dans ces circonstances, je ne vois pas quelles pourraient être les interférences de RedHat, autrement dit, s'ils fournissent du code et nous disent "nous voudrions que le code fasse cela" et ils l'implémentent, super. Tous les développeurs ont une voix et votent. Avec le logiciel gratuit, si quelqu'un n'aime pas quelque chose, il est libre de développer sa propre version à partir du code existant.

LF: Qui fait partie du projet?

Miguel: Nous avons des gens comme Bruce Perris de Debian, qui fait partie de notre liste de developpeur et écrit l'interface COA pour Gnome.Michael Johnson de Red Hat travaille sur le configurateur de linuxconf, Rasterman sur les images et sur les thèmes pour Gnome. Notre Gourou pour les thèmes va être Rasterman. Il va les utiliser pour donner un look aux applications...

Federico: As tu vu un truc pour le mac appelé kaléidoscope?

Miguel: Rasterman travaille pour Gnose et développe Enlightenment. Il veut aussi que Gnome interagisse avec ce qu'il fait. Evidemment, Enlightenment aura beaucoup, de chose pour être plus beau ou pour bien travailler avec Gnome par défaut. Il collaborera avec d'autre choses, mais c'est un fait que Gnome sera privilégié.

Il y a un autre gestionnaire de fenêtres nommé XEWM et un des bidouilleurs de Gnome travaille dessus. C'est un autre gestionnaire de fenêtres qui tirera un grand avantage de Gnome. Il y a une autre grande différence entre Gnome et KDE: nous ne croyons pas a Gnome que C++ est me meilleur langage du monde et Qt vous oblige par certain cotés à utiliser C++. Il y a des liens vers d'autres langages, mais d'après ce que j'ai vu, on doit programmer en C++ pour utiliser Qt. Donc, nous pensons que C++ est un langage de mauvais goût qui bénéficie de beaucoup de publicité, mais qui à coté de cela est l'une des plus grosses erreurs faite dans le développement de langages de programmation. Nous utilisons plus C, Objective C et Scheme. Parmi les developpeurs, il y en a qui aiment C++ et nous avons du code C++. Maintenant, la distribution de Gnome a du code Scheme, C, C++ et Objective C. Si quelqu'un veut travailler en Ada, c'est possible. Cela me gène beaucoup à propos de KDE que l'on doive programmer dans cette saleté de langage. L'autre chose est que nous croyons à l'utilisation des scripts utilisateurs, en d'autres termes, avoir la possibilité dans des programmes de les manipuler. Aussi, nous utilisons Scheme, peut être utiliserons nous Perl ou Python pour d'autres choses, mais pour l'instant nous utilisons Scheme dans certaines applications qui le laisseront tourner plus vite et faire plus de choses. C'est l'idée de base. Nous arrivons au point ou ce truc peut effectivement être utilisé. Gnome est un projet GNU supporté par Debian et RedHat.

LF: Quand sera t-il possible de sortir une version stable?

Miguel: Cela va dépendre de combien de personnes vont aider.

LF: Qui d'autre participe au projet?

Miguel: C'est une tribu: 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, etc.

Debian fournit l'espace disque et le depot CVS, c'est à dire ce que nous utilisons pour coordonner les travaux de tous les developpeurs dans le monde. Tous les developpeurs ont accès à cette machine. Elle a une excellente connexion. Si quelqu'un prouve qu'il peut écrire du bon code et qu'il est bon, nous lui donnons un compte sur cette machine. Il peut alors actualiser le code. D'habitude, nous discutons les choses, et si le code est correct il rentre.

Alan Cox, a écrit TCP/IP pour Linux. Il a aussi porté Doom qui vient juste d'être mis dans le domaine public à Gnome. Cela lui a coûté cher, mais il l'a fait. Nous aurons aussi GnomeVision.


Translated by Miguel Angel Sepúlveda

Traduit en Français par John Perr

 

© 1998 Omar Andres Armas Aleman
Ce site est maintenu par Miguel A Sepulveda.