Skip to content

Report From KDEPIM Sprint 2023

Sunday, 2 April 2023 | Kevin Ottens


The KDEPIM team like most got impacted by the pandemic and had to let go of lovely traditions. One of those being to meet in Toulouse at the beginning of spring. The last one was in 2019 so reviving that meeting was long overdue.

Since the last time, quite a few things changed in Toulouse of course… for instance the old venue wasn’t available anymore. Luckily, with a couple of friends we revived the local C++ Workshops a few months back in a new venue as well. Since it is a cool fablab very well situated in the town center we asked them if they’d be ready to host Free Software hackers for a whole week-end and they happily agreed to it.

Thanks to this nice conjunction of events, we organized the KDEPIM Sprint 2023 the first week-end of April

The Warm-up

Some of the team (namely Ingo and Volker) arrived early before the official start. Of course, we planned for that and had access to the venue from the Friday afternoon.

But before heading there, we had to visit the now mythical Cake Place™ for lunch. With a pair of happy hackers fully loaded with fat and sugar, the work could start.

Happy Ingo and Volker

We thus finished preparing and planning what would happen during the week-end once we would be joined by Laurent and Carl. We also managed to get started on some of the explorations around KCalendarCore which would end up being a recurring theme for some of us.

Day 1

After a quick breakfast at the venue, we started listing the topics we wanted to discuss during the sprint. Most of it was already captured on the wiki before we arrived but a couple more appeared at that point.

We basically identified two types of conversations:

  • those for which we needed bigger discussions with everyone to set the overall direction;
  • those for which we already had agreement on the direction but needed a finer grained look at them to actually have a proper battle plan, they didn’t require everyone and we did break out groups for those.

All of this was time boxed with proper debrief and capturing notes on the wiki to try to avoid loosing too much context. This pretty much filled up our day but we managed to have a few patches done during that time.

Processing discussions

As for the conversations they covered mostly the following topics:

  • decoupling KDAV from KIO
  • easing the use of KCalendarCore::Calendar for asynchronous code (since it exposes a synchronous API)
  • overall shrinking KCalendarCore::Calendar’s API, it’s fairly large and unfocused currently, we want to focus it on an easy to use core
  • deciding on a new custom properties API for KCalendarCore
  • retiring the mixed maildir and the kolab resources which is easier said than done, since we want to ensure minimal disruption for the users using those resources
  • improving the Windows compatibility, especially important for Kalendar at the moment
  • retiring the Kross based account wizard for a modern QML one
  • fixing important dependencies in akonadi-contacts to reduce reliance on widgets (necessary for Kalendar and mobile)
  • using QtKeychain in KMailTransport properly
  • removing the KMailTransportAkonadi API
  • eliminating Kalendar’s reliance on some of the KOrganizer settings
  • improving our APIs for QML consumption and factoring out some of Kalendar internals for reuse
  • and of course, planning and the overall timeline towards a “PIM 6” release

The KDEPIM team being currently fairly small, one of the constant concern which forced some of the choices we made was to keep it realistic. It’s no use to make grand plans we can’t execute on the large codebase we have to maintain with only a handful of people.

Now if more contributors are coming in (hint hint) we could of course be more ambitious at places in the future. We definitely have the ideas, so if you want to have fun and help, get in touch!

Day 2

We managed to conclude the last discussion we planned before Laurent had to head back home. This means we successfully covered all of the 15 topics we had to deal with while everyone was around. We tried to make sure they all led to actionable items.

All done... creating actions

That’s why to plan and drive the effort, we created a new project on Gitlab. This already got filled with the results of our discussions. Some of the issues being actively worked on as I’m typing this. Merge requests are already pouring in various PIM related repositories!

I’m looking forward to running my scripts on said repositories in a couple of weeks to see how noticeable the uptick of activity will be. ;-)

Last but not least

I’d like to thank Artilect and KDE e.V. to make this event possible. This wouldn’t be possible without a venue and without at least partial support in the travel expenses.

Also, I’d like to give a special thanks to Sébastien Dinot who has been my partner in crime pulling this off. He’s been a big help with some of the logistics and a very patient key master.

Finally, if you like such meetings to happen in the future so that we can push forward your favorite software, please consider making a tax-deductible donation to the KDE e.V. foundation or contacting Artilect for a donation as well (they unfortunately don’t have a donation page up yet but that’s coming).