There are few commercial programs whose history is more intertwined with the rise of free software than Nokia's Qt toolkit, originally created by the Norwegian company Trolltech. As one of the company's founders, Haavard Nord, told me nearly ten...
There are few commercial programs whose history is more intertwined with the rise of free software than Nokia's Qt toolkit, originally created by the Norwegian company Trolltech. As one of the company's founders, Haavard Nord, told me nearly ten years ago, when I was writing Rebel Code, Qt began life as a purely proprietary product, but with a free version specifically aimed at free software programmers:
“We did that right from the very first day,” Nord notes. The reasons for this were a mixture of the pragmatic and the idealistic. “One of the options” for promoting the new Qt when it appeared in 1996 “was to get venture capital,” he says, “and start spending the money doing advertisements, showing the toolkit to professional customers via magazines and so on. The second one was to simply give away a version for free so people could start using it” and learn about its virtues directly. Trolltech chose the latter course, partly because they had another motivation. “[Co-founder] Eirik and I had from the start been using Linux, GCC and Emacs,” Nord explains, “and we appreciate very much using free software. So this was a way we could contribute back to the community.”
Qt became more directly involved with the free software world when Matthias Ettrich chose it as the basis of his K Desktop Environment (KDE) project
“Everybody joining looked at alternatives [to Qt],” Ettrich explains, “and we had a long discussion: Shall we do it with Qt? And the result was [we decided] it's the best technical solution if we want to reach the goal that we have.”
As Ettrich explained, he regarded the licensing issue as a matter of “personal opinion”:
“If somebody tells me I will not use your free software because of the library that has a licence I don't like, I didn't really care because I had experienced the same thing with LyX [his document processor]. There's basically two kinds of software, good software and bad software.”
It's the classic pragmatist position – one that software purists always take exception to. The non-free nature of the Qt libraries at the time meant that KDE became a bastion of pragmatism; but it also meant that the purists were moved to come up with their own solution: the GNOME project, based on the Gtk+ toolkit that Peter Mattis had created for the GIMP image manipulation program, one of the very first major free software applications. Thus Qt played a major role in the birth of the two leading rival free desktops, KDE and GNOME.
Trolltech was acutely aware that its licensing was causing problems for KDE, and tried to help by forming the KDE Free Qt Foundation:
“We knew that the KDE guys were a bit squeezed,” Nord says, “and they were under pressure from other people.” The reason, he explains, was the not unreasonable fear that “OK, [Qt is] free software now, but if the Trolls are going to change the licence in a couple of years, we are then stuck with all this KDE software and we can't continue developing it because now Trolltech wants money from the licensing.” The KDE Free Qt Foundation, set up in April 1998, ensured that a free version of the Qt libraries would always be available, even if the company were sold or ceased trading.
Trolltech went even further soon afterwards:
Eventually, Trolltech decided to draw up a new licence for the Qt libraries, the Q Public Licence (QPL). [Caldera's] Ransome Love, “worried by all the arguments about the Qt licensing”, Nord believes, because Caldera was using KDE for its distribution, put Trolltech in touch with Bruce Perens and Eric Raymond, who were asked to take a look at the licence. “It was quite overwhelming,” Nord says, "they helped a lot.” The resulting QPL, released in November 1998, at last seemed to solve the remaining problems with Qt for all but the most demanding free software advocates. “Many of the people who were against Trolltech and Qt thought that now we had come far enough,” Nord says.
And yet Trolltech went even further, adding the GNU GPL licence as yet another alternative for the libraries in September 2000.
Things have remained pretty quiet on the licensing front until now:
Nokia today announced that its Qt cross-platform User Interface (UI) and application framework for desktop and embedded platforms will be available under the Lesser General Public License (LGPL) version 2.1 license from the release of Qt 4.5, scheduled for March 2009. Previously, Qt has been made available to the open source community under the General Public License (GPL) license. In addition, Qt will now be available from the new domain, www.qtsoftware.com.
As the press release goes on to explain:
The move to LGPL licensing will provide open source and commercial developers with more permissive licensing than GPL and so increase flexibility for developers. In addition, Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities. With these changes, developers will be able to actively drive the evolution of the Qt framework.
The LGPL is more “permissive” than the GPL in the sense that it can be used more easily with proprietary code. This is likely to make it much more attractive to companies who remain sceptical about free software. Its cross-platform nature will make it a strong contender in a world where computing activities are increasingly spread across multiple systems: desktops, laptops, nettops, mobiles. Being able to offer a consistent user interface, and to port code easily between platforms, is becoming indispensable for toolkits.
At the same time, opening up the code repositories will make Qt more popular with the hardcore free software programmers. As a result, these most recent moves by Nokia (which is also open-sourcing its Symbian code) will provide a major boost to KDE, and put pressure on GNOME.
That's not necessarily a bad thing: if the Qt saga shows anything, it is that the free software world thrives on competition. It was Qt's licence issues that led to the creation of GNOME, and GNOME's choice of licence that moved Qt progressively closer to the GNU GPL and now the GNU LGPL. Qt's journey from completely proprietary to fully open may now have been completed, but the story of the free desktop environments continues with the opening of an exciting new chapter.