Une bonne nouvelle pour le libre assurément, le couple Python+Qt va devenir plus "libre" d'ici quelques temps grâce à PySide. Ceux qui veulent seulement un résumé de ce que propose PySide peuvent aller en bas du journal.
Un peu d'histoire
Je pense qu'un certain nombre d'entre vous connaissent Python et son "binding" PyQt qui permet d'avoir accès au framework Qt de Nokia (anciennement Trolltech) bien connu pour être multiplateforme et être en particulier utilisé par le projet KDE.
Après le rachat de Trolltech par Nokia, celui-ci a décidé de libérer Qt (à partir des versions 4.5+) sous licence LGPL, et ce pour tout type de projet (en conservant aussi la gpl et leur licence propriétaire). C'est alors posé la question de la licence du binding PyQt édité par la société Riverbank Computing. Pour des raisons financières que l'on peut comprendre (cette société vit de la vente de ses licences alors que Nokia n'a pas besoin de la vente de licences pour survivre...), celui-ci est resté en GPLv2.
Pourquoi PySide
Nokia a réalisé un certain nombre d'acquisitions ces derniers temps: Symbian pour son OS pour portables, Trolltech pour Qt... et travaille sur des projets open source comme Maemo, son OS pour ses MID (Mobile Internet Device).
Les dernières déclarations de Nokia au propos de Maemo montrent que ces projets vont commencer à converger: Qt sera le toolkit graphique à la place de Gtk+ pour cette plateforme (même si une base gnome va être conservée pour certains éléments des fondations).
Les équipes de développement de Maemo souhaitent aussi profiter d'un toolkit graphique intéressant lié au langage Python. Ils se sont donc concertés avec Riverbank mais les négociations n'ont pas abouties, d'où la naissance de PySide...
PySide
Est un binding Python de Qt (actuellement compatible avec sa dernière version) créé par les dev Nokia sous licence LGPL, ce qui veut dire que l'on est plus limité à l'utilisation de la GPLv2 pour nos réalisations, bonjour BSD, GPLv3, WTFPL et autre licences plus exotiques.
La compatibilité avec l'API de PyQt a été une des priorités, donc un "import PySide" remplaçant un "import PyQt4" devrait être suffisant pour passer de l'un à l'autre.
Les développeurs sont les bienvenus pour aider à tester afin de stabiliser le binding. Le développement se déroule principalement à direction de Linux/X11 mais devrait passer progressivement au multiplateforme.
La documentation à l'air assez détaillée et bien faite.
Une conception plus "Pythonique" que PyQt est envisagée ainsi que sur le plus long terme un passage à Python3. Les efforts se portent aussi sur l'amélioration des performances & consommation de ressources.
Bref, si la licence de PyQt vous a rebuté d'essayer ce binding, PySide répondra certainement à vous attentes dans pas trop de temps. La question que l'on peut se poser pour finir, qu'adviendra-t-il de Riverbank et de PyQt?
Liens
Le blog d'où me vient l'information
[http://codeposts.blogspot.com/2009/08/lgpl-python-bindings-f(...)]
Le site de PySide
[http://www.pyside.org/]
Une description du projet et la FAQ qui répond à pas mal de question (bien évidement :)
[http://www.pyside.org/about/]
[http://www.pyside.org/faq/]
Pour l'instant les seuls packages qui existent sont pour ubuntu :/ tant pis pour les autres qui devront compiler le tout, mais à près tout c'est encore en développement
[http://www.pyside.org/downloads/]
La documentation pour se lancer
[http://www.pyside.org/docs/pyside/]
# Pas cool
Posté par Larry Cow . Évalué à 10.
[^] # Re: Pas cool
Posté par feth . Évalué à 3.
Avec PyQt, soit on fait du copyleft (GPLv2 et GPLv3) soit on s'arrange avec riverbankcomputing, y compris après le codage (contrairement à ce que prétendait pratiquer TrollTech qui exigeait qu'un développeur ait une licence dès le début de son projet).
Le fait de développer une alternative en speed, qui plus est compatible, aura pour effet de bord de couler riverbank :
•est-ce un effet non désiré ?
•Nokia a-t-il un problème avec la notion d'écosystème ?
[^] # Re: Pas cool
Posté par plop (site web personnel) . Évalué à 10.
1. Avoir un binding python qui soit aussi permissif, au niveau licence, que Qt. Aujourd'hui, PyQt est restrictif de ce coté là.
2. Pouvoir modifier/maintenir facilement le code du binding (les sources de PyQt sont fournies, mais il me semble que son générateur de code ne l'est pas - et le développement est effectué par une seule personne)
La FAQ de PySide indique que Nokia a commencé par discuter avec riverbank computing, mais qu'ils ne sont pas parvenus à un accord.
A partir de là, je pense que ce n'est pas un problème d'écosystème ni une volonté de couler une autre boite.
D'ailleurs je pense que si Nokia s'intéressait à Ruby, QtRuby n'aurait pas ce problème-là : LGPL, code plus ouvert, plusieurs développeurs actifs.
[^] # Re: Pas cool
Posté par Pierre Bourdon . Évalué à 1.
[^] # Re: Pas cool
Posté par plop (site web personnel) . Évalué à 4.
(d'après une citation de ce lien http://www.opensubscriber.com/message/pyqt@riverbankcomputin(...) ) :
* PyQt is automatically generated through a tool called MetaSIP which
was never released in any form to the public. Without MetaSIP, one would
have to manually maintain PyQt in sync with Qt, which is not impossible
but surely much harder (given how large is Qt nowadays).
[^] # Re: Pas cool
Posté par Octabrain . Évalué à 10.
[^] # Re: Pas cool
Posté par vida18 . Évalué à -5.
[^] # Re: Pas cool
Posté par Octabrain . Évalué à 5.
[^] # Re: Pas cool
Posté par Thomas Douillard . Évalué à 4.
J'imagine que les négociations avec Nokia ont eues pour point d'achoppement ce point précis, Nokia voulait mettre les deux en adhéquation, et que riverbankcomputing a refusé, pour garder son indépendance, ou en pensant que son business model pouvait survivre, ce qui était visiblement dans ce cas un mauvais calcul ...
# Enfin !
Posté par vincent_k (site web personnel) . Évalué à 9.
Ils vont se faire racheter par nokia ! (en tout cas ça serait pas un mal).
Mais sinon c'est une bonne nouvelle que Nokia se sortent les doigts du cul pour proposer quelque chose de correct pour ses téléphones et MID. J'ai hâte de voire ce que symbian et/ou Maemo vont donner quand ils seront totalement ouverts aux developpeurs extérieurs.
Je commence justement à développer avec Python et Qt et je doit dire que le couple est diablement intéressant ! Si Ovi Store est capable de concurencer l'apple store en terme de fonctionalité/gratuité/ouverture extérieur etc., Nokia aura de quoi proposer des alternatives aux Google phone, et ça n'as peut être que bon pour nous.
Il va juste falloir qu'ils comprennent l'inutilité des DRM comme ils ont plus ou moins l'habitude de faire, qu'on a pas besoin de 250Mo de suite logiciel pour faire une synchronisation de contact et que eux se feront du fric en vendant des terminaux et pas des logiciels à la con.
PyQT/Symbian/Nokia 97 (mis à jour, le premier semble avoir des défauts matériel), c'est le rêve pour tout les geeks!
[^] # Re: Enfin !
Posté par reeth . Évalué à 4.
Sinon ce que j'ai oublié de dire c'est que ce projet est lancée par Nokia mais il semblerait un peu de manière détournée par leur 'Institut Nokia de Technologie' situé au Brézil ainsi que par OpenBossa qui leur servent de labo concernant les technologies de ce genre (logiciel pour MID/portables...).
Et pour compléter, à disposition des développeurs il y a un binding generator et un API extractor qui sont proposés pour créer facilement d'autres bindings pour Qt dans d'autres langages (peut-être même utilisables pour autre chose que des bindings Qt)
L'INdT
[http://www.indt.org.br/institutional/index.php]
OpenBossa
[http://www.openbossa.org.br/]
Créer son propre binding
[http://www.pyside.org/home-binding/]
[^] # Re: Enfin !
Posté par claudex . Évalué à 7.
Sinon, s'ils pouvaient déjà faire un nokia pc suite en Qt pour le porter sur linux, ça ferait pas de mal.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Enfin !
Posté par Benjamin Poulain (site web personnel) . Évalué à 2.
Il y a des discutions sur le forum pour supporter Linux et Mac (par exemple: http://betalabs.nokia.com/forum/topic/3896 ). Je pense que c'est une bonne idée de les pousser à supporter Linux via le forum.
Il y a aussi ce post sur le forum: http://betalabs.nokia.com/forum/topic/3210 qui est dédié aux demande de support pour Linux.
À priori, si ils utilisent déjà Qt, ils n'ont "plus qu'à" porter porter les drivers pour que ça marche.
[^] # Re: Enfin !
Posté par claudex . Évalué à 2.
Surtout qu'on arrive déjà à communiquer avec le gsm sous linux (genre gnokii ou gammu)
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Enfin !
Posté par vincent_k (site web personnel) . Évalué à 3.
Vachement plus simple que de s'emmerder à utiliser un brontausore pour mettre à jour ou récupérer ses contacts...
# La doc
Posté par plagiats . Évalué à -3.
A la place j'ai un gros charabia sans queue ni tête, où l'on ne sait pas par où commencer. Mmmh "qtUiTools" ? Je clique sur http://www.pyside.org/docs/pyside/PySide/QtUiTools/index.htm(...) et en bas s'affiche See also Calculator Builder Example World Time Clock Builder Example sans lien pointant vers l'exemple.
Ok, y a un champs de recherche, je tente. Rien. Google me renvoie sur http://doc.trolltech.com/4.5/designer-worldtimeclockbuilder.(...) qui est un début mais les exemples ne sont pas en Python.
En comparaison avec wxPython, ça se rapproche de :
http://www.wxpython.org/docs/api/
C'est sans doute bien utile quand on bosse au jour le jour avec mais ce qu'il manque pour démarrer c'est un équivalent au "Learning wxPython" de http://wiki.wxpython.org/How%20to%20Learn%20wxPython (lien présent dans le menu principal de wxpython, y a pas à chercher beaucoup pour le trouver).
En plus c'est tout jaune flashy, franchement pas discret au taff même si c'est pour apprendre des choses pro et pas du clubic.com, je trouve ça dommage de s'exposer.
[^] # Re: La doc
Posté par Benjamin Poulain (site web personnel) . Évalué à 1.
J'avoue qu'ils auraient pu faire plus d'exemple. Le seul exemple que j'ai trouvé c'est celui sur D-BUS.
[^] # La doc = pour se lancer
Posté par plagiats . Évalué à 1.
Mais en cherchant 5 minutes, j'ai pas trouvé un seul exemple. C'est quand même le minimum un ptit exemple surtout s'il est mentionné sur les autres pages.
[^] # Re: La doc = pour se lancer
Posté par Benjamin Poulain (site web personnel) . Évalué à 3.
[^] # Re: La doc = pour se lancer
Posté par Larry Cow . Évalué à 7.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.