L’annonce qui a fait le plus de bruit aujourd’hui dans le monde des logiciels libres, c’est la mise sous licence LGPL du framework Qt. Ils en parlent un peu partout sur les blogs et les sites d’info technologique (pfiou, c’est dur de faire tout plein de liens — vous remarquerez que je laisse l’annonce officielle pour la fin — vous remarquerez aussi que j’avais dans ma phrase un mot de trop par rapport au nombre de liens que j’avais trouvé — j’ajouterai que je n’ai dans mon Google Reader aucun blog orienté Qt ou KDE, donc tout ça c’est juste de planet Gnome ou planet Ubuntu :-).
Un peu de background
Les débuts
Qt a été créé il y a plus de 15 ans par Trolltech, et est depuis très longtemps sous une licence multiple : GPL et propriétaire (et très chère, autour de 5000$ par développeur et par plateforme si j’ai bien compris). Les développeurs avaient donc le choix entre payer très cher pour utiliser Qt pour faire un logiciel propriétaire (comprendre « pas sous GPL » — il était donc impossible pour un petit développeur de faire un logiciel Qt propriétaire), ou faire un logiciel sous GPL. C’est d’ailleurs le cas de l’environnement de bureau KDE et de tous ses composants (sauf les librairies KDElib ne dépendant pas Qt, qui sont sous LGPL).
Le rachat par Nokia
Nokia a fait l’acquisition de Trolltech il y a quelques mois. La firme Finlandaise, bien que leader mondiale sur le marché des téléphones mobiles, se retrouve bien embêtée par l’arrivée de Apple, avec son iPhone et son AppStore performants (et peut-être aussi par celle de Google avec Androïd, voire du possible renouveau de Palm). Nokia a des téléphones, mais pas de plateforme logicielle vraiment intéressante, ni d’écosystème de développeurs autour de ceux-ci. C’est pour cela qu’elle a racheté complètement Symbian (qu’elle est en train de le rendre open-source) et qu’elle a fait l’acquisition de Qt.
La véritable force de l’iPhone, c’est la myriade de développeurs qui s’investissent dessus pour créer des applications. Nokia a donc besoin de créer le même mouvement autour de sa propre plateforme. C’est pour ça qu’il open-sourcent Symbian, une plateforme open-source attirant plus de développeurs (à potentiel technique ou parts de marché égales). De même, pour facilité le développement d’applications, ils ont acheté Qt, sont en train de le porter sur Symbian, et y ajoutent une licence LGPL qui permet à tous les développeurs de l’utiliser gratuitement.
Ce que signifie réellement ce rachat
Les développeurs auront désormais la possibilité de créer des applications propriétaires en Qt sur Symbian, Androïd ou Palm (vu que ce sont des Linux), ainsi que sur tous les grands systèmes d’exploitation, car Qt est vraiment multi-plateforme. Cela diminuera leurs couts tout en augmentant la portée de leurs applications, ils devraient être contents.
Nokia devrait voir sa plateforme adoptée, ce qui veut dire que ses téléphones seront plus intéressants. Peu importe de ne pas faire de bénéfices avec Symbian et Qt, de toute façon ils vendent des téléphones, pas des logiciels. C’est soit ça, soit ils se laissent bouffer par l’iphone sur le marché des smartphones grand publics.
Si tout fonctionne bien, Symbian, l’OS nouvellement libre, devrait s’améliorer, donc le libre progressera. De même, Qt étant plus utilisé (et Nokia ouvrant le code aux contributions extérieures), il ne devrait que s’en améliorer. Une fois encore, le libre gagne.
Les bouleversements que cela crée
Jusqu’à présent, je parlais quasiment exclusivement de ce qui allait changer dans le monde des téléphones mobiles, smartphones et autres appareils portatifs, mais ce changement va avoir des conséquences sur les ordinateurs de bureau.
Gnome
Gnome est le « concurrent »1 historique de KDE. Il n’est pas basé sur Qt, mais sur GTK+. En effet, au tout début Qt n’était pas libre, un environnement de bureau libre ne pouvait donc pas l’utiliser.
GTK+ a toujours été sous licence LGPL. Cela a permis de créer une sorte d’écosystème impliquant des petites boites qui développaient des applications en GTK+, et qui participaient au développement de celui-ci. C’est d’ailleurs l’argument principal qu’avançaient les développeurs Gnome ou GTK+ pour expliquer pourquoi ils ne voulaient pas développer en Qt. La GPL était trop restrictive pour eux et pour les boites qui les employaient.
Le problème, c’est que malgré cette implication d’entreprises commerciales censées apporter de l’argent, GTK+ n’a jamais été aussi performant que Qt, et a toujours été plus difficile à utiliser que ce dernier2. Le modèle économique de Qt semble donc avoir été plus efficace.
Cela tuera-t-il Gnome et GTK+ ?
Il semble assez clair (je m’avance peut-être un peu) qu’il est désormais plus intéressant pour une entreprise ou un développeur d’investir son argent ou son temps dans le développement d’applications en Qt que de faire la même chose en GTK+.
Je ne pense pas pour autant que ça va tuer GTK ou Gnome. Tout d’abord, avec les réflexions qui ont lieu en ce moment pour la création de Gnome 3, il est possible qu’ils sortent des concepts très intéressants et des fonctionnalités que KDE ne pourrait pas proposer, peu importe les considérations techniques au niveau du framework utilisé. D’ailleurs, c’est déjà vrai à l’heure actuelle et c’est ce qui me fait préférer Gnome à KDE. Gnome est plus simple, plus utilisable que KDE. Il est plus facile à prendre en main et à découvrir. KDE propose quelques fonctionnalités assez fun, comme les widgets sur le bureau ou l’intégration de base des effets 3D, mais il est vraiment trop complexe à utiliser. Sa souplesse et sa profusion d’options en font peut-être un très bon environnement pour certains, mais selon moi un débutant sous Linux ne peut absolument pas utiliser KDE (c’est d’ailleurs pourquoi Ubuntu a choisi Gnome et non KDE comme environnement par défaut)3.
D’autre part je ne vois pas pourquoi, l’attention de certains développeurs étant redirigée vers Qt et KDE, cela devrait absolument détruire Gnome et GTK+. Les principaux développeurs de ces deux projets ne vont pas les abandonner du jour au lendemain. Ils maitrisent leurs technologies, et ont beaucoup investi dedans. Si Gnome devait en pâtir, ça se ferait petit à petit sur le long terme. On a encore de nos jours de nombreuses applications en tcl/tk ou wxWidget, je ne vois pas pourquoi les applications en GTK+ devraient disparaitre d’ici à un ou deux ans… De plus, le Libre fonctionne sur un système d’émulation, où les développeurs utilisent les technologies qui leur conviennent, pas celles qui conviendraient mieux à la majorité des utilisateurs (venant de Windows qui plus est…) ni celles qui sont les plus jolies.
Selon moi, on n’aura donc au pire qu’un ralentissement progressif du développement de Gnome et GTK+.
Qnome ?
Mark Shuttleworth, le créateur de Ubuntu, a affirmé il y a quelques mois qu’il serait tout à fait possible de créer un environnement de bureau basé sur Qt, mais respectant l’esprit de simplicité pour l’utilisateur qui modèle le développement de Gnome. Il disait que c’était techniquement possible, et que rien ne s’y opposait si ce n’était la licence un peu restrictive de Qt.
À l’époque, je crois que c’était une simple affirmation sans volonté de se lancer dedans, ni d’inciter d’autres personnes à s’y investir, mais à partir de maintenant, avec la nouvelle licence de Qt, cela ne m’étonnerait pas que des développeurs se lancent dans un « Qnome », ou dans un « Knome ».
Il y a deux ou trois jours, j’étais d’ailleurs en train de me renseigner sur le sujet (vraiment par hasard, je n’avais pas prévu l’annonce de Nokia), car il y a plusieurs environnements de bureau basés sur GTK+ (Gnome, LXDE et Xfce, peut-être d’autres que je ne connais pas), mais un seul basé sur Qt (KDE). J’ai bien cherché, mais je n’en ai pas trouvé d’autres. Il y a bien eu un projet nommé KDE-light il y a quelques années, mais il a visiblement été abandonné.
Si un « Qnome » était lancé, je pense que ça entrerait vraiment en concurrence avec Gnome, bien plus que ne pourrait le faire KDE ou l’apparition de logiciels propriétaires en Qt, quelle que soit sa licence. Deux environnements basés sur des technologies différentes, mais partageant les mêmes objectifs ne peuvent que se marcher sur les pieds en terme de « parts de marché ».
Notes
-
Dans le monde du libre, il n’y a pas vraiment de concurrence, il y a de l’émulation et une offre de choix variée pour remplir tous les besoins :-) ↩
-
Principalement en terme de multi-plateforme, mais aussi en terme de fonctionnalités. J’ai vu un peu les deux, et je dois avouer que je préfère vraiment Qt (par contre, j’affirme des choses que je n’ai qu’entendu, donc ne lancez pas une flame war ^^). ↩
-
Encore une fois, ce n’est qu’une impression personnelle, mais je ne suis pas le seul à voir ça de cette façon ↩