PySide 2 sera de retour sous l'ombrelle du Qt Project
Qt sera fourni avec une couche de liaison Python

Le , par dourouc05, Responsable Qt & Livres
Qt est un framework C++ principalement connu pour la création d’interfaces graphiques, c’est notamment ce qui lui a valu bon nombre de couches d’accès depuis d’autres langages, principalement Python. Il en existe deux : PyQt et PySide. Historiquement, PyQt est arrivé en premier, mais sous licence GPL ou commerciale — ce qui ne convient pas à bon nombre de projets, la famille de licences GPL étant prévue pour empoisonner tout le code qui l’utilise (copyleft). Nokia a donc lancé le développement de PySide, qui est disponible sous une licence bien plus permissive : la LGPL.

Cependant, dès 2011, les développeurs avaient des doutes sur la viabilité de PySide : Nokia venait d’arrêter de les financer. Le projet n’a plus pu avancer à un bon rythme les années d’après, même en rejoignant l’infrastructure du Qt Project. En 2015, il a été déclaré officiellement abandonné. Au niveau technique, PySide n’a jamais pu être porté tel quel vers Qt 5, il s’est limité à Qt 4, à cause notamment de la nouvelle architecture modulaire.

Peu après l’annonce de mort cérébrale, un développeur indépendant a repris le travail vers un PySide 2. Le projet revit petit à petit.

Depuis lors, la Qt Company a vu son intérêt grandir dans le projet et s’apprête à y consacrer plusieurs développeurs à temps plein, ainsi que d’investir dans l’infrastructure nécessaire, de telle sorte que PySide devienne une partie intégrante des nouvelles versions de Qt. L’intérêt principal est de fournir une couche de liaison Python sous une licence libre — la LGPL —, en accord avec les derniers changements à ce sujet dans Qt. Évidemment, l’objectif est aussi de fournir PySide sous une licence commerciale, ce qui nécessite l’accord des développeurs existants de PySide.

Pour la technique, l’avenir de PySide passera probablement par une grande réécriture de son code. En effet, une bonne partie utilise Shiboken, un générateur de code qui doit analyser une bonne partie de la syntaxe C++ du code de Qt, un exercice qui deviendra de plus en plus difficile avec Qt 5.7 et l’exploitation plus importante de C++11. Une possibilité serait d’exploiter Clang, plus particulièrement sa partie d’analyse syntaxique et sémantique du code C++.

Source : Bringing pyside back to Qt Project.
Ce contenu a été publié dans Qt par dourouc05.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de BufferBob BufferBob - Expert éminent https://www.developpez.com
le 28/04/2016 à 0:12
je ne me suis intéressé que très récemment au sujet, si j'ai bien compris Pyside est une implem plus "libre" que QT, notamment intéressante au niveau de sa licence plus permissive pour qui souhaite commercialiser son application, au delà l'histoire du projet a des airs de Santa Barbara, avec ce dernier rebondissement d'un QT qui souhaite intégrer directement Pyside, mais en y mettant une licence commerciale

du coup,
  • est-ce que mettre une licence commerciale sur Pyside ne reviendrait pas tout bonnement à éliminer l'intérêt principal du projet, et donc à le tuer ?
  • et est-ce qu'à mots couverts QT ne joue pas un peu de sa position dominante, à savoir que sans QT le projet n'est plus financé et n'a plus de développeur si je comprends bien, du coup la question de l'accord des développeurs semblerait un peu jouée d'avance non ?
  • est-ce qu'avec tous ces hauts et ses bas on peut considérer le projet comme une solution "fiable", sur laquelle on pourra compter dans l'avenir ou est-ce que ça n'est pas d'ordre à rebuter ceux qui voudraient choisir entre les deux et à les diriger presque automatiquement vert QT ?
Avatar de mintho carmo mintho carmo - Membre averti https://www.developpez.com
le 28/04/2016 à 1:22
Citation Envoyé par BufferBob Voir le message
Pyside est une implem plus "libre" que QT, notamment intéressante au niveau de sa licence plus permissive pour qui souhaite commercialiser son application
PySide n'est pas une implementation de Qt, c'est une surcouche (comme tous les bindings). Donc ce n'est pas plus libre, cela utilise Qt et donc les licences de Qt.

Qt est sous licences LGPL, GPL et commerciales. Un binding etant par nature un linkage dynamique, c'est donc la licence LGPL de Qt qui s'applique. Donc PySide est sous licence LGPL parce que Qt est sous licence LGPL.

Citation Envoyé par BufferBob Voir le message
est-ce que mettre une licence commerciale sur Pyside ne reviendrait pas tout bonnement à éliminer l'intérêt principal du projet, et donc à le tuer ?
Donc non, au contraire. Comme dit dans l'annonce, le projet est deja au ralenti et le support de Qt Company permettra de mettre plus de moyens dans PySide.

Citation Envoyé par BufferBob Voir le message
et est-ce qu'à mots couverts QT ne joue pas un peu de sa position dominante, à savoir que sans QT le projet n'est plus financé et n'a plus de développeur si je comprends bien, du coup la question de l'accord des développeurs semblerait un peu jouée d'avance non ?
Qt Company n'a pas de position dominante dans PySide. S'il y avait pleins de moyens dans le projet et menacerait de les supprimer si on ne fait pas ce qu'il veut, ca serait utiliser sa position dominante.

Mais la, le projet a peu de moyen, et une grosse entreprise vient proposer son aide avec ses conditions. Les devs n'ont rien a prendre s'ils refusent (par contre, le projet gagnera beaucoup s'ils acceptent).

Par contre, bien sur que si les devs acceptent, Qt Company aura une position dominante apres. Mais c'est le cas de beaucoup de projet open source.

Citation Envoyé par BufferBob Voir le message
est-ce qu'avec tous ces hauts et ses bas on peut considérer le projet comme une solution "fiable", sur laquelle on pourra compter dans l'avenir ou est-ce que ça n'est pas d'ordre à rebuter ceux qui voudraient choisir entre les deux et à les diriger presque automatiquement vert QT ?
Au contraire. Un projet maintenu par une poignee de devs est peu fiable sur le long terme. Le support par une entreprise (et la monetisation du support technique) est un gage de fiabilite et de confiance pour les entreprises.
Avatar de BufferBob BufferBob - Expert éminent https://www.developpez.com
le 28/04/2016 à 8:53
le projet est deja au ralenti et le support de Qt Company permettra de mettre plus de moyens dans PySide.
certes, mais ce que je veux dire c'est quelle sera la valeur ajoutée de Pyside sur l'api QT officielle si le projet vient à passer sous licence commerciale, acté qu'un des attraits principaux de Pyside est justement sa licence ?

Qt Company n'a pas de position dominante (...) le projet a peu de moyen, et une grosse entreprise vient proposer son aide avec ses conditions (...) Qt Company aura une position dominante apres. Mais c'est le cas de beaucoup de projet open source.
c'est une perception de la chose et pour le moins jouer sur les mots tout de même, si on résume tu dis "il y aura position dominante quand ce sera fait" et "Pyside a tout intérêt à ce que ça se fasse", j'aurai plus tendance à percevoir ça comme "un mal nécessaire pour un projet pris à la gorge" que comme une chance perso

Au contraire. Un projet maintenu par une poignee de devs est peu fiable sur le long terme. (...)
oui c'est ce que j'ai voulu dire, je me suis peut-être mal exprimé
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 28/04/2016 à 9:52
Citation Envoyé par BufferBob Voir le message
certes, mais ce que je veux dire c'est quelle sera la valeur ajoutée de Pyside sur l'api QT officielle si le projet vient à passer sous licence commerciale, acté qu'un des attraits principaux de Pyside est justement sa licence ?
PySide sera disponible en deux licences : LGPL et gratuite, commerciale et payante. Il restera du gratuit et libre, une version avec support commercial sera créée. Il y aura donc une deuxième licence possible, pour ceux que ça intéresse, mais le projet restera libre.

Citation Envoyé par BufferBob Voir le message
c'est une perception de la chose et pour le moins jouer sur les mots tout de même, si on résume tu dis "il y aura position dominante quand ce sera fait" et "Pyside a tout intérêt à ce que ça se fasse", j'aurai plus tendance à percevoir ça comme "un mal nécessaire pour un projet pris à la gorge" que comme une chance perso
Ce n'est pas vraiment un mal nécessaire, c'est l'une des très rares solutions pour que le projet survive… Un seul développeur, c'est très limite, comme solution viable à long terme.

L'organisation de Qt est un peu particulière… La Qt Company (qui fut une partie de Digia) s'occupe de fournir du support commercial, des développeurs, mais ne possède pas Qt ; le Qt Project est l'organisation qui gère le projet libre, qui en possède les droits… et dans laquelle la Qt Company injecte des fonds (maintenance de serveurs, par exemple). L'intégration ne se fera pas directement dans une société commerciale (Qt Company), mais directement dans l'organisation libre (Qt Project), avec des développeurs payés par la Qt Company.
Enfin, si j'ai bien tout compris !
Avatar de BufferBob BufferBob - Expert éminent https://www.developpez.com
le 28/04/2016 à 9:59
Citation Envoyé par dourouc05 Voir le message
PySide sera disponible en deux licences (...)
L'organisation de Qt est un peu particulière (...)
ok je comprends un peu mieux la chose, merci à vous deux pour vos éclaircissements
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 16/04/2018 à 1:59
PySide 2 revient sous le nom de Qt pour Python
la bibliothèque d'interfaces graphiques devrait avoir sa première préversion début juin

Qt est la bibliothèque de création d’interfaces graphiques de référence en C++, en proposant moult manières de créer ses interfaces : par une approche classique à base de widgets, par un langage déclaratif (QML), etc. Ceci, sans oublier que Qt fait bien plus que des interfaces graphiques : une bonne partie de ses modules n’a aucun rapport avec elles, se concentrant sur toutes les autres fonctionnalités intéressantes pour une application (impression, accès au réseau, fonctionnalités multimédias, etc.).

Python est un langage qui monte sans cesse, notamment pour la création de sites Web et l’analyse de données, mais aussi pour les interfaces graphiques. Des déclinaisons de Qt pour Python existent depuis un certain temps : PyQt existe depuis Qt 3 (mais sous licence GPL ou commerciale), PySide depuis 2009 et Qt 4.5 (la première version de Qt sous LGPL : à l’époque, Nokia a soutenu PySide comme solution LGPL pour Python). Cependant, PySide est peu à peu tombé en désuétude ces dernières années, restant bloqué à Qt 4 ; PyQt continue son développement à un bon rythme.

Le projet Qt prévoit depuis un certain temps de faire revivre PySide… et la situation s’améliore de jour en jour. Il aura fallu deux ans de travail, mais les fruits sont bientôt mûrs. Le projet change de nom : il ne faudra plus parler de PySide 2, mais bien de Qt pour Python. L’idée est probablement d’éviter d’ajouter un numéro de version inutile pour se calquer sur les versions de Qt. D’ailleurs, la première préversion technologique sera disponible peu après Qt 5.11 (ce dernier étant prévu pour fin mai).

Télécharger Qt pour Python (version encore instable).

Source : Qt for Python is coming to a computer near you.
Avatar de vayel vayel - Inactif https://www.developpez.com
le 16/04/2018 à 10:01
pourquoi utiliser pyside alors qu'il existe pyQT5 ? c'est faire 2 fois la même chose non ?
Avatar de tyrtamos tyrtamos - Expert éminent https://www.developpez.com
le 16/04/2018 à 10:49
Bonjour,

Citation Envoyé par vayel Voir le message
pourquoi utiliser pyside alors qu'il existe pyQT5 ? c'est faire 2 fois la même chose non ?
La licence n'est pas la même. Celle de PyQt est plus contraignante.
Avatar de archqt archqt - Membre actif https://www.developpez.com
le 16/04/2018 à 21:53
Je suppose que cela permettra d'avoir du LGPL + Commercial, contre simplement du GPL+Commercial pour pyQt
Avatar de mintho carmo mintho carmo - Membre averti https://www.developpez.com
le 18/04/2018 à 14:39
Comme dit dans le premier post, pyside appartient a Qt Compagnie, pas PyQt. Donc il est logique qu'ils bossent dessus.
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -