Qt 5 s’apprête à sortir, malgré les nouvelles de rachat par Digia ; de même du côté de KDE, l’environnement de bureau pour Linux (notamment), qui s’apprête à sortir KDE Frameworks 5, l’évolution des kdelibs, les bibliothèques de base complémentant Qt sur lesquelles tout l’environnement est construit.
Tout d’abord, quelques constats sur les kdelibs : elles ne sont pas très modulaires ou réutilisables (même si cela change), ont des fonctionnalités qui devraient plutôt bénéficier à toute la communauté Qt, disposent de classes et modules redondants par rapport à Qt (KHTML et QtWebKit, QLocale et KLocale, etc.). Ainsi, notamment, ses différentes parties dépendent fortement les unes des autre (jusqu’à nécessiter l’exécution de plusieurs processus sur le côté).
Grâce à l’open governance de Qt, il est plus facile de contribuer au framework et donc d’y passer toutes les fonctionnalités fournies par les kdelibs alors qu’elles devraient être dans le framework fondation. De l’autre côté de la frontière, il est dans les projets de faire disparaître la distinction entre applications Qt et applications KDE, de manière technique : les nouveaux KDE Frameworks sont aussi prévus pour une utilisation plus large que dans le seul projet KDE. Cela est une bonne nouvelle pour tous : si votre application aurait pu profiter d’une classe ou l’autre du projet KDE, il ne sera plus nécessaire de prendre tout le projet (ou presque) à côté ; une application KDE pourra également être utilisable plus facilement dans d’autres environnements (dans la lignée des initiatives KDE on Windows et KDE on Mac OS X), bien que sans les fonctionnalités d’intégration à KDE.
Ces changements philosophiques dans la conception des bibliothèques profite en même temps des nouveautés de Qt 5, puisque tout est actuellement développé avec, en tête, tant Qt 4 que Qt 5, en préparant une manière facile de porter le code vers Qt 5 lorsque ce temps sera venu (déplacement des méthodes dans des classes temporaires, par exemple, qui seront obsolètes avec Qt 5 mais très utiles avec Qt 4), ceci ne pouvant pas se faire sans quelques grands changements du côté de l’API par rapport aux kdelibs.