Monday, June 27, 2011

Putting things together

Half a year ago there was a thread on the kde-core-devel mailing list with the topic "why kdelibs?". I gave a potential answer and this resulted in a series of great discussions. While these discussions were very constructive, it was pretty clear, that we would need an in-person meeting to finally answer the question about the future of the KDE platform.


At the same time Mario was preparing the third KDE developer meeting at Randa, Switzerland. It began with a Tokamak sprint in 2009, continued with a combined KDE multimedia and KDE edu sprint, and for 2011 he was preparing a triple sprint with KDE multimedia, KDevelop, and Nepomuk. Mario put up with the adventure and offered to host another sprint as well, so we put things together and added the Platform 11 sprint to the list.


The sprint ended two weeks ago. It turned out to be four and a half sprint in one, with the kdenlive gang joining us for some extended hacking fun. Almost sixty KDE people were in the middle of the Swiss mountains, coding, discussing, and plotting the future. It was an inspiring and productive event, thanks to the hospitality of Mario and his team (including his family), thanks to the incredible energy, which is unleashed, when KDE people get together. I have been at many sprints over the last years, but it still amazes me every single time, that it immediately feels like meeting old friends, even if you have never met the people in person before. But it's more than just a bunch of friends. It's a group of professionals, putting an incredible amount of passion, creativity, and talent into KDE. This makes these kind of events unique and it's stunning what can be achieved there.

For me the most important result of the Platform 11 sprint was the consensus we built about where we want to move the KDE platform. It's about making the components we provide more accessible to developers, expanding our reach, and cleaning up our technology. We'll go with more modular frameworks with less dependencies, which can be used naturally along other Qt libraries, and a release process which will deliver our work quickly. More details are described in a series of mails about the future of our frameworks from Sebas, the intended organization of our frameworks from Kevin, a plan to transition to KDE frameworks from David, and the KDE git workflow from me, on the kde-core-devel mailing list. To reflect the changes we'll refer to the KDE libraries and required runtime components as the KDE Frameworks in the future and retire the use of the platform term. This expresses well, that KDE provides utility for building great applications, but isn't tying users or developers to a monolithic block of dependencies.


What happened to the idea of merging the KDE development platform and Qt? It was a radical idea to trigger some thoughts, not a plan how to actually proceed. The main goals behind the idea, to make the KDE libraries more accessible, lower the barrier for developers using the libraries, to remove redundancies, to clean up the developer story, grow the developer community, and provide a consistent story to users, they still hold. A lot of what we discussed at Randa goes into this direction. Libraries will become more self-contained and we'll try to put quite some code into Qt. For a full merge neither Qt nor KDE are ready yet, so I think it's a good solution for now, to work on the concrete plans we came up with at Randa along the goals of making the KDE frameworks more easily accessible and available to a wide audience of application developers.

The other sprints happening at Randa also created impressive results. The multimedia guys were putting together the bits and pieces around Amarok, Phonon, PulseAudio, and KMix, and kdeenlive joined the KDE community. At the Nepomuk sprint the Zeitgeist and Nepomuk developers came up with a plan how to integrate their technologies, putting together the best parts of semantic technology on the free desktop. The KDevelop group was tremendously focused, they weren't really visible to me. When I was leaving Randa I met Alexander Dymo at the train station, as we took the same train, and he told me that they managed to check off all their todo items during the sprint. That's impressive, and it reflects the spirit of the Randa meeting.


We had a great mix of people at Randa, KDE dinosaurs and fresh blood, people central to the community for years, and people just joining. We had some friends from the GNOME community there, and we had local people being interested in what we were up to. Even when taking a walk through a bit of the mountains around Randa, we met people interested in what we were doing and ended up discussing KDE.


In the end to me the dominant theme of the meeting was putting things together. We did that with our plans for the KDE frameworks, we did that with various parts of the community, we did it with our relation to other communities, and of course we put quite some code together on top of all that.

2 comments:

  1. Nice to hear the merger is progressing!

    However, are there any documents/wikis/pages that illustrate what is going to be merged and with what part of Qt? Or is this Top Secret(TM) at the moment? :)

    ReplyDelete
  2. @Ignat: It's not secret at all. There are some bits on the Platform 11 Wiki, e.g. http://community.kde.org/KDE_Core/Platform_11/Eliminating_Duplication_With_Qt, and there is more on the Qt contributor's summit, e.g. http://developer.qt.nokia.com/groups/qt_contributors_summit/wiki/QDateTime. We are still a bit limited by Qt not having opened up completely. There hopefully is more to come, when Open Governance for Qt becomes a practical reality.

    ReplyDelete