[ Retour ]
Interview de Linux
Center de Matthias Ettrich par Gaël
Duval.
Matthias
Ettrich est un programmeur allemand de
26 ans. Il n'est pas très connu bien qu'il soit
responsable d'un des plus gros projets de Logiciel
Libre après Linux. C'est le K Desktop
Environment, un gestionnaire de bureau
graphique complet pour Unix et plus spécialement
Linux, qui connaît actuellement un grand
succès.
|
|
Gaël: Matthias, te rappelles-tu le jour de 1996 où
tu t'es dis : "Unix a besoin d'une meilleure
interface graphique, je vais la faire..." ? Etais-tu
encore en train de développer LyX et quelle était ta
situation à l'époque ?
Matthias: En fait, j'étais
encore étudiant à cette époque, et mes examens
approchaient. Deux choses ont entrainé l'annonce qui
a permis de démarrer KDE : tout d'abord, mes
tentatives infructueuses d'installer une machine
facilement utilisable pour un utilisateur de base,
mais également le fait que j'ai découvert la
bibliothèque graphique Qt. L'idée était donc
plutot simple : voici le problème, il existe une
technologie pour le résoudre. Faisons-le !
J'étais encore très impliqué dans le
développement de LyX à l'époque. Mais étant
donné que LyX avait une excellente équipe de
programmeurs derrière, je pouvais facilement faire
autre chose sans devoir craindre que le
développement de LyX ralentisse.
Gaël: As-tu commencé le projet en solitaire ?
Et... y avait-il déjà quelque chose de codé quand tu
as posté ton annonce
à la fin de 1996 ?
Matthias: Je n'étais pas
vraiment seul puisque je savais que beaucoup de
personnes, tout comme moi, attendaient le bon moment
pour démarrer. De plus, Martin Konold, notre
administrateur de serveur FTP et de liste de
diffusion, qui avait fait du bon boulot en faisant la
promotion de LyX auparavant, a participé dès le
début en mettant en place l'infrastructure
technique.
Quelques heures après l'annonce nous avions
déjà 40 abonnés à la liste de développement. Et
un grand nombre d'entre eux sont encore actifs dans
l'équipe principale, comme par exemple Torben Weis,
Martin Jones ou Kalle Dalheimer qui nous ont rejoint
durant les tous premiers jours.
Gaël: T'attendais-tu à ce que le projet
prenne une telle ampleur ?
Matthias: J'ai vu un
potentiel, mais de là à m'y attendre ? Non pas
vraiment. Dans l'annonce originale j'ai suggéré de
créer quelque chose qui est loin derrière ce qu'est
KDE actuellement. Mais à cette époque, cela
semblait raisonable - et nouveau. Ça nous a donné
la direction vers quelque chose qui n'était pas un
rêve, mais possible. Si j'étais un prophête et que
j'avais décrit KDE-1.0 dans cette annonce, peu de
personnes auraient été vraiment intéressées de
travailler sur un truc aussi énorme. À la place,
nous discuterions encore de savoir si on doit se
servir de X ou plutot de commencer à écrire notre
propre environnement graphique de base.
Gaël: Y-a t'il quelque chose dans KDE 1.0 à
laquelle tu ne t'attendais pas du tout au départ ?
Matthias: KDE 1.0 est bien
plus puissant et bien plus complet que ce qui était
prévu - à l'origine - pour la première mouture
destinée à l'utilisateur de base. Il y a donc un
grand nombre de choses auxquelles nous (enfin je) ne
nous attendions pas. Tout spécialement la qualité
du navigateur Web integré me surprend encore, en
regard au faible temps de développement, par sa
petite taille et ses performances. Peut-être que
nous aurions pu mettre en place les raccourcis
clavier pour le desktop et les applications un peu
plus tot. De toute manière, ceci est déjà
disponible dans l'arborescence de développement de
KDE-1.1.
Gaël: Pourquoi avez-vous démarré un nouveau
projet d'interface graphique au lieu d'essayer
d'améliorer celles qui existaient déjà (fvwm, afterstep...) ?
Matthias: fvwm et afterstep
sont deux bon exemples de gestionnaires de fenêtres
("window-managers"). Les gestionnaires de
fenêtres sont des applications responsables des
décorations des fenêtres. Cela signifie :
l'apparence de la barre de titre ou du bord des
fenêtres. De plus, certains gestionnaires de
fenêtres ont une sorte de menu de démarrage
destiné à lancer les applications. Mais n'ont
aucune influence sur l'apparence de ces applications.
Le vieil utilitaire xman par exemple est exactement
le même sous fvwm, afterstep ou n'importe quel
gestionnaire de fenêtres. Il n'est donc ni plus beau
ni plus agréable à utiliser. C'est la raison pour
laquelle je refuse d'appeller un gestionnaire de
fenêtres une interface graphique utilisateur. Les
gens ont commis cette erreur sous Unix parcequ'il
n'existait alors aucune interface graphique. Le
gestionnaire de fenêtres était tout ce qu'ils
avaient bien qu'ils aient ensuite désiré davantage
(parceque pendant ce temps, tous les concurrents en
ont eu une). Ils ont donc appellé le gestionnaire de
fenêtres une GUI (NdT: Graphical User Interface =
Interface Graphique Utilisateur) au lieu d'en créer
une réellement.
Gaël: Pourquoi as-tu choisi Qt - la
bibliothèque graphique utilisée par KDE - comme base ?
Etait-ce un meilleur choix en comparaison de Motif,
Xforms,
Athena Widgets ou encore Lesstif
?
Matthias: J'ai eu des
expériences avec Motif puisque la toute première
version de LyX l'utilisait. Crois-moi : c'est une
expérience que tu n'as pas envie de renouveller !
Motif est extrêmement compliqué à utiliser et
nécessite beaucoup de code même pour des tâches
simples. Un autre inconvénient, c'est le manque
d'API (NdT: Application Programming Interface =
Interface de Programmation pour Applications)
unifiée quand on programme avec Motif. À la place,
tu dois apprendre au moins trois APIs et savoir quand
les utiliser : Motif, Xt et Xlib. De plus, ton
application n'aura aucun support pour l'impression à
moins de le programmer toi-même. A coté de ça, les
applications qui en résultent donnent souvent
l'impression d'être poussives. XForms est facile à
programmer bien qu'il soit écrit en C. Et il est
fourni avec un admirable modeleur d'interface. Par
contre, le ``look and feel'' n'est pas standard du
tout et le code source n'est pas disponible
librement. Deux argument rédhibitoires qui
interdisent de l'utiliser comme base pour fabriquer
une chose telle qu'une interface graphique. Est-ce
que j'ai oublié quelque chose ? Ah oui, Athena !
Aucun commentaire n'est nécessaire à son sujet. Ce
que j'en préfère le plus sont ses champs de saisie
de texte sans aucune gestion du focus : tu dois
positionner le curseur de la souris exactement au
dessus du ``widget'' (NdT: objet graphique). Pour
rester sympa : Athena n'a jamais eu aucun sens en
tant que boite à outils graphiques destinée à
construire des applications. C'est une belle
documentation disponible en ligne sur la manière de
construire des boites à outils telles que Motif avec
Xt.
De l'autre coté, Qt est plutôt bien fourni
et est une véritable bibliothèque de classes C++.
Cela rend l'écriture de nouveaux ``widgets''
extrêmement facile, en utilisant simplement le
mécanisme d'héritage du C++. Programmer en Qt se
fait de façon assez naturelle, au moins aussi
naturelle que puisse l'être une tâche abstraite
telle que la programmation. D'un autre point de vue,
Qt vient avec une excellente documentation. Mais le
mieux, c'est qu'il nécessite souvent moins que le
quart du code nécessaire à Motif pour écrire une
application équivalente.
Gaël: Est-ce que tu penses qu'il est mieux
d'utiliser un langage de programmation orienté objet tel
que le C++ pour construire des interfaces graphiques, ou
est-ce que ce choix a été dicté par celui de Qt (qui
est entièrement implémenté en C++) ?
Matthias: Sans aucun doute,
c'est beaucoup mieux d'utiliser un langage orienté
objet pour cela. L'Orienté-Objet et la programmation
d'interfaces graphiques utilisateur fonctionnent
extrêmement bien ensemble alors que l'utilisation
d'autres langages conduit à une quantité affreuse
de travail inutile. En C tu devras par exemple perdre
ton temps avec des macros pré-processeur afin de
disposer d'une sorte d'API utilisable. Et en faisant
cela tu fais habituellement passer à la trappe une
grand nombre de vérifications de type statiques. Les
véritables techniques OO [NdT: Orientées-Objet]
comme les fonctions virtuelles ou la surcharge de
définition sont difficiles à mettre en oeuvre en C,
et une fois encore, tu perds la plupart des
vérifications que peut effectuer un véritable
compilateur C++ au moment de la compilation.
Gaël: Etais-tu impliqué dans le projet Qt
avant de commencer KDE ?
Matthias: Non. J'ai commencé
KDE immédiatement après avoir découvert Qt.
Gaël: On me dit souvent que KDE ressemble à
Windows 95/98... Est-ce une caractéristique stratégique
? Ou est-ce que les développeurs KDE sont des adorateurs
de Windows ? :-)
Matthias: C'est certainement
plus une affaire de gout qu'une caractèristique
stratégique. Plus exactement, beaucoup de
développeurs KDE admirent Microsoft pour leur
interface graphique, alors que la technologie
sous-jacente est habituellement pourrie. Mais quand
on en vient à la technologie en composants objets
c'est très loin devant tout ce qui se fait sous Unix
en ce moment. Quoi qu'il en soit, Torben Weis, avec
son projet ``OpenParts''
(la technologie utilisée dans KOffice) va changer
cela. Mais je dois admettre qu'il existe également
une stratégie environnante derrière cela. Comme
pour tous les projets dans ce domaine, si tu crées
un truc nouveau, tu dois d'abord copier les bons
concepts de ton concurrent jusqu'à ce que tu sois
toi-même capable de définir de nouveaux standards
et d'introduire de nouveaux concepts. Naturellement,
KDE a repris beaucoup d'idées de CDE, des
environnements X classiques et - personne ne peut
nier cela - de MS-Windows.
Gaël: Qu'est-ce que tu aimes/n'aimes pas dans Gnome ? Que penses-tu des
outils de la bibliothèque Gtk+
et les aurais-tu utilisés s'ils avaient existé au
commencement de KDE ? Est-ce que la guerre Gnome/KDE t'as
affecté ?
Matthias: Gtk+ est une boite
à outils graphiques impressionante et très
complète. Si seulement ça avait été écrit en
C++, la décision du choix entre Qt et Gtk aurait
été vraiment difficile. Actuellement, la
programmation en Qt est plus facile, recquiert moins
de code et donne la sensation d'être plus naturelle.
Et Qt est bien mieux documenté. Je connais un peu le
``wrapper'' C++ pour gtk mais un petit ``wrapper'' ne
peut en aucun cas rivaliser avec une véritable
bibliothèque de classes.
En ce qui concerne Gnome: étant donné que
tout ce qui est dit à propos de Gnome par les
développeurs KDE est pris pour une injure, je
devrais mieux rester silencieux. Quoiqu'il en soit,
il n'existe pas de guerre Gnome/KDE, du moins en ce
qui concerne les développeurs. Les développeurs
respectent habituellement tous ceux qui se salissent
les mains et qui écrivent du code. Quoiqu'il en
soit, les ``flame-wars'' [NdT: violentes querelles de
clocher qui sévissent dans les listes de diffusions
et les forums de news] m'ont vraiment attristé,
détruisant mes croyances selon lesquelles il existe
ou existait un semblant de communauté Linux. Ça ne
concerne pas seulement KDE, mais tout le reste aussi.
Annoncez par exemple que vous etes en train d'écrire
un nouvel éditeur de texte. Les gens vont vous
incendier parceque vous n'essayez pas d'améliorer
emacs à la place. D'autres vont commencer à
expliquer que vi a un mode équivalent et c'est
parti. N'avez-vous jamais lu un message d'un
développeur d'emacs ou de vim insultant l'autre ? Ou
alors annoncez que vous écrivez un ``front-end''
(NdT: écran graphique pour un programme qui ne l'est
pas) pour LaTeX. Les gens vont vous incendier en vous
disant que leur façon d'utiliser TeX est meilleure,
plus puissante, plus dans l'esprit d'Unix, etc.
Pourquoi ? Parceque beaucoup d'utilisateurs de linux
semblent croire que les auteurs de Logiciels Libres
veulent les forcer à utiliser exclusivement les
nouveautés. Ça n'a pas de sens. Si vous aimez un
logiciel, utilisez-le, sinon, utilisez en un autre.
Pourquoi est-ce que cela est si dur à comprendre
pour beaucoup de fans de Linux ? Je n'en ai aucune
idée. Cependant, cela s'améliore un peu, il y a
donc de l'espoir. Actuellement, les gens peuvent
même poser une question technique à propos de KDE
dans un forum de news Linux et obtenir une réponse
technique à la place d'un ``flame''.
Personnellement, je ne lis plus les groupes de
discussion Linux. Le vrai développement ou l'aide
aux utilisateurs se déroule dans les listes de
diffusion qui fournissent un rapport signal/bruit
bien supérieur.
Gaël: Penses-tu que Qt serait de meilleure
qualité si c'était un véritable Logiciel
Libre ?
Matthias: Je ne pense pas que
Qt serait meilleur si c'était un Logiciel Libre.
Après tout, il n'y a rien de comparable à Qt sous
forme libre actuellement. Afin de garantir le succès
de KDE, une bibliothèque de base simple et bien
controlée était un facteur important. Cela aurait
bien sûr pu être une bibliothèque libre si il y en
avait eu une disponible. Au sein de l'équipe KDE,
nous souhaitions écrire du Logiciel Libre. Pour
nous, Qt convient parfaitement. Ceux qui se plaignent
de la licence de Qt sont ceux qui veulent écrire des
applications propriétaires sans avoir à payer. Ils
peuvent le faire facilement en utilisant d'autres
bibliothèques graphiques.
Gaël: Es-tu employé chez Troll Tech?
Matthias: Oui, ce qui peut
relativiser ma précédente réponse ;-) J'ai
commencé à travailler pour Troll Tech récemment,
le 6 aout 1998, c'est à dire, après la sortie de
KDE-1.0. En d'autres mots : non seulement je peux
continuer avec le développement de KDE, mais en plus
je suis payé pour ça :-) Un autre effet induit
agréable : je vis maintenant dans la même ville que
le mainteneur actuel de LyX, Lars Gullik Bjoernnes,
à Oslo. Ce qui signifie qu'après avoir travaillé
ensemble pendant des années nous avons enfin pu
boire notre première bière (et assez chère à
cause des taxes norvégiennes sur l'alcool) ensemble.
Gaël: As-tu participé à QtMozilla, le
portage de Mozilla
sous Qt ? Y aura t-il un KMozilla ?
Matthias: Bien entendu que
j'ai participé ! Sinon j'aurais raté le plus grand
`hack' de ces dernières années ! Honnêtement,
c'était génial. On a réussi à remplacer environ
500 000 lignes de code avec 25 000 lignes de code Qt
- en seulement une semaine, sans aucune
documentation. Depuis, Netscape a fourni plus
d'informations, le portage est donc plus facile. J'ai
été un peu déçu que nous ayons été la seule
équipe à porter Mozilla. Nous nous attendions à ce
qu'il y ait quelques autres groupes à relever le
défi dans le monde, mais personne d'autre n'a été
aussi curieux.
Nous avons pensé à un KMozilla depuis le
début mais nous avons décidé de ne pas le faire.
Il vaut mieux améliorer notre propre navigateur
Internet qui est propre et rapide, au lieu de
s'empêtrer dans l'énorme mozilla, surtout depuis
que nous avons un client mail décent et un lecteur
de news. Etant donné que Mozilla n'intègre pas le
support de Java, il n'a pas d'avantages par rapport
au navigateur integré de KDE.
Gaël: Il y a eu quelques discussions
concernant KGimp (un port de Gimp pour KDE) : existera
t-il un jour ? Et sinon pourquoi ?
Matthias:En réalité, il n'y
a jamais eu un véritable KGimp. J'ai fait un exposé
au Linux Kongress 1998 à Cologne sur la
programmation en fonction de multiples bibliothèques
graphiques, la technique que nous avons utilisé pour
le portage de LyX de XForms vers KDE. Mais comme KLyX
était déjà fini et complètement porté, je
voulais apporter un autre exemple. J'ai donc
réalisé ce hack d'une journée qui a engendré un
nombre affreux de discussions. C'était vraiment
amusant : les gens ont discuté des centaines
d'heures à propos de quelque chose qui m'a demandé
moins d'une journée à réaliser :-) La véritable
sortie a été repoussée maintes et maintes fois,
principalement parceque je n'ai pas trouvé le temps
pour tout intégrer dans une installation `autoconf'
propre. De plus, je voulais attendre la sortie de
Gimp-1.0. Quoi qu'il en soit, Gimp-1.0 est sorti il y
a quelques temps et les mainteneurs de Gimp
envisagent d'incorporer des options de compilation
pour KGimp dans la distribution officielle de Gimp.
Peut-être que cela aura déjà eu lieu quand cette
interview sera publiée.
Gaël: Y aura t-il un KEmacs ?
Matthias: XEmacs est
l'éditeur favori pour beaucoup de développeurs KDE.
D'un autre part, certains développeurs de XEmacs ont
également montré un intérêt pour l'intégrer à
KDE. L'avenir de KEmacs apparaît donc relativement
clair
Gaël: Quand KOffice
sera t-il suffisamment mûr pour devenir un sérieux
concurrent à MS-Office ? :-)
Matthias: La question n'est
pas d'attendre que les choses arrivent, mais de faire
en sorte qu'elles arrivent. La règle est simple :
davantage de développeurs actifs signigie plus de
logiciels, plus rapidement. Pour moi, un concurrent
sérieux de MS-Office serait un système que je
pourrais utiliser pour faire mon travail. Dans le
monde réel, un concurrent sérieux de MS-Office doit
avoir strictement la même apparence et doit
échanger des données *exactement* de la même
façon, toujours en modifiant le format de fichier
propriétaire. Dans cette optique, KOffice ne sera
probablement jamais un concurrent
"sérieux", il sera beaucoup mieux ;-)
Gaël: Après avoir créé LyX, l'interface
graphique pour LaTeX, tu l'as porté en KLyX.
Est-il maintenant aussi pratique à utiliser qu'un
traitement de texte (de type `Word'), ou est-il destiné
à ceux qui sont déjà habitué à utiliser LaTeX ?
Matthias: Pas du tout ! Je ne
le recommenderais même pas à quelqu'un qui se sert
déjà de LaTeX. Les cas pour lesquels LyX se montre
très forts sont les documents longs et complexes,
avec beaucoup d'équations, d'images, de références
croisées, de tableaux, de notes de pied de page etc.
En d'autres mots, le genre de documents que `Word' ne
sait pas gérer correctement, par exemple une thèse
de doctorat. Bien entendu, on peut également écrire
une lettre très facilement avec LyX. Mais ce n'est
pas un logiciel de PAO, ce que la plupart des gens
recherchent en fait quand ils parlent de traitement
de texte.
Gaël: Que penses-tu de la décision de Red Hat Software de ne
pas adopter KDE comme interface graphique standard pour
leur distribution Linux ?
Matthias: Chaque société
possède un marché cible, ce qui est le cas de Red
Hat. La plupart des distributions Linux ciblent le
marché de l'utilisateur de base - des gens qui
travaillent ou s'amusent avec linux - ou les
développeurs de Logiciels Libres. Un utilisateur
veut tout ce qui lui est utile et qui rend son
travail plus agréable et plus productif. Un
développeur de Logiciels Libres veut tous les outils
qui vont lui permettre de créer des logiciels mieux
et plus puissants en un minimum de temps. Red Hat a
trouvé un autre marché : les gens qui veulent un
système d'exploitation peu onéreux dans le but de
développer et de vendre des applications
propriétaires avec. Bon, cet objectif est encore
compatible avec une distribution qui contiendrait
KDE. Mais le client de Red Hat est encore plus
spécial. Il n'est pas capable de lire le détail des
licences des bibliothèques utilisées dans la
distribution [NdT : non compatibles avec une
utilisatiion commerciale] et il ne souhaite en aucun
cas payer à nouveau, que ce soit la communauté du
Logiciel Libre ou les développeurs des outils qu'il
utilise. Pour permettre cela, la distribution ne doit
contenir aucune bibliothèque GPL, ni la boite à
outil Qt. Red Hat est une société commerciale, elle
est libre de satisfaire sa principale cible de
marché. Néanmoins, vue la [NdT: petite] taille de
ce marché, je pense qu'ils commettent une grosse
erreur.
Gaël: Penses-tu que ce serait une bonne chose
si KDE devenait _le_ bureau graphique standard pour Unix
et plus spécialement Linux ? Penses-tu que ça arrivera
un jour ? :-)
Matthias: C'_est_ déjà
l'interface graphique libre standard pour Unix. Je
reconnais que c'est une réponse un peu détournée
car c'est la seule interface graphique qui répond à
la définition que nous lui donnons actuellement ;-)
Quoi qu'il en soit, il faut distinguer KDE : le code,
et KDE : le `look and feel' et ses protocoles. Il
existe déjà une bibliothèque Tk étendue qui
permet de créer des applications conformes à KDE en
Tcl en utilisant une boite à outil graphique qui n'a
rien à voir. A l'avenir, nous pourrions tout aussi
bien en avoir une version gtk qui permettrait
d'adapter en douceur le `look and feel' [NdT: des
applications Gtk] au bureau KDE. Un `look and feel'
et un protocole standards sont bien plus importants
qu'un code de base similaire. Je suis confiant dans
le fait que KDE aura suffisamment d'inertie et
d'influence pour imposer ce genre de choses.
Gaël: Que penses-tu de l'avenir de Linux et de
KDE ? Penses-tu que Microsoft devrait commencer à
s'inquiéter ?
Matthias: Et bien,
ironiquement j'aimerais faire remarquer qu'à chaque
fois qu'un projet lié à Unix était sur le point de
connaître un succès, quelqu'un a toujours trouvé
le moyen de le diviser. C'est arrivé aussi bien dans
le domaine commercial que dans celui du Logiciel
Libre. Statistiquement, Microsoft n'a donc aucun
soucis à se faire. J'espère néanmoins que Linux et
KDE sont prêts à casser cette règle.
Gaël: Quel a été ton premier ordinateur ?
Matthias: J'ai eu mon premier
contact avec un ordinateur pendant des vacances
d'été au Danemark. J'avais à peu près 12 ans, la
machine était un Amstrad CPC464. Le père de mon ami
danois - à qui appartenait la machine - nous a
appris la programmation en basic, c'était vraiment
fascinant ! Juste après être rentré en Allemagne,
j'ai acheté un C64 [NdT: Commodore 64] (avec deux de
mes frères parceque c'était très cher). Après des
années à programmer en assembleur 6510 j'ai
complètement arrêté l'informatique. À la place,
j'ai changé de type de clavier et j'ai fait de la
musique - jusqu'à ce que je commence mes études en
informatique quelques années plus tard.
L'interview a été
réalisée par email en septembre 1998.
La traduction en français a été réalisée par
l'interviewer avec l'assistance de Sébastien Blondeel.
Tout ou partie de cette interview de Matthias Ettrich par
Gaël Duval peut être reproduit et redistribué, dans
n'importe quel média, qu'il soit physique ou
électronique, à condition que cette note subsiste de
façon intacte sur chaque copie.
1998 Gaël
Duval
|