Vor rund einem Jahr verkaufte Nokia die Rechte zur kommerziellen Nutzung von Qt an Digia. Seither hat Digia eine kommerzielle Embedded-Version von Qt mit Anbindung an mehrere Echtzeit-Betriebssysteme entwickelt.
Um genau zu sein: Nokia hat alle Rechte an Qt verkauft, die es selbst nicht nutzt. Behalten hat Nokia das Recht zur kommerziellen Nutzung von Qt auf Mobiltelefonen, wo es z.B. auf dem Nokia N9 zum Einsatz kommt. Nokia nennt "sein" Qt nun in Abgrenzung zu Digia "Qt for Nokia". De facto handelt es sich dabei aber um dieselbe Source, die nur unter anderen lizenzrechtlichen Bedingungen eingesetzt wird. Auch die Open-Source-Versionen von Qt gibt es selbstverständlich weiterhin, in Varianten für Linux/X11, Windows und MacOS X. Das ursprüngliche Qt Embedded heißt inzwischen Qt for embedded Linux. Außerdem gibt es Qt für Windows Embedded Compact. Alle diese Qt-Varianten darf Digia kommerziell verwenden und weiterentwickeln. Nur im Bereich mobiler Plattformen, von Mobiltelefonen und Windows Mobile darf Digia Qt kommerziell nicht nutzen – dieses Recht hat sich Nokia vorbehalten.
Kommerziell oder Open Source?
Bezüglich der Weiterentwicklung hat Digia an der Anbindung zu bekannten Echtzeit-Betriebssystemen gearbeitet. Im Herbst 2011 erfolgte die Freigabe der Version für Green Hills Integrity, Ende 2011 dann für QNX und kurz vor der embedded world kam noch Wind Rivers VxWorks dazu. Weitere offizielle Adaptionen sollen vorerst nicht folgen. Allerdings weist Digia darauf hin, dass es durch den offenen Quellcode jederzeit möglich sei, Qt auch an andere, auch In-house-Betriebssysteme anzudocken – dann allerdings muss der Kunde Adaption und Test selbst übernehmen. Der Vorteil der kommerziellen Versionen "Qt Commercial" liegt darin, dass Digia bei diesen Versionen die Integration ausgiebig testet und Support zur Verfügung stellt.
Vom Grafik-Framework zur Entwicklungsumgebung
Qt dient vorwiegend dazu, grafische Oberflächen zu erstellen, die sich über verschiedene Betriebssysteme hinweg portieren lassen. Inzwischen enthält Qt aber auch zusätzliche Elemente, die es fast zu einer vollständigen Entwicklungsumgebung für Embedded-Anwendungen macht. Dazu zählen z.B. typische Middleware-Komponenten wie Dateisystem, Netzwerkzugriff, Datenbank, Spracherkennung oder die Anbindung an Sensoren wie z.B. Navigation oder Beschleunigung.
Zwar bieten auch die Hersteller der Echtzeit-Betriebssysteme ihre jeweils eigenen Tools zur Erstellung grafischer Oberflächen an, aber natürlich sind die damit entwickelten Bedienschnittstellen dann stets an das jeweilige Betriebssystem gebunden. Das Feature der Portabilität bietet nur Qt. Der Nachteil: Man hat zwei Grafik-Implementierungen im System, was zusätzlichen Speicherplatz kostet, der bei Embedded-Systemen oft knapp ist. Qt bietet durch modularen Aufbau zwar die Möglichkeit, einige Funktionen auszusparen und nicht auf das Gerät zu übertragen, aber i.d.R. wird der Ressourcenbedarf höher sein, als mit einer nativen Betriebssystem-Oberfläche.
Was Bedienkonzepte betrifft, ist Qt durch seine Verwendung als Smartphone-Oberfläche gut für moderne Konzepte gerüstet. Animationseffekte und Gestenerkennung gehören zum Standard-Repertoire. Allerdings halten diese Oberflächen bei industriellen Produkten nur langsam Einzug. Weit schneller in der Adaption sind hingegen Consumer-getriebene Industriezweige wie etwa die Automobilindustrie. Hier erwartet der Kunde auf seinem Bordcomputer ähnliche Bedienkonzepte, wie er sie vom Smartphone schon gewohnt ist. Ebenfalls erstaunlich innovativ ist laut Digia die Branche für medizinische Geräte, weil es sich hier oft um portable Geräte handelt.