Last week I was writing about the Mozilla European developers conference, and the palpable energy there.
I'm currently at the Qt Developer Days, surrounded by some 700 Qt hackers: since Qt is pronounced “cute” this makes for some amusing puns. But cute or not, there is a similar atmosphere that augurs well for the open source project.
The excitement rose even higher during the last keynote of the morning, which was about a new language for creating a “declarative user interface”, called QML:
Declarative UI is a way of making fluid user interfaces by describing them in terms of simple elements (Text, Image, Rect,and other QObjects) that are built up into components.
The reason it is “declarative” is that rather than the changes in the UI being expressed as imperative code (”set this, set that, do this, do that, …”), they are instead expressed as sets of QObject property expressions (”this width is always half that width”), grouped into states (”when enabled, the properties are …, when disabled, they are …”). The language that enables this is named QML. QML is simple yet powerful.
Another reason the geeks in the crowd were getting so excited was that the keynote was given by Matthias Ettrich, who occupies an important place in the free software pantheon, since he started and led the KDE project in the beginning. When I interviewed him nearly ten years ago, he told me how the name came about.
He said he wanted to create a Linux Desktop Environment (LDE) without calling it that; he couldn't call it MDE, since that would look like Matthias' Desktop Environment, so he choose the suitably neutral K Desktop Environment.
As I wrote on this blog at the beginning of this year, KDE and Qt had a slightly rocky start to their free software journey – one that ended only recently with the release of Qt under the LGPL. That was always a fascinating move for Nokia, which bought Trolltech, the company behind Qt, last year.
It was especially interesting since it came hard on the heels of Nokia's earlier decision to open up Symbian, which it had also acquired that year. I finally have a slightly better idea of why that all happened.
That's thanks to Sebastian Nyström, Vice President Application & Service Frameworks, Devices at Nokia – basically the boss of the Qt arm. He gave the opening keynote of the Qt Developer Day event, and I spoke to him afterwards to explore in more detail how Nokia fell in love with openness.
It turns out that Nyström, who was already working for Nokia at the time, took on responsibility for Trolltech when it was acquired, but at the same time was helping to close the Symbian deal, too. Shortly afterwards, Nokia announced that it was open-sourcing Symbian; then in January of this year, it made Qt available under the LGPL.
Nyström was one of the key individuals that made this happen in both cases, although he is quick to emphasise that it was not him alone.
What's interesting is that he said that once he laid out the logic of moving to open source, there was very little resistance within the company to doing so. I think that's significant; it means that, just as the GNU GPL has been tested in various courts and found valid, so the logic behind open source – that openness allows software to spread further, and improve quicker, for the mutual benefit of all – is also increasingly accepted by hard-headed business people: it's become self-evident that it's a better way.
I imagine something similar happened a decade ago in IBM, when Irving Wladawsky-Berger and his supporters were pushing for Big Blue to back GNU/Linux. There, it was about unifying a product line that was becoming fragmented and unmanageable. Nokia, similarly, was faced with a range of platforms – low- and medium-level phones, smartphones, mobile Internet devices etc – that need pulling together. Qt's cross-platform nature made it a perfect solution.
Just recently the first fruits of that unified, cross-platform approach have appeared: Qt ports for Symbian and Maemo. Shortly before that, others had been announced, to the real-time embedded operating systems QNX and VxWorks – a sign of future ambitions in this space.
Fortunately for Nyström, the move to the LGPL seems to have paid off: there has been an increase of 250% in the use of Qt among developers – although it's hard to measure such things for stuff that can be freely downloaded, copied and passed on, so this is more of an estimate than cast-iron figure.
More significantly, perhaps, Qt has received some 400 outside contributions to the code so far – a sign that the community is starting to get involved. Perhaps another reason the move to the LGPL was possible is the fact that Qt still derives the majority of its revenues from commercial licences, which the company offers alongside the open source ones.
Looking to the future, Nyström sees faster release cycles – rather like Firefox – so that new features can be brought in quicker. One feature that many people will be waiting for is the QML language mentioned above; this is currently a project in the labs, but may emerge fairly soon, which should delight those Qt hackers.
This will also feed into what Nyström sees as key future development for Qt (and connected computing generally): the convergence of Web technologies with traditional platforms.
My impression is that Nokia is now really engaging with openness in the wake of buying Trolltech and Symbian. Clearly, it still has a lot of work to do, both generally in terms of supporting openness elsewhere in the company, and more specifically in terms of establishing Symbian as a major open source player. Uniting it with the popular Qt should help change people's perceptions in this regard.
It also occurred to me that Qt's continuing vigour will provide the KDE project with a handy fillip in coming months. As I've said before, I see the friendly rivalry between KDE and GNOME as a sign of strength for the free software world, and Nokia's evident commitment to Qt can only enhance that.