A principios del año pasado Nokia adquirió la empresa Trolltech, creadores del toolkit Qt, un framework para el desarrollo de interfaces de usuario (GUI) de código abierto y disponible para varias plataformas. Esta adquisición provocó mucha especulación dado que Qt es la base de el entorno de escritorio KDE y al mismo tiempo Nokia ya tenía la plataforma Maemo, basada en GNOME, incluso con productos disponibles para el público general como los equipos Nokia 770 y N810. Para agregar más confusión aun, a mediados de año Nokia adquirió la empresa que desarrolla Symbian OS, el sistema operativo de sus móviles, y lo licenció como Open Source.
Entre las especulaciones que se hicieron estaba el alejamiento de Maemo, un cambio a un licenciamiento más restrictivo de Qt, lo que complicaría a KDE, etc. Desde un principio Nokia trató de tranquilizar los animos y prometió comportarse bien con Qt y al parecer lo están cumpliendo.
La semana pasada Nokia liberó la versión 4.5 de Qt y los anuncios desmienten estos rumores y muestran un futuro prometedor para Qt y otros proyectos en donde se han visto involucrados.
WebKit
La relación entre Qt y WebKit es una historia de amor y odio. Esta historia comienza cuando Apple buscaba un motor de HTML para utilizar en su navegador Safari, una alternativa era usar Gecko de Mozilla y la otra era usar KTHML, el motor de render de KDE creado por Lars Knolls, hoy vicepresidente de ingeniería de Trolltech. Apple se la jugó por KHTML y en un principio no tuvieron una buena actitud con KDE porque los cambios que Apple hacía a KHTML no retornaban o no eran directamente aplicables a Qt/KDE. Después de varias discusiones, Apple publicó sus cambios en su propio repositorio bajo el nombre de WebKit y comenzaron a recibir cooperación de los desarrolladores de KHTML. El resto de la historia ya es conocida: Hoy WebKit es ampliamente usado tanto por los productos de Apple como en desarrollos abiertos, enfrentándose de igual a igual con Gecko y el motor de render de Internet Explorer.
El release de Qt 4.5 hecho por Nokia incluye a WebKit con el nuevo motor de JavaScript SquirrelFish. Este motor mejora notablemente el rendimiento de JavaScript tal como lo está haciendo Google con V8 y Mozilla en SpiderMonkey. SquirrelFish ya es utilizado por Safari 4 de Apple bajo el nombre de Nitro Engine.
Licenciamiento
El licenciamiento de Qt se ha ido abriendo con los años. En un principio la licencia no era compatible con las definiciones de Open Source de Open Source Initiative (OSI) ni de Free Software de la Free Software Foundation (FSF), y esto hacía que el proyecto de escritorio KDE, al estar basado en Qt, tuviera el mismo problema. Un efecto colateral de este esquema de licenciamiento fue que motivó la creación del proyecto GNOME como una alternativa completamente libre respecto a KDE.
Posteriomente Qt pasó a un licenciamiento dual, se podía usar Qt como GPL o bajo una licencia comercial. Si se optaba por el licenciamiento GPL, entonces las aplicaciones tenían que tener un licenciamiento compatible con GPL, pero si se necesitaba usar Qt en aplicaciones con otro tipo de licenciamiento entonces se debía adquirir una licencia comercial para Qt. Dando un ejemplo concreto, esto impedía que Qt se pudiera usar libremente para desarrollos con licencias propietarias.
Hoy en manos de Nokia, Qt 4.5 es licenciado bajo LGPL (Lesser General Public License). En pocas palabras esto quiere decir que Qt entrega todas las libertades de la licencia GPL (General Public License), pero no exige que las aplicaciones que lo usan esten licenciadas como GPL compatibles. Siguiendo el mismo ejemplo anterior, con LGPL ahora se puede usar Qt para desarrollar aplicaciones con licencias propietarias.
Hasta siempre Qtopia / Qt Extended
Dentro del ecosistema de Qt existía Qtopia, posterioremente conocido como Qt Extended. La idea de este proyecto era tener un framework para dispositivos móviles, pero considerando que Nokia ya cuenta con Maemo y Symbian, no tiene mucho sentido tener un tercer componente que se encargue de los mismos temas.
Nokia anunció (literalmente) el último release de Qt Extended a principios de este mes. El desarrollo de Qt Extended como un framework separado de Qt se ha detenido, pero seguirá teniendo soporte por un año. Los componentes de Qt Extended que son un aporte a la compañia pasaran a formar parte integral de Qt, potenciando aún más este popular toolkit.
Links: