Qt and Open Governance
It has been a while since my last blog. Last time, I talked about how the Qt repository in Git was one year old. It was a humorous way of showing the growth and success of our contribution model. Or, at least, that's what I intended...
For the past two months I have been working with a group of people inside Applications and Service Frameworks (the unit of Nokia that is responsible for Qt) on opening up our way of working even more.
The change to open the governance model more is the natural continuation of what we've been so far: Open Source is the foundation of the future work in Nokia, as can be seen by the Symbian Foundation, the MeeGo work we're doing with Intel and the Linux Foundation, and especially Qt. And this is not news for Qt either: for over a decade we've been opening up our model: the QPL, the GPL, the LGPL, the daily snapshots, the open repository, the contribution model, etc.
Last year we created the contribution model, whereby anyone could contribute code to Qt. To enable that, the open repository was clearly necessary, as contributors need access to the latest changes and to the individual commits. It has been a success, with hundreds of merge requests integrated in Qt and Qt Creator.
The next step is even more open governance. The model we have selected is that of a typical Open Source Project. That is to say, beyond contributing code to Qt, we want to allow people to know even more where the project is going, and get involved in its actual development process and decision-making structure, like a many Open Source projects do. The rationale is very simple: we want people to be informed and involved – and involved deeper than just adding one-off patches to the projects. It’s the best thing we can do to show our community how much we want them to use, support and grow Qt with us.
A few things are clear to us that we will need to open up in order for this to happen. It's clear that we will need to move our technical discussions to the public, as well as the decisions that affect the product, like roadmap and schedules. We will also need to somehow give the community access to the QA process, like test results and reports, coverage reports, integration reports.
And we'll also need to open up the decision-making structure. That is to say, contributors who have shown themselves to be trustworthy and good at what they do deserve the right of having a say in the decisions. Take, for example some of the contributors of the past year: there are a couple of cases where they know the code better than people working in the Qt offices. We have come quickly to the point where we have to say "I trust you that this contribution is good". This is part of the meritocratic process that we want to have in place.
While those basic things are clear to us, we can't claim to have thought of everything. This is where you come in: we need input and help in making this happen. We need to come up with a way of working that works for both us and for the rest of the community. We have an idea what might work for everyone involved, but those ideas need refining.
So, what we'll do soon is start these discussions; in public and with the public (details to be announced later). Nokians will be participating in these discussions to ensure that we can come up with a model that works for everyone. For example, there are a few legal aspects that will need to be taken care of and we have some ideas on how they could work. All of these details that we have thought of and our initial suggestions on a model will be shared, so as to get the discussions going.
We expect to reach some level of consensus soon. After we (together) come up with a model that works for everyone, please understand that it will take some extra time to adapt to it. There may be tooling work that is necessary, and there may also be changes to the/our way of working. The changes won't happen overnight, but we have reserved some time for them to happen.
In the meantime, we can and probably will start to address some low-hanging fruits.
Anyway, these have been interesting weeks since we decided to go down this route. I'm hoping that the next weeks of discussion are equally productive.
Subscribe to our newsletter
Try Qt 6.5 Now!
Download the latest release here: www.qt.io/download.
Qt 6.5 is the latest Long-Term-Support release with all you need for C++ cross-platform app development.
Qt World Summit 2023: Berlin awaits!
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.