Qt 4.5 passe en LGPL

Arnaud de la Grandière |
Qt (rien à voir avec QuickTime) est une bibliothèque logicielle libre en C++ qui fournit un certain nombre de fonctionnalités d'ordinaire dévolues au système opératoire (interface graphique, gestion réseau, accès aux données, etc), afin de permettre un déploiement multi plate-forme rapide (Windows, Linux, Mac OS X, etc), par le biais d'une simple compilation. Elle est utilisée par des logiciels tels que Mathematica, Google Earth, ou encore Photoshop Elements.

La semaine dernière, son éditeur QT Software a sorti la version 4.5, qui a pour majeur changement de modifier la licence utilisateur. Jusqu'ici, Qt était exploitable sous deux licences différentes : GNU GPL (pour les applications libres qui sont distribuées sous cette même licence), et une licence commerciale pour les autres. A dater le la version 4.5, Qt sera disponible pour tout le monde sous l'égide de la licence LGPL, rendant la bibliothèque gratuite pour tous (sauf pour ceux qui souhaitent obtenir un support technique). Voilà qui devrait permettre à nombre de petits éditeurs d'exploiter cette librairie dans leurs logiciels.

Pour ce qui est des nouveautés à proprement parler, l'accent a été mis sur les performances, ainsi que sur l'intégration de WebKit (y compris avec la gestion des extensions Netscape, permettant à n'importe quelle application exploitant Qt d'utiliser des contenus comme Flash par exemple, ainsi que les effets d'animations et de transitions intégrés à WebKit, ou encore son moteur Javascript). Mais WebKit n'est pas le seul dada d'Apple qu'on retrouve dans Qt 4.5, puisqu'il est maintenant possible d'utiliser Qt dans des applications développées en Carbon comme en Cocoa, que ce soit en 32 ou 64 bits, ou encore pour les processeurs PowerPC comme Intel, parmi bien d'autres nouveautés dont vous pouvez consulter la liste sur le site officiel.
avatar Ziflame | 

Aah que je hais ce truc...

avatar fluxus | 

pourquoi ?

avatar davi18 | 

@ Ziflame

Dis toi que c'est grâce à Qt que de nombreux logiciels sont multiplateformes.
Exemple : VLC.

avatar pflooo | 

VLC est un newbie dans le monde de qt... jusqu'à la 0.8 c'était wxwidgets

avatar popey | 

He ben perso, j'adore ce truc !

C'est vraiment pratique de pouvoir développer une application multi-plateforme avec ça !
Ben sûr, ça sera un peu moins intégré à l'OS que un logiciel spécifique utilisant à fond les dernière version de Cocoa, mais dans certain cas, l'intégration n'est pas le premier critère de choix !

avatar Ziflame | 

Justement, le multi plate-forme de cette manière est insupportable...

avatar Ziflame | 

(et VLC OS X est en Cocoa pour l'interface)

avatar LaurentR | 

@Ziflame : plus en détails, ça donne quoi ?

avatar biniou | 

@Ziflame : c'est n'importe quoi ce que tu dis. Tu veux faire du multiplate-forme comment ? En faisant une vue spécifique pour chaque OS ? C'est une chimère et un bussiness model non viable. Qt est un excellent Toolkit bien accepté par le monde de l'entreprise et puissant.

Excellente nouvelle pour les développeurs.

avatar oomu | 

VLC est multi-plateforme avec une interface native par système

gtk pour linux
cocoa pour mac

-
les outils comme QT sont bien pour créer un logiciel multi-plateforme, mais le programme résultant n'est jamais complètement natif à son environnement. Et cela se voit. et cela déplaît aux gens. On n'en meurt pas mais ça gène.

un logiciel QT ne peut pas profiter de l'intégration de Gnome sous linux par exemple, ni complètement de KDE (KDE est une extension de qt), sur mac un logiciel QT ne profite pas du trousseau, ne peut pas utiliser les fonctions d'orthographes etc.

-
sinon, son passage en LGPL est toujours une bonne nouvelle

-
QT reste avant tout une lib C++, cela sera toujours une polémique.

avatar Ziflame | 

@biniou

Je ne parle pas d'une vue différente mais l'utilisation des éléments d'interface natifs par OS, comme le dis oomu. Un bon exemple est Handbrake.

Evidemment c'est plus facile et moins cher pour les développeur d'utiliser du papier carton comme Qt mais ce sont les utilisateurs qui en payent le prix...

avatar egw | 

Moi y a un truc que je ne comprends pas sur MacG, pourquoi y parle-t-on tout le temps de "système opératoire", quand le terme que tout le monde utilise en français est "système d'exploitation" ? A chaque fois que je lis ce système opératoire, j'ai l'impression de voir un alien...

avatar BeePotato | 

@ popey (et biniou) : « C'est vraiment pratique de pouvoir développer une application multi-plateforme avec ça ! »

En fait, une application développée avec ça (que ce soit Qt ou autre bibliothèque du même genre) n'est pas multi-plateformes. C'est une application développée sur une seule plateforme : la plateforme Qt (tout comme les applis Java, développées pour la plateforme Java).
Cette plateforme se trouvant disponible sur de nombreux systèmes d'exploitation, ça permet aux applis Qt de tourner sur ces systèmes. Mais ça n'en fait pas pour autant des applis développées pour ces systèmes.
Ces applis n'exploitent réellement que les possibilités offertes par la plateforme Qt et suivent les conventions de la plateforme Qt.
Les développeurs de Qt essayent de faire en sorte que ça se voit le moins possible, mais ça reste très visible, notamment sur Mac.

Donc, oui, biniou, le seul moyen de faire réellement une appli multi-plateformes est de développer une version spécifique à chaque plateforme visée (toutes partageant un même moteur, il n'y a que la partie interface avec l'utilisateur qui change). De préférence en développant chaque version intégralement avec les bibliothèques natives de la palteforme correspondante, ou à la rigueur en partant d'une version Qt et en l'adaptant séparément à chaque plateforme (Qt 4.5 semble vouloir faciliter cette approche pour la version Mac, en permettant d'inclure des vues Cocoa au sein de fenêtres Qt).
Dans les deux cas, ça représente un investissement important que de nombreux développeurs refusent de faire, mais ce n'est pas pour ça qu'il faut penser que c'est irréalisable (plusieurs applis suivent ce modèle) ni qu'il faut se mettre à rêver qu'une appli Qt recompilée pour chaque système est devenue d'un coup de baguette magique une appli multi-plateformes.

avatar Hindifarai | 

[quote = oomu]
VLC est multi-plateforme avec une interface native par système
gtk pour linux
cocoa pour mac[/quote]
GTK? où as-tu vu ça?
Pour l'interface ihm en cocoa c'est tout sauf un succès, si des contributeurs mac se bougeaient ça changerait peut-être(perso je m'en fous je ne me sert d'aucun soft media sur mac).
[quote= oomu]QT reste avant tout une lib C++, cela sera toujours une polémique. [/quote]
Et les innombrables bindings? C'était une polémique, ça ne l'est plus.

Vous n'aimez pas Qt soit...ne dîtes pas de contrevérité volontaire pour autant, je n'aime pas cocoa/objectiveC mais je ne nie pas les avantages qui existent à leur utilisation.

Qt 4.5 n'est pas vraiment une énorme news, par contre le passage de QtCreator en version stable et son rapporchement de codeblocks en fait un outil de développement très très agréable. Pour le coup GTK prend un énorme coup de vieux.

[quote=Ziflame]Evidemment c'est plus facile et moins cher pour les développeur d'utiliser du papier carton comme Qt mais ce sont les utilisateurs qui en payent le prix...[/quote]
Monsieur Ziflame, proposez une aternative à Qt et ensuite on pourra parler tranquillement. Cocoa? Le monde ne tourne pas autour de mac...

avatar Ziflame | 

[quote=Hindifarai]Monsieur Ziflame, proposez une aternative à Qt et ensuite on pourra parler tranquillement. Cocoa? Le monde ne tourne pas autour de mac...[/quote]

C'est chaque fois pareil quand quelqu'un n'est pas content par un quelque-chose, on lui répond « t'as quoi le faire toi même, tu sais pas comme c'est difficile ».

1) c'est pas mon boulot
2) je ne veux pas d'alternative à Qt qui soit du même genre, et tout ce qu'il faut existe déjà et Apple l'a écrit pour tout le monde

Si on développe sur Mac, on devrait d'abord penser à Cocoa. Imagine toi utiliser un Mac où presque rien ne serait en Cocoa et j'aimerais bien voir la tronche que tu ferais. Et il n'y a pas d'excuses, car faire une interface graphique avec des éléments standards, ce n'est pas ce qu'il y a de plus difficile avec Cocoa...

C'est tout aussi énervant que de voir un Safari ou un iTunes qui a la même gueule sous Windows que sur Mac. C'est tout à fait insupportable.

Et le belles applications Java multi plate-formes qui ressemblent à rien... aaah que je les adorent...

Dis moi, à quoi ça te sert d'acheter un Mac si tu ne veux pas spécialement de soft natifs ? Et on sait tous que ce n'est pas vrai et que t'as un Mac parce que la plupart des softs que t'utilises sont en harmonie avec l'OS et ce n'est sûrement pas grâce à Qt ou le même genre de lib...

avatar BeePotato | 

« Dis moi, à quoi ça te sert d'acheter un Mac si tu ne veux pas spécialement de soft natifs ? »

Tout à fait d'accord avec cette remarque.

avatar Hindifarai | 

@ Ziflame
Vous êtes l'exemple parfait de la personne qui lit mais ne comprend rien ou ne cherche pas à comprendre.
Je ne vous demande pas de proposer une solution que vous créez, juste une alternative que vous connaissez et qui vous parait viable...c'est bon c'est compréhensible là?
Pour tout le reste de votre speech comme je l'ai dit le monde ne tourne pas autour du mac, payer un dev cocoa pour une boîte c'est souvent du superflu, avoir un soft dans un langage avec un binding cocoa ce n'est pas non plus évident. Bref cocoa est un marché de niche comme aime à dire oomu pour d'autres marchés libres :) .
Vous êtes des intégristes du objectiveC/cocoa et voyez tout le reste comme très laid...soit. Restez sur vos applis et vivez heureux, mais ne venez pas cracher sur le reste que vous ne connaissez visiblement pas du tout.

[quote]« Dis moi, à quoi ça te sert d'acheter un Mac si tu ne veux pas spécialement de soft natifs ? »[/quote]
Pour travailler essentiellement? J'entends par là bosser et pas seulement regarder la gueule des fenêtres.
D'ailleurs deux de mes trois macs n'ont tout simplement pas d'osx dessus...ça détonne avec l'ambiance environnente je sais.

avatar Ziflame | 

La solution c'est de se bouger un peu le cul pour porter correctement les softs sur les plate-formes que l'on vise. Et si on en vise plusieurs, on fait en conséquence. Quand on développe pour Mac on devrait penser à Cocoa au minimum. Si c'est du superflu pour une boîte de le faire, alors autant qu'elle ne développe pas pour Mac, car c'est nous prendre pour des cons.

Ce n'est pas que le look des fenêtres qui est importante mais aussi tout l'intégration inter-applications et avec l'OS. Et ce dernier sujet permet justement un travail agréable qui peut-être fait sur un OS.

Je n'ai pas dis non plus de ne faire une version du soft pour Mac et oublier les autres plate-formes... Je n'ai pas dis non plus que le reste était très laid, et je ne suis pas intégriste dans l'absolu de l'Obj/C et Cocoa, sauf si on est sur Mac. Je ne crashe pas sur les soft Windows, ou les soft linux qui sont bien fait. Mais un soft qui ressemble pas à un soft Mac sous OS X ça m'énerve. C'est tout simple à comprendre..

Et je le répète, dans l'autre sens c'est pareil. Pour les utilisateurs Windows, avoir un Safari (c'est un peu moins le cas pour le 4) et un iTunes qui fonctionne comme sur un Mac, ça doit être assez pénible.

Si tu t'en fous complètement de l'intégration d'un soft dans l'OS et qui exactement la même gueule sous Linux, Windows et Mac, autant acheter un PC sous Linux et tu feras des économies. Et c'est un choix qui se respecte tout à fais et que je ne pointe pas du doigt. Chacun est libre de ses préférences. Sinon, personnellement, je connais assez bien Windows et un peu Linux, mais je préfère largement OS X.

Et on a de la chance car on a énormément de softs qui sont assez bien intégrés à OS X et peu de Qt. Si c'était le contraire, OS X n'aurait plus d'intérêt. Qt, c'est juste pratique comme solution provisoire... mais je ne voudrais surtout pas que des développeurs soit encouragés à n'utiliser que ça. Ce serait vraiment dommage.

avatar Hindifarai | 

@ Ziflame
Si tous les développeurs de solution libres te lisaient...il y aurait pléthode de logiciels que tu utilises sur mac qui n'existeraient pas. Heureusement que tes propos n'ont pas d'impact sur eux.
Après si un soft est sous Qt tu n'es pas obligé de l'acheter, surtout lorsque 90% des softs Qt sont libres et gratuits...Cette manie de se plaindre de la présence de softs libres mais qui ne conviennent pas à un goût esthétique m'a toujours épaté dans la communauté macge(oui sur les autres sites macs les gens ne vont pas jusqu'à cette absurdité et c'est tout à leur honneur)

avatar BeePotato | 

@ Hindifarai :
Je réagis un peu tard, donc je ne pense pas être lu, mais bon…

« Si tous les développeurs de solution libres te lisaient...il y aurait pléthode de logiciels que tu utilises sur mac qui n'existeraient pas. »

Non, il n'y a pas tant de logiciels que ça en Qt que les utilisateurs Mac utilisent régulièrement (je parle bien de la majorité des utilisateurs de Mac et non de la minorité d'utilisateurs venant de Linux et voulant continuer à utiliser les logiciels auxquels ils étaient habitués — pour ceux-là, la présence de Qt sur Mac est une excellente chose).
Mais tu peux essayer de nous convaincre du contraire en citant au moins deux ou trois exemples parmi cette « pléthore » de logiciels développés en Qt (ou autre bibliothèque du même genre) utilisés à grande échelle sur Mac.

« Cette manie de se plaindre de la présence de softs libres mais qui ne conviennent pas à un goût esthétique »

Si tu ne comprends réellement pas qu'il ne s'agit pas d'un simple problème esthétique (catégorie de problème qu'on pourrait retrouver même avec un logiciel 100 % Cocoa), c'est que tu n'as pas compris les subtiles différences entres les interfaces utilisateur de Mac OS, Windows et Linux.
Avec un logiciel écrit en Qt pour Linux/Windows et juste recompilé pour Mac, on se trouve généralement confronté à :
- quelques problèmes esthétiques mineurs
- des styles et emplacements de widgets différents de ceux des logiciels Mac
- une logique de l'interface différente de celle des logiciels Mac
- un manque d'intégration au système : pas d'AppleScript, pas de services (à moins que ceci n'ait changé avec la dernière version de Qt)
- pas d'utilisation des technologies spécifiques à Mac OS (CoreImage, iChat Theater, ce genre de choses…)

Bref, si dans le cas de certains logiciels on peut passer outre ces défauts pour privilégier un code source unique, il ne faudrait pas que ça se généralise. Sinon, à quoi bon avoir différents OS ?

CONNEXION UTILISATEUR