Las dichosas licencias de Qt

Un debate que se repite mucho en las listas de correo, foros y/o otros tipos de comunidades de software de código abierto es sobre la licencia que tienen las librerías Qt. ¿Realmente tienen una licencia de código abierto? ¿Esta bien el doble licenciamiento? ¿traicionamos nuestros ideales usándolo? y otro tipo de barbaridades son las que se escuchan habitualmente.

De hecho, mi idea de usar Jambi en un trabajo de la facultad (como comente en otro post) hizo que cuando le muestre el API a mi profesor, uno de mis compañeros diga, en respuesta de la pregunta del profesor respecto a si era libre, en tono despectivo “pero Qt no es completamente libre”.

Lo cierto es que el tema de la(s) licencia(s) bajo la(s) cual(es) de distribuye Qt es un tanto confuso para quienes tocan el tema de oido (entre los que me incluyo) y se debe principalmente a dos cosas. La primera, es que Qt cuenta con tres tipos de licencia, una propietaria pensada para ser usada en desarrollos que sean cerrados y dos de código abierto (GPL2 y GPL3) y la segunda, es que en su tiempo de vida, Qt se enfrento a cambios de compañia y cambios de licencia, no solo una si no tres veces.

En sus comienzos, Qt fue desarrollado por una empresa llamada Quasar Technologies y se presentaba como una API para desarrollar interfaces gráficas en sistemas *nix, cosa que en aquellos tiempos era dificil de encontrar (hablo de 1993 más o menos) todo esto, sumado a la popularidad del entorno de escritorio KDE (desarrollado bajo estas librerías) provoco un gran número de desarrollo de aplicaciones cerradas, lo que obviamente no fue visto con buenos ojos por el proyecto GNU . En vista de ofrecer una alternativa a esta herramienta, se comienza a trabajar en las librerias GTK+, con las cuales se desarrollan en la actualidad gran cantidad de aplicaciones (el entorno Gnome, Gimp, Firefox y un muy largo etc) para no quedarse atras, Trolltech (nuevo nombre para Quasar) implementa en Qt una licencia de código abierto pero que no era aceptada por la Free Software Fundation y es de esta epoca principalmente, de la que nace toda la confusión respecto a estas librerías ya que “eran pero no eran” libres. Sin embargo, en el 2000, Trolltech comenzó a liberar las librerías Qt bajo una doble licencia, una propietaria y la GPL 2. Por último, a partir de este año, Qt, como ya dije, “soporta” tres licencias, la propietaria y las GPL 2.2 y 3. Como dato adicional a esta pequeña historia, se puede agregar que Trolltech fue comprado por Nokia a principios de este año, a pesar de que esto no afecto (de momento, al menos) la filosofia que sigue Trolltech respecto a las licencias de Qt.

Cuando ingresamos en la página de Trolltech y vamos a la sección de descarga, de inmediato se nos pregunta sobre si queremos descargar software “Open Source” (que solo podremos usar para desarrollar software del mismo tipo) o software comercial para desarrollar aplicaciones de este tipo. Acá es donde la mayoría dan el grito de “¡No es completamente libre!” pero bien, tengamos en cuenta dos cosas. La primera y principal es que la versión de Qt cerrada y la versión abierta son APIs distintas, es decir,, yo no podría comenzar a desarrollar software con la versión Open Source y despues simplemente cambiar la licencia para hacerlo comercial. La segunda, es que la propia licencia GPL (tanto en la versión 2.,2 como en la 3) no permite desarrollar software con otra licencia que implemente código que fue liberado bajo dicha licencia. Es decir, yo no puedo tomar código que fue liberado bajo la licencia GPL y usarlo para escribir un programa que tenga otra licencia (por más libre que sea)
O sea, que es un error decir cosas como que Qt “no es del todo libre” ya que tiene las mismas libertades que cualquier otro software liberado con la licencia GPL (la más usada en los programas de código abierto). De hecho, a pesar de que el proyecto GNU desarrollo una licencia pensada para crear (más que nada) librerias llamada LGPL (Lesser General Public License) que sí nos permite licenciar lo que hagamos con ellas bajo una licencia cerrada, la propia fundación incentiva a desarrollar librerias bajo GPL, ya que de esta forma evitamos que nuestro código sea “robado” por aplicaciones cerradas.

Personalmente, no me parece para nada malo ni descabellado que la empresa quiera cobrar por usar algo que luego nos debería reportar ganancias de dinero a nosotros y brindarnos a su vez una versión de este producto, pensado para que podamos aportar código a la comunidad de código abierto. Como dicen ellos, aplican el quid pro quo
Por último, decir que Qt no es el único caso de este tipo de licencias, ya que otros software, com el popular MySQL, implementa algo muy similar.

Bueno, creo que eso es todo lo necesario para entender un poco como es el tema de las licencias de Qt. Desde ya aclaro que para escribir esto, me base un poco en el conocimiento que tengo sobre la historia de Qt y de las licencias, como así tambien de los articulos a los cuales referencio a lo largo del post. Obviamente que puede haber errores, sobre todo en las fechas que menciono, como ya dije en otro post… todo lo que lean acá, son solo apuntes personales.