AUG
13
2014

KDE Frameworks Sprint - How to Release a Platform

DSC_0538
Konqui finds the Spectacular Montjuic next door to the KDE office.

KDE Frameworks 5 is the result of two years of hard work porting, tidying, modularizing and refactoring KDELibs4 into a new addition to the Qt 5 platform. In January, Alex Fiestas announced The KDE Barcelona Hub—an office where anyone is welcome to come and work on KDE projects. It was just what the Frameworks team needed to finish off the code so it could be released to the world. Read on for some of what happened.

Aurelien Gateau reports:

I spent most of my time working on translation support, ironing out details to get them to install properly and working with David [Faure] on the release tarballs scripts. I also worked a bit on KApidox, the code generating API documentation for KF5 on api.kde.org. I updated the script to match with the latest Framework changes and switched to the Jinja2 template engine. Using Jinja will make it possible to generate an up-to-date list of Frameworks on the landing page, based on the information from the Framework metainfo.yaml files.

api.kde.org now contains a complete list of Frameworks thanks to Aurelien with Frameworks 5 now the default option.

Alex Merry spent his time on the small but tricky tasks all software needs to be of a high enough quality for release.

Friday was spent trying to understand the KItemModels unit tests and figure out why one of the tests was failing. I eventually determined that the pattern of signal emission when moving rows around had probably changed between Qt4 and Qt5, and the fix was fairly simple.

He also reports on other important topics such as install paths, meta data files and writing the Advanced Git tutorial.

One important discussion that took place in Barcelona was on the KDE Frameworks Release Cycle. We made the controversial decision to do away with bugfix releases and instead have monthly feature releases. Although some distribution packagers noted concerns about the lack of stable release updates, this is the pattern Frameworks is now following, which allows for much faster turnaround of new features.


The Post-it notes kept things orderly

Few people have done more to help the Frameworks project than Kévin Ottens who kept the weekend ticking over by sorting the post-it notes with tasks and highlighting notes which were taking longer than expected to progress. He highlights the processes that the team are following to allow for monthly releases:

  • more dog fooding from framework developers;
  • more contributions from application developers;
  • more automated tests and peer reviews;
  • finer grained feature delivery.
  • Aleix Pol spent his time "Mostly moving things around in the CMake, especially install variables that got changed to make them more compatible with Qt 5".

    Alex Fiestas reports "Kai and I worked on Solid, we added QML support and designed the new asynchronous power management api".

    One of the people who has been a constant throughout the development of KDE's platform is David Faure. He spent time working on the scripts that make releases possible without much overhead.

    It was a successful week that wrapped up many of the loose ends that were needed to allow for last month's successful release of Frameworks 5. With Plasma 5 now out and Applications releases on their way, Frameworks can be assured to be a platform for future work for years to come.