Nokia announced that it would be pursuing an open
governance model for Qt in June of 2010 at Akademy. After nearly a year
of discussions and preparation, Thiago Macieira provided an update at Camp KDE outlining the governance model
that Nokia would be pursing and the next steps. Though Macieira did not have all of the details, it seems that Qt will be reasonably open for a project that began life as a non-free toolkit.
Macieira, a senior product manager for Qt Software under Nokia, noted
early in the talk that this was really another step in a long process of
opening up Qt. From its initial humble beginnings as a non-free toolkit to
an open source license, then the GPL license, then finally adding LGPLv2.1
and making all development open to the public. Once there were only daily
snapshots, and before that even less visibility, now Macieira says "it's not really news" that Nokia continues to open up Qt development and governance.
Not surprising, perhaps, but still newsworthy and interesting to the KDE developers who depend heavily on Qt and may have been quite worried about its future following — as Macieira put it "the events of February 11" when Nokia announced its partnership with Microsoft.
Why is Nokia doing this? Macieira says it's in Nokia's best interest, in
that Qt is growing "faster than what we can or should grow" in
reference to Nokia's Qt R&D team. He continued:
It's in our best interest that others use Qt but don't depend on us doing
everything for them. [We] don't want to do everything, can't do everything
people want to do with Qt, let people join in and do what they need.
What will be happening now? Macieira says that Qt will be developed
using open participation, which is "what Qt developers have always wanted, not what KDE has always wanted, what our engineers have always wanted." He noted that the model that Nokia had chosen for Qt would be more akin to the way the Linux kernel team works, with a distributed approval system, with public discussions and decision-making on mailing lists. He noted that with KDE development "everybody works on what they want to work on" which wouldn't work well for Qt development.
Though KDE is a very visible consumer of Qt with a long history of
working with Nokia (and before it Trolltech) on opening Qt, KDE was
not the only project that has influenced its open governance model.
Macieira noted that MeeGo and Qxt have also been
Code will make it into Qt after it's been approved by maintainers and has passed regression testing. Anything that doesn't pass regression testing will be backed out. Historically, says Macieira, they would be reluctant to accept changes in many cases because that meant that Qt developers would be signing up to maintain the changes. No longer — when developers propose changes "it's your responsibility now, if you broke a test, it's your responsibility to go fix it."
As for the actual "governance," Macieira says that Qt will not have an elected board or anything like that — simply a tiered system that starts (at the bottom) with contributors, then approvers, then maintainers who have responsibility for a given module or port (such as Webkit), and finally the "Chief Troll" who will lead the maintainers. The Chief Troll, of course, would be analogous to Linus Torvalds. Who will be the Chief Troll? Macieira wouldn't say, but said they "have an idea" who would be taking the troll role.
Macieira says that the timeline for the announcement is "within
the next two months" but it could be sooner. He says that Nokia
now needs to contact the people that it has been considering and
asking if they're willing to take on the maintainer and Chief Troll
roles. "As soon as we get the people to say yes, we'll probably
announce," he said.
Filling out the project
Macieira says that the system will be bootstrapped by Nokia and many positions will be filled by people already in the organization, though he also said that the company would ask external contributors to be maintainers as well. He said that maintainers would "naturally appear" from the people contributing to modules, and that there would likely be changes after a shaking out period where maintainers had a chance to establish themselves. Some might decide, for example, that they didn't wish to keep the responsibility.
There will be other roles as well — QA, release management, project management, community management, and so on. This was a bit sketchy, but it seems to follow the model used by many companies that sponsor FOSS development projects. He asked the community to "see how it goes" and "there will be adjustments." He also invited the audience to the upcoming Qt Contributor's Summit to meet other developers and participate in the process.
Though Nokia is committing to a more open governance model, it's worth noting that the company is not turning everything over to the community. The company will continue to hold the trademark, and it will continue to ask developers to sign its contributor agreement so that the company can continue to offer Qt under commercial license as well as under the GPLv3 and LGPLv2.1.
However, Macieira says "there's no ownership here" aside from the trademark. Contributors have to allow Nokia rights to use the code to contribute, but the contributor agreement doesn't require them to sign copyright over to Nokia fully — contributors still retain the copyright. Macieira says that, because Qt is under the LGPL "anybody can take it elsewhere" if they're unhappy with the way that the community is run or the direction of the project, or for any other reason. However, he says that Nokia "wants to make it so that this community is attractive, and that people can come and work with us. Your needs can be met inside so you don't have to fork. "
After the presentation, I asked Macieira to identify the biggest
hurdle for Qt open governance. He said there was not a single major
issue, but "a lot of small issues" that could derail the
project. In particular, he cited the lengthy process of opening Qt:
We've been at this a long time and we're risking losing the
interest and participation of key influential people. Without them, we
may be unable to convince that this is a legitimate effort and to get
the necessary training of people external to Nokia
KDE and Nokia
How does the KDE community feel about this? Cornelius Schumacher, a KDE
developer and president of KDE e.V., was at Macieira's presentation. He says that it will "make it easier for us to directly contribute to Qt, and participate in the maintenance of our foundational toolkit." Schumacher also credits Nokia for being very open about the process and inviting the community to participate. Though there are a number of details that need to be worked out, he says that he's optimistic that it will work out well.
That seems to sum up the feeling of most of the audience — Nokia seems to have quite a bit of goodwill in the KDE community and seems to be on the road to a model that will work well for the larger Qt community. Macieira emphasized a number of times that the governance model that was outlined is simply what Nokia thinks will work based on its observation of other well-functioning communities and feedback it has received in the process of moving to an open governance model. Macieira asks the community to work with it and see what works, and what doesn't.
Nokia may not be going quite as far as some community members would wish, but it does seem that the company is making a very good faith effort and satisfying most of the community's concerns. The devil, of course, is in the details — it will be interesting to see who Nokia appoints as maintainers and "Chief Troll," and how many of the decision-makers initially are from outside the Nokia corporate walls. A clearer picture should be available after the Qt Contributor's Summit in Berlin in June.
to post comments)