Welcome to KDE's Annual Report 2020

By Aleix Pol

Picture of Aleix Pol

The year 2020 will no doubt remain in our collective memories as a special one. We saw struggle both on a personal level and as a society.

Being able to rely on a great community like KDE has been fantastic, and I am glad to reflect on KDE and how we have nurtured our technical aspects as well as the most human ones.

In KDE and Free Software communities, we have always taken pride in developing our products in a worldwide distributed manner. Many of us have been working from home for years, and our contributors are spread across different continents. But we also had to adapt to the real world. We held in-person meetings, and, obviously, Akademy, our yearly conference, was also an in-person event.

In 2020, however, we had to hold Akademy online, as well as several sprints. It wasn't the same as being physically together like other years, but we made the most of it. We managed to keep the conversation alive, working together against all odds, and for that, I am very grateful to everyone who made it possible.

So, despite everything, KDE got a lot of work done over the year, work that today is already in production and being used around the world on a daily basis. Our applications and systems got released, as did some KDE-based hardware, including laptops and even a phone. It's the latter that I see as the biggest irony, in that 2020 will be the year in which KDE and the overall Linux community finally got together and started working towards a polished experience for mobile users. I am excited to see such relevant products available for our community to build upon.

Be it for mobile phones, laptops or desktops, our work continues. We will be glad to have all of you over for a great 2021. Remember to join our goals All About the Apps, Wayland and Consistency and help bring Free Software to the next generation.

Looking forward to a 2021 that will surprise us in more delightful ways. See you all in the community.

Featured article - KDE in Times of COVID

By Paul Brown

There are no two ways about it: 2020 was hard. As the pandemic spread, economies crashed, governments fumbled, and companies closed.

But few, if any, of those things seemed to affect Free Open Source Software communities. FOSS communities, as it turns out, are surprisingly hardy. KDE, and most other communities, chugged along at their own regular pace, pushing out new versions, building and improving frameworks, deploying platforms and adding new features to apps and desktops.

The reason may be that FOSS projects have adopted sustainability as a way of life without even thinking about it. They have become largely immune to many of the crisis that ravages more traditional organizations. Offices? FOSSers don't need offices; reducing air travel was already becoming a thing among Free Software travelers before the pandemic struck; and working and communicating remotely has been the modus operandi for project contributors since the 90s.

In retrospect, if you had been commissioned to harden the admin part of any organization to prepare for the events like those of 2020, you could have done worse than to look to Free Software projects for inspiration. Privacy respecting communication technologies that allow one-to-one, one-to-many, and many-to-many meetings using videoconferencing? Check. Sane workflows that remove redundancies and a dependency on physical resources that would otherwise force workers to carry out their jobs in a shared location? Check. Solid and well-tested frameworks that allow whole teams to collaborate seamlessly on the same projects, even on the same file, from anywhere in the world? Check, check and check.

So, when I asked fellow contributors how the occurrences of 2020 affected their everyday KDE work, the consensus was "not that much at all". Adriaan "Ade" de Groot is a KDE veteran. He was recently elected member of the Board of Directors of the e.V., but he was also on the Board back in 2007 and has been contributing to KDE for decades. Adriaan remarked on how the pandemic has had no effect on his day-to-day contribution to KDE and Free Software: "I still get up in the morning, grab a cup of coffee, and settle in for a day of hacking -- up or down the stack: sometimes in KDE applications, sometimes in CMake, usually in Calamares". Some things have changed for the worse, though: "Much more than previous years I'm missing the 'this person is fun to be with because ...' where the reasons are way outside what can be expressed in IRC. [...] It's a bit lonely without the sense of now-lets-hack-through-the-weekend-together".

This duality of good and bad, of normalcy and loneliness, was a common theme touched upon by everybody I talked to. Niccolò "veggero" Venerandi is newer to KDE and notes that 2020 was "the first year of serious involvement in KDE; [so] it wouldn't be fair to compare it against past years", but Niccolò did manage to keep up a good pace contributing to KDE from January to May. However, again the obligatory isolation of 2020 got the better of him, and he was "saddened by the lack of sprints and [in person] Akademy". Although well-organized, his personal feeling was that the online sprints and events were not as fun as their physical counterparts of previous years.

While it is true that meeting over videoconference can rarely beat meeting in person, online events and sprints do have their advantages. The online Akademy of 2020 attracted 225 attendees from 79 countries who watched 62 speakers deliver live talks about frameworks, projects and KDE-based apps. Attendees also participated actively in BoFs and socialized well into the night, playing games or just chatting. Meanwhile, an attendance of 165 visitors for Akademy 2019 held in Milan was considered a resounding success.

Although meeting in person at interesting locations is undeniably attractive, simplifying remote access via the technology KDE used (a combination of Big Blue Button for streaming video and talks, and Matrix for chatting) in the 2020 Akademy has proven to be a sure way to help more people attend. Moving to a hybrid format, combining an on-site event and making remote access easy will provide the best of both worlds. This is now possible thanks to the Akademy's organizers, the people that quickly reacted to uncertain times, set up a reliable infrastructure at short notice, and put together a schedule to make the most of it.

According to Allyson, a specialist in event-organizing who joined KDE this year, "creating a 'new' version of Akademy showed how adaptive and open to change the KDE Community is".

The successful "experiment" of Akademy led to sprints also being streamed live to audiences. Viewers could interact with the coders, and, again, while working together, but remotely was a poor substitute to working physically elbow-to-elbow for developers, this did not affect the rates of development. Quite the contrary judging by the number of commits: sampling a random selection of ten KDE applications showed that all but one had received more commits in 2020 than in 2019. Percentages of increased activity were usually in the double digits, quite often over 40%, and, at least in one case, over 80%. This indicates that, despite 2020 being, to put it mildly, a complex year for many, KDE managed to not only get through it, but also do so improving on 2019's stats.

I do not want to imply, however, that this state of affairs, that of a lethal pandemic ravaging the world, is desirable for productivity reasons. KDE is not a company and does not hinge its success upon productivity metrics and bottom lines. At the end of the day, human contact in the flesh is important for our people. Continued isolation, without in-person sprints and events, will undoubtedly have a negative impact on the well-being of our friends and fellow contributors and the sooner we get out and become able to meet again, the better.

The point of this piece is not about bragging either. Pointing out how much better Free Software communities are than traditional organizations in circumstances like the current ones is all kinds of petty.

It is more about highlighting the vocation, how the people of KDE have proven capable of identifying early massive issues and have quickly set about developing the solutions to overcome them. Pretty impressive coming from what amounts to a bunch of volunteers with no rigid hierarchical structure.

And therein lies the point: KDE's contributors are so committed, believe so much in what they do, and have so much fun doing it, that they will stop at nothing to carry on hacking.

Supported Activities ‒ Developer Sprints and Conferences

Season of KDE

By the SoK Team

Season of KDE is an outreach program hosted by the KDE community. Every year since 2013, the KDE Student Programs has been running Season of KDE (SoK) as a program similar to, but not quite the same as Google Summer of Code. SoK offers an opportunity to everyone (not just students) to participate in both code and non-code projects that benefit the KDE ecosystem. In the past few years, SoK participants have not only contributed new application features but have also developed the KDE Continuous Integration System, statistical reports for developers, a web framework, ported KDE applications to a variety of platforms, created documentation and carried out many other tasks.

In 2020, SoK ran from 8th January to 17th February. The duration of the tasks were 40 days long and were carried out within the Atelier, Calligra, GCompris, Plasma, Kdenlive, KDE Connect, KDE Web, Krita, KDE Developer Portal, marK, ROCS, and Plasma Mobile projects.

conf.kde.in

By Adriaan de Groot, Anupam Basak, Sashmita Raghav and Subin Siby

conf.kde.in started in 2011 as a 5-day event with 300 participants. This kicked off a series of KDE events in India. Attendees from different backgrounds came to meet each other, give talks, and share in the spirit of KDE. All of these events have been successful in attracting a lot of Indian students to mentoring programs such as Google Summer of Code (GSoC), Season of KDE, and Google Code-In.


conf.kde.in group photo.

conf.kde.in 2020 (CKI2020) was held in Maharaja Agrasen Institute of Technology in Rohini, Delhi, India, from the 17th to the 19th January and generated even more interest and participation, creating a fertile environment for people to get started with KDE, Qt and FOSS through numerous talks, hands-on sessions and demonstrations. KDE contributors from different parts of India attended the event attracting 110 attendees.

This year the event featured a 3-day conference hosting speakers such as Adriaan de Groot, Akhil K. Gangadharan, Akshay Kumar, Anupam Basak, Arjen Hiemstra, Bhushan Shah, Kunal Kushwaha, Piyush Aggarwal, R. Harish Navnit, Ranjith Siji, Rituka Patwal, Shantanu Tushar, Subin Siby, and Wrishiraj Kaushik.

Bhushan Shah opened the conference session with an introductory talk about KDE and the Indian community. Kannan VM talked about how he and his team had helped the Kerala newspaper daily Janayugom migrate to FOSS. Wrishiraj Kaushik, the CEO of Libresoft, talked about open source contributions in the Indian context. Piyush Aggarwal talked about KDE Connect, its advantages and the work that is currently being done on it. Many attendees who were unaware of the concept of FOSS and open source projects were enlightened by a talk by Kunal Kushwaha who talked about contributing to open source projects. The day concluded with a workshop on how to make a basic Qt quick application using CMake.

Day two started with a session on the use of QML in KDE applications by Shantanu Tushar. He showed some interesting ways in which QML can be used to add different UI components in a basic Qt application. Arjen Hiemstra then talked about the process of using QtQuick Scene Graph. Adriaan de Groot briefly then took to the stage to talk about his work on Calamares and translating it to regional languages. Subin Siby talked about how open source contributions started in Kerala and his work on translating Calamares into Malayalam using Unicode. Finally, the day ended with a workshop by Shantanu and Bhushan on using QML and Kirigami Kirigami to make a Qt application.


Sashmita Raghav talks about her work with Kdenlive.

The final day started with a talk by Rituka Patwal, a GSoC student who had worked with Plasma Mobile developers. She talked about digital security and Plasma Mobile’s approach to implementing it. Anupam Basak talked about the ongoing work on the Maui project. He explained the use of MauiKit and the Maui application. He also demonstrated the working of the application on his system. Adriaan then gave a short talk on some of the major KDE Frameworks, their uses and their importance in KDE applications. He later gave a detailed talk on one of the particular KDE Framework: the KMacroExpander. Sashmita Raghav, along with four other SoK students, talked about their respective projects. Finally, the conference ended with a workshop on how to resolve CMake and make errors and how to build a Kirigami application.

Plasma Mobile Sprint

By the Plasma Mobile Team

For the second year in a row, the Plasma Mobile team met in KDAB’s offices in Berlin from the 3rd to the 9th of February to participate in a Plasma Mobile sprint.

We covered many areas:

Shell and Design

Marco Martin re-worked the shell user interface and his blog contains all the details of his progress.

Thanks to Mathis Brüchert, many Plasma Mobile apps got new icons. Mathis also worked on the Plasma Mobile website. The Find your way page’s appearance was updated to be consistent with the rest of the website. Jonah worked on a mobile-friendly open/save file dialog and Linus added quick access to known places to the new file dialog -- this is similar to what you can find in Dolphin, KDE Plasma's desktop file manager. Linus also worked on adding a screenshot action to the top drawer. Marco Martin fixed an issue in kdeclarative that was causing the WiFi settings to show an empty message box.

KWin/Wayland

Aleix Pol implemented the zwp_input_method_context_v1_ protocol in KWin/Wayland, which allowed us to make use of the maliit_ keyboard, ibus and other input methods in Plasma. Aleix also implemented EGL_KHR_partial_update which will improve the performance on ARM GPUs that support tiled rendering. Tobias Fella fixed the bug that had the virtual keyboard stay open when the screen was locked.

Applications

Jonah implemented audio visualization in Voicememo, Plasma Mobile’s audio recorder application. He also reviewed a patch by Rinigus Saar that rewrites the tab switcher of Angelfish, Plasma Mobile’s browser application. Tobias started work on an RSS feed reader and our camera application now has a clear indication of when the properties are checkable. Nicolas Fella worked on cleaning up the dialer’s codebase.

KDE contributor cahfofpai worked on improving the list of mobile GNU/Linux applications. The list now includes new applications like KTrip, Kamoso, voicememo, Ruqola, Kongress, and Keysmith, and was cleaned up by removing some duplicate applications. Workflow for editing the list was also improved and, along with Bhushan Shah, they reviewed the list of currently pre-installed applications in Plasma Mobile.

cahfofpai also worked with Jonah Brüchert on testing various mobile-friendly GNOME applications included in the KDE Neon image. Both developers looked into what needed improvement and tested Flatpak support on the PinePhone's KDE Neon image. They found that the binary factory was not creating arm64 Flatpak builds.

Furthermore, working on Kaidan, a Jabber/XMPP chat client for Plasma and Plasma Mobile, cahfofpai figured out a bug in its Flatpak recipe which prevented the app from detecting the camera. He went on to investigate why KDE Itinerary fails to import files with special characters in their names.

Kirigami

Camilo Higuita and Marco Martin worked on expanding some of Kirigami's features inspired by Maui apps. These included pull back headers and footers, which is a common pattern on Android and that help to focus the app’s main content on small screens. They also fixed some issues in Kirigami’s ActionToolBar which is used in Maui’s SelectionBar.

Work on Maui apps allowed lasso selection when a mouse or keyboard is present, improving the support for desktop systems, while still keeping them touch-friendly.

Android

There's an ongoing effort to make our mobile apps available on Android to grow the target audience and allow people to work on/test our apps even if they don't have a Linux phone. Thanks to Nicolas Fella work during the sprint, it became possible for users to get Kaidan, qrca, Keysmith, and Kongress for Android from KDE’s binary factory and F-Droid's repository. Nicolas also fixed an issue with KNotifications on Android that affected Kaidan.

Then, Volker Krause, Nicolas Fella and Aleix Pol discussed upgrading our Android builds to Qt 5.14, which promised various improvements.

Collaborations

This year we were joined by two UBports developers, Marius Gripsgard and Dalton Durst. The main goal was to foster collaboration between the KDE and UBports communities. We discussed sharing software components for common needs. This includes solutions for content sharing, telephony, permission management, push notifications and configuration management.

We also discussed how to get KDE applications working on Ubuntu Touch and vice versa. Jonah worked on the Ubuntu Touch Flatpak runtime to enable running the Ubuntu Touch application in various mobile distributions. Nicolas convinced Dalton and Marius to upgrade the Qt version shipped with Ubuntu Touch, allowing KDE apps to work there. We also created a proof-of-concept Click package (Ubuntu Touch's package format) for KTrip.

On Saturday, we joined the UBports Q&A, a bi-weekly show hosted by the UBports team, where we discussed the work done during the sprint.

PIM Sprint & Beyond

By Daniel Vrátil and Volker Krause

From the 3rd to the 5th of April, members of the KDE PIM team met online for the 2020 sprint.

During the sprint we discussed

  • Moving KDAV into KDE Frameworks.
  • KParts usage in Kontact.
  • Removing the Kolab Resource and encourage users to use IMAP+DAV instead.
  • Data provider plugins for the KCalendarCore library.
  • Porting Account Wizard away from Kross and port it to QML, eventually replacing it completely by KAccounts.

What follows is an account of what we covered during the sprint and the work we carried out to improve KDE PIM throughout the subsequent weeks.

KCalendarCore Plugin System

Nico Fella worked on this, eventually enabling platform calendar abstraction behind the KCalendarCore API. This means the same application code can be using a calendar from Akonadi on a desktop system and the Android calendar on a phone.

We hopefully managed to sort out the remaining conceptual questions for this -- modeling hierarchies, the lazy population of expensive calendars, separate classes for the calendar metadata or not.

Moving PIM Modules to KDE Frameworks

KDAV was nearing completion for transitioning to Frameworks after the 20.04 release, so we looked forward to solving this in May or June. A final review pass resulted in a few more improvements and API cleanups.

Following KDAV the possible candidates are the KGAPI library, which is already used externally and thus would benefit most, as well as the various email frameworks (MIME, IMAP, SMTP).

KF6/Qt6 Porting and Future-Proofing

The biggest remaining issue with the Kross usage was the account wizard. We considered three possible strategies to solve its problems:

  • Replace the account wizard usage with a KAccounts-based solution.
  • Port the scripted UI part to QML/JS.
  • Port the scripted UI part to a widget-based plugin system.

The KAccounts-based approach would be preferable. The other two options are the fallback plan in case we don’t get that done in time for the KF6 transition.

A less severe issue is the KParts usage in Kontact, David Faure meanwhile largely completed its port to the embedded JSON based plugin loading.

Phasing out the Kolab Resource

There’s a better maintained approach to access Kolab servers nowadays, with a combination of an IMAP and a CalDav/CardDav resources. This means dropping the dedicated Kolab resource in favor of the mentioned approach would simplify things. However, the tricky part is making a smooth transition.

KMail

KMail received its usual dose of bugfixes, including:

  • Fixed a crash when sending an email.
  • Fixed a crash when adding too many recipients.
  • Fixed a bug when KMail showed only a part of an HTML email.
  • Fixed a bug when KMail did not correctly display email answer in HTML mode.
  • Fixed broken message status filter.
  • Fixed the maildir backend creating junk folders around and not storing the path configuration properly.
  • Fixed a crash when configuring the POP3 resource.
  • Fixed name of the top-level folder created by the EWS resource.
  • Fixed the EWS resource not storing user password properly.

There were some exciting improvements to KMail as well: Sandro Knauß implemented support for Protected Headers for Cryptographic E-Mails. This means that we also send a signed/encrypted copy of headers and display the signed/encrypted headers (if available), and ignore the insecure headers.

Currently, we don’t obfuscate the subject to not break current workflows. Those things will be improved later on. Sandro, together with Thomas Pfeiffer, get funding from NLnet to improve mail encryption. That means more improvements were happening in the following months. The next topic they looked at was how to add Autocrypt support for KMail.

Volker Krause improved the look and feel of the “HTML Content” and “External References” warnings in emails.

As the Libre Avatar service came back from the dead a while ago, so did the support for it in KMail. The ‘Export to PDF’ feature which we introduced in the previous report was polished, and the ‘Move To Trash’ code was optimized to speed up deleting large amounts of emails.

For developers, it is now possible to open Chromium DevTools inside the message viewer pane to make it easier to debug message templates.

KOrganizer

KOrganizer, the calendaring and task management component has had its fair share of fixes, including:

  • Fixed crashes in the category and filter managers.
  • Fixed bug when a single instance of a recurring event couldn’t be changed.
  • Fixed crash when creating a new TODO from Kontact.
  • Fixed ‘Only resources can modify remote identifiers’ error when re-editing event.
  • Fixed the DAV resource getting stuck when parse error occurs.

The Google Calendar and Google Contacts backends have been merged into a single Google Groupware resource. The change is mostly transparent to users and the old backends were migrated to the new unified backend automatically after the update. During this process, Igor Poboiko also fixed various bugs and issues in the backends and the LibKGAPI library, so a big kudos to him!

The DAV resource was changed to synchronize the calendar color from KOrganizer to the DAV server. Related to that, the menu to configure calendar color in KOrganizer was simplified by removing the “Disable Color” action.

It is now easier to recognize and set the default calendar, and the event editor now respects the settings correctly.

KJots

KJots, the note taking application, which had been on life support for 5 years, received some love recently thanks to Igor. Most of the things are happening under the hood: some ancient dusty code was dropped, some refactoring was carried out, etc. However, if you still use KJots, you might also notice quite a number of changes too. And if you don’t use it, it’s a good time to consider using it.

Here are some of the changes:

  • Fixed a data loss issue due to bugs in the Akonadi Maildir resource, which is used as a KJots backend.
  • Fixed a crash on startup.
  • Fixed multiple actions for the same shortcut.
  • Fixed bookmarks support.
  • Fixed export to plain text and HTML.
  • Fixed random scrollback jumps.
  • Fixed nested bullet lists breaking the undo stack.
  • Link destination is displayed in the tooltip.
  • Ctrl+click follows the link.
  • Printing support has been revived.
  • The text editing widget now supports different headings.
  • Improved support for nested bullet lists.

Igor has huge plans for the future of KJots. First, more bug squashing. Second: the ability to store notes in Markdown format, synchronize with online services (thoughts are on OwnCloud/Nextcloud or the proprietary Evernote service), and, on a lesser scale, he considered the port to the same text editing component as used by the KMail email composer. This will give KJots more text-editing features.

There are also plans to add support for inline checkboxes introduced in Qt 5.14. This would allow making checklists and TODO-lists in KJots. Another feature would be to enable sorting books and pages by their modification date, so that the most relevant would pop up first.

Other components

Other parts of PIM also received bugfixes and improvements. Kleopatra, the certificate management software, now displays GPG configuration tabs and option groups always in the same order. A bug in Akregator was fixed that could cause some feeds to have an icon missing. KAlarm received a bunch of UI improvements as well as some smaller features, like it is now possible to import alarms from multiple calendars at once and the calendar list is now sorted by name.

Common Infrastructure

Lots of work went into modernizing Akonadi, the backend service for Kontact. One major change was to switch to C++17 and some initial usage of C++17 features internally (public API is still C++11-compatible). Widgets for managing Tags were improved and polished and the deprecated ItemModel and CollectionModel were removed.

The KIMAP library was optimized to better handle large message sets. The KLDAP library can now connect to the LDAP server using SSL encryption, alongside the existing TLS support. Volker Krause worked on preparing the KDAV library (which implements the DAV protocol) into KDE Frameworks, and Laurent Montel worked through the entire PIM codebase, preparing it to port to Qt6 once it becomes available.

Plasma Sprint

By The Plasma team


Plasma developers hard at work during the sprint. Top from left: Bhushan Shah, Aleix Pol, Arjen Hiemstra, David Edmundson, David Redondo, Kai Uwe Broulik, Marco Martin and Nicolas Fella.

From the 11th to the 14th of June, the Plasma team held their annual sprint. Due to the COVID19 pandemic, we had to cancel our original week-long, in-person meet up scheduled for the end of April in Augsburg and hosted by our friends at TUXEDO, and instead had to settle for an online sprint. While four days of an online event can't fully replace an entire week in a room elbow-to-elbow with the most talented and dedicated people you know, hacking and discussing stuff from 9 till midnight online turned out to be surprisingly productive.

During the sprint, the Plasma team discussed and worked on:

  • KDE's GitLab migration plans and timeline
  • The Future of the plasma-framework in KF6
  • Widget and Plasma styling in Plasma 6
  • Various Wayland features like clipboard, virtual keyboard, screencasting, layer shell, tiling for tablet mode and implementation details for them
  • Improving experience for new contributors and outreach
  • Sound theme support using libcanberra in Plasma and knotifications
  • Notifications on lockscreen for Plasma Mobile

... among many other things.

Akademy

By Blumen Herzenschein, David C. and Paul Brown

Akademy 2020 was hosted online from the 4th to the 11th of September, 2020. The annual conference of the KDE Community this year featured training sessions on its first day, a two-day conference during the weekend, with presentations on the latest KDE developments, plus an extra day of talks on the following Friday. During the week, there were five days of workshops, Birds of a Feather (BoF) sessions and coding sessions. Akademy this year welcomed more than 60 speakers, attracted 225 attendees from 79 countries and reached the global KDE Community and beyond.


Akademy group photo.

Day 1 - Training Sessions

Akademy kicked off with training sessions on several KDE-related topics.

Nuno Pinheiro from KDAB conducted a class on UI/UX Design in QML for Desktop. This online workshop contained practical exercises on dos, don'ts, and integration; and tips on the outside of the box UI design. The session started out with attendees relaying to Nuno the projects they were working on and how they hoped the lesson would help them.

Meanwhile, in room 2, Milian Wolff, another Senior Software Engineer at KDAB, taught us about Debugging and Profiling on Linux. This training was at a slightly higher level and required some knowledge and experience with Qt and C++ as well as a basic understanding of multithreaded programming. The session covered the most essential debugging and profiling tools on Linux and attendees learned how to use the tools and how to interpret the results.

In room 3, Michael Friedrich, a Developer Evangelist at GitLab, told us how to Speed Up Your Development Workflows with GitLab in his best practice workshop. Michael took us through our first steps in GitLab with project management (issues, boards, labels, templates, etc.) and combined it with development workflows. We learned how to start our first merge request to solve an issue and got ideas on branching, code reviews, approval processes and added automated CI test feedback in MRs.

Albert Astals Cid conducted a session called Introduction to QML in room 1. Albert taught us how to compose fluid user interfaces using the QML language and we also learned how to hook the QML side up to the business logic in C++. In room 2, David Faure told us about Multithreading in Qt, which is essential for developers who want to create fast and responsive applications on computers, phones, and embedded devices with an increasing number of cores.

Finally, for something quite different, Dr. Carlee Hawkins talked about Implicit Bias in room 3. In this session, we were asked to consider our own biases regarding race, gender, age, etc. We explored how researchers understand biases and learned how to mitigate the influence of our own biases on our thoughts.

The advice offered by Dr. Hawkins will help us make KDE more welcoming and diverse for everybody.

Day 2 - Conference

The first day of Akademy talks were varied and interesting, covering a wide range of topics, from managing project goals and technical advances in Qt and KDE technologies, to Open Source in dentistry and Linux in automobiles.

Aleix Pol, President of KDE, kicked off the day at 8:50 UTC sharp by playing a video made by Bhavisha Dhruve and Skye Fentras welcoming everybody to the event. After acknowledging the very special circumstances of this year's Akademy, Aleix introduced the first keynote speaker Gina Häußge.

Gina is the creator and maintainer of OctoPrint, a highly successful and feature-rich system for controlling your 3D printer over a web interface. Gina used her time to reveal the good and not so good things about becoming an independent Open Source maintainer. She talked about the sense of freedom and purpose gained through Open Source work, but also the downsides of monetary instability and frequently feeling on her own despite working for hundreds, maybe thousands of users. Despite these disadvantages, she happily admitted that she would do it all over again, that the sensation of helping others and the fulfillment she experienced made up for all the darker patches.

After that it was time for another veteran Open Source contributor: Jonathan Riddell talked about his steering of one of KDE's current Community-wide goals: It's All about the Apps, the project in which KDE community members work to promote and distribute KDE applications on their own merits, beyond their link to KDE's Plasma desktop. Jonathan gave us the motivations behind proposing the goal and its evolution since it was officially announced in Akademy 2019. Likewise, Niccolo Venerandi talked about the Consistency goal. This goal seeks to unify the look and feel of Plasma and all KDE apps to provide a coherent experience to users. Niccolo pointed out that Plasma does not have serious consistency problems, but different approaches to design in apps that sometimes lead to a bewildering array of looks and behaviors. Niccolo then showed us the future of KDE applications and, frankly, it looks amazing.

The presentations covering individual goals wound up with Méven Car talking about Wayland. It is no secret that the ride of porting KDE software and technologies to Wayland, the replacement for our venerable X window system, is being a bumpy one. That is why the KDE Community decided to make Wayland a priority. The Wayland goal is a big task requiring updates to multiple components and forcing to refactor KDE's whole display stack. But as Méven explained, the community has made significant progress since Akademy 2019.

Following the presentation of individual KDE goals, Niccolo Venerandi, Méven Car, Jonathan Riddell, Lydia Pintscher and Adam Szopa got together for a round table that tackled how the first year of their goals went and what they learned along the way.

Following the round table, Andreas Cord-Landwehr used a ten-minute fast track slot to talk about SPDX, a system for better license statements. In the talk, we learned that SPDX identifiers are an important step towards enabling automatic tooling for checking license statements. Andreas explained the advantages of using license statements and how simple it is to apply them. He also gave a short overview of what has already happened inside the KDE Frameworks and where contributors could help to support the conversion to SPDX.

Then Shawn Rutledge covered Editing Markdown with QTextDocument in another 10-minute talk. Shawn added markdown support in Qt 5.14 as a first-class format and as an alternative to the limited subset of HTML that QTextDocument had traditionally used. During the talk, he demoed WYSIWYG editors written with widgets and with Qt Quick.

In the final fast track talk before lunch, Carl Schwan expounded on How to Create a Good Promotional Website for your Project. Carl has been the main developer behind the overhaul of many of KDE's main sites, including kde.org. During the talk, Carl presented the KDE Jekyll theme, the motivation behind the project, and briefly explained how it could be used to create a KDE website. He also showed some counter-examples, examples of poorly designed websites and how they could be improved to make the projects more attractive to potential users.

Later, things started with a presentation from the KDE e.V. Board and reports from the Working Groups. The Board told the attendees all about the things they had done over the year since the last Akademy. Highlights included expanding the number of paid employees from three to five, the migration to GitLab, and the funding of more support for community members. The Board followed up with details on the activities of the different working groups, although some of their presentations had to be moved to the end of the day due to time constraints.

Then we launched back into the talks’ proper with the Input Handling Update, again by Shawn Rutledge. In this talk, Shawn talked about what's coming up and several goals for input events in Qt 6.

Meanwhile, in Room 2 Cornelius Schumacher was talking about the KDE Free Qt Foundation. Established in 1998, the KDE Free Qt Foundation was founded to keep the Qt toolkit free for KDE and all other free software projects. The Foundation has held steady during the more than two decades of sometimes turbulent times Qt and KDE have gone through together. Cornelius told the story of how this worked.

And speaking of The Qt Company... A little later, back in Room 1, Richard Moe Gustavsen, talked about Native Desktop Styling Support for Qt Quick Controls 2 and the ongoing work at The Qt Company to support writing desktop applications using Qt Quick Controls 2.

At the same time, in Room 2, Aleix Pol was talking about KDE's Products and how to visualise their relationship with users. In the talk, Aleix introduced a framework to help developers make sure the Free Software community and its users are best taken care of.

In the next slot, Patrick Pereira presented in Room 1 QML Rapid Prototyping -- Developing tools to improve QML prototypes and development. In his talk, Patrick talked about how QML prototyping is something that all developers do, and how it can be achieved more efficiently. He used two projects as examples: QHot (a hot reload for nested QML files) and QML Online (an online QML editor created with WebAssembly) to help explain how to bring down the development time and learning curve for QML.

In Room 2, Johan Thelin introduced his talk Linux in Cars - So What? from, get this, inside his car. Literally. Johan talked about why cars are still also using so much proprietary software you would be hard pushed to find the Open Source bits, even though they may be using Linux deep down. He also talked about what needed to be addressed to improve the situation and how KDE software could work for those use cases.


Jonah Thelin talks Linux in cars from a car.

Following this batch of regular talks, there were another three 10-minute fast track presentations.

In Flatpak, Flathub and KDE: A Quick Summary, Albert Astals Cid introduced the audience to Flatpak, explained what Flathub was and how KDE interacted with both of them.

Then Nicolás Alvarez spoke of Improving KDE Server Infrastructure, the formation of the Sysadmin Working Group, and told attendees how the Sysadmin team was making KDE servers more manageable by reducing "technical debt", moving manual tasks into scripts, improving documentation, and making more things testable locally before putting them on the real servers.

In the last fast track of the day, David Edmundson gave tips on How to Win an Argument with a Maintainer, having partaken in and witnessed hundreds of discussions on Bugzilla and Phabricator that then turned into arguments that yielded angry stalemates. He shared with the audience the methods he had seen work to achieve happy mediums and warned against attitudes that escalated situations into miserable experiences for everybody.

Next came one of the more surprising presentations of the day, delivered by Tej Shah, a Doctor of Medicine in Dentistry from the US. Tej talked about his project Clear.Dental and his attempt to move dentistry to Open Source using the power of Linux, Qt, and KDE. He reviewed the state of Dental software (which is pretty dire), the problem with the current software available, and how Clear.Dental could contribute to solving it.

At the same time, in Room 2, Camilo Higuita was talking about his own passion project: Maui and gave the audience a rundown of all the updates on the group of apps, services, libraries, and UI (User Interface) frameworks Maui provides to produce attractive-looking applications.

In the next session, Rohan Garg gave attendees a lesson in Linux Graphics 101 in which he explained how the growing popularity of ARM devices has led to platform architectures with quirkier graphics hardware. He talked about the basics of how the Linux graphics stack works and the history behind how we've come to the current Gallium design in Mesa.

Finally, Google Summer of Code participant Amy Spark showcased how she Integrated Hollywood Open Source with KDE Applications by porting a Disney Animation technology to Krita. SeExpr gives Krita artists access to procedurally generated texturing, allowing for fine surface details, lighting effects, overlays, and more to be added at the push of a button. As a scripting language, it gives creators the flexibility needed to ensure perfect results every time by tailoring the algorithm to their needs. Amy had to overcome many technical barriers during the porting process, as SeExpr was originally built to run only on a very specific proprietary stack.


Example from David Revoy on how SeExpr can be used to create art.

Day 3 - Conference

Day 2 of the conference stretch of Akademy (day 3 of the overall event) kicked off with a heavy-duty programming courtesy of Ivan Čukić who talked about C++17 and 20 Goodies. Most KDE applications are developed using C++ so Ivan covered the new features that C++17 and 20 bring and how they could be combined with each other.

Something more user-centric was going on in Room 2, where Marco Martin and Aditya Mehra were Showcasing Plasma Bigscreen, KDE's interface for large smart TVs. Marco and Aditya took attendees through the various features and the technology that powers Bigscreen, such as Plasma, Kirigami, and KDE Frameworks with a touch of Mycroft's open-source voice assistance platform. You can try Bigscreen now by burning it to a micro SD card and loading it into a Raspberry Pi 4 hooked up to your TV.


Plasma Big Screen - Plasma for your TV.

In the next slot, the audience in Room 1 was subject to another talk about programming languages, in this case, Rust from a KDE Perspective. In this talk, Méven Car explained what Rust could offer to the KDE developer community and the features that made it a unique programming language.

In Room 2, we learned about a success story of KDE in the Real World™: back in October 2019, the staff of Janayugom, a local daily newspaper in Kerala with 100,000 readers, decided to move their publication to Free Software. In his presentation on Free Software, Press Freedom & KDE, Ambady Anand S., a sysadmin involved in the move, told us the story of how the migration went. Later, back in Room 1, Andreas Cord-Landwehr introduced a different way of developing in his talk Test It! – Unit testing for lazy developers. Andreas proposed developers turn things on its head and prepare tests for the code before actually writing the code. He argued that code written to pass tests was leaner and more focused. Andreas also discussed why automated tests are important for projects and strategies on how to design them.

Meanwhile, in Room 2, Timothée Giet was Celebrating 20 Years of GCompris, as well as the fact that the universally acclaimed classic FLOSS toolset for teachers is nearing version 1.0. It only took two decades! Seriously though, Timothée showed us some of the new activities which are coming to GCompris, such as new counting and arithmetic games, and a fun-looking electric circuits simulator.

Next up in Room 1, David Faure told us about KIO: A Story of Young and Old Jobs. The presentation aimed at application developers and KIO contributors gave an overview of the job mechanism as it is used in KIO, laid out the jobs added in the last two months and explained the concept of "delegates" which are used to solve the inverse dependency problem. In Room 2, Marta Rybczynska told us about her Year in KDE from Outside. During her year "away," she analyzed media reporting on KDE and tracked what news sites, blogs, and podcasts chose to focus on when they talked about KDE.

Next up in Room 1 Daniel Vrátil talked about Static Code Analysis with Gitlab CI. Daniel showed the benefits of using static analysis tools and linters to automatically check code quality, and explained how to configure GitLab CI to run those tools automatically on each pull request or as a part of regular builds.

In Room 2, Leinir and Andrew Shoben literally couldn't hide their excitement while presenting KDE Wags Your Tail, in which they explained how to control animatronic tails and ears using software based on free software and KDE's Kirigami framework.

The first set of the day's talks wound up with three 10-minute fast track talks in which Bhushan Shah talked about his experience with and gave advice on online sprints; Adriaan de Groot explained the Fiduciary License Agreement, a tool that the KDE community uses to manage licensing in the long-term; and Kai Uwe Broulik revealed some of the less obvious tips and tricks to get the most out of KDE's Plasma desktop.

After a four-hour recess, the KDE Community got together again to listen to the event sponsors. KDE displayed deep gratitude to Canonical, KDAB, MBition, openSUSE, GitLab, Froglogic, Collabora, CodeThink, FELGO, DorotaC.eu, The Qt Company, Pine64 and Tuxedo for their generosity thanks to which Akademy is made possible.

Next up in Room 1, Dimitris Kardarakos talked about Creating a Convergent Application Following the KDE Human Interface Guidelines. Dimitris introduced attendees to the primary components of Kirigami and showed how an application can look equally good on the desktop and mobile. Using the Calindori calendar app as an example, Dimitris aimed to inspire attendees to create their own Kirigami applications.

Meanwhile, in Room 2, Nicolas Fella explained in Konquering the Droids that, to stay relevant, KDE needed to expand from its traditional desktop space and into the mobile world. He argued the most realistic and quickest way to do that was to create apps for the Android ecosystem, and explained the porting process.

Aleix Pol took to Room 1's virtual stage again in Getting into KWin and Wayland to explain how contributors could get involved with the development of KDE's Wayland experience.

In Room 2, Doctor Luis Falcón told us about MyGNUHealth: GNU Health Goes Mobile with KDE and Kirigami. GNU Health (GH) is a Libre Health and Hospital Information System which has been deployed in many countries around the globe, from small clinics to very large, national public health implementations. MyGNUHealth is the GH's Personal Health Record application that integrates with the GNU Health Federation and is focused on mobile devices. Dr. Falcón told us about what led him to choose KDE's Kirigami framework to develop MyGNUHealth and the technical insights gained by the community behind the project.


Luis Falcón M.D. presents MyGNUHealth, a new KDE project.

Following these two talks, Neal Gompa presented Fedora KDE in Room 1, explained how it started and what makes it special within Fedora; while at the same time in Room 2, Aniqa Khokhar introduced us to Change Management and helped us learn how to accept changes and newcomers in KDE.

A bit later in Room 1, Volker Krause showed how, by Using Wikidata and OpenStreetMap data, it was possible to make applications smarter. Volker went into depth and explained how those two data sets are structured, how they can be accessed, how to comply with their licenses, and how developers can make use of them for their apps.

In Room 2 Catharina Maracke spoke to attendees about Open Source Compliance. Catharina told us about how in today's complex world of OSS license compliance, it is very important to know the basics of copyright and licensing structures as well as some of the relevant tips and tricks for the most common OSS licenses.

A little later in Room 1, David Edmundson and Henri Chain co-hosted a talk on Next Generation Application Management and explained how using cgroups, developers could contribute to making everything amazing.

And, speaking of amazing, in Room 2, Massimo Stella told us about Kdenlive's Journey to Being a Leading Open Source Video Editor. He showed us a video of Kdenlive's new capabilities and provided a live demo of the new features of KDE's powerful video editing software.

The regular talks wrapped up with two technical talks aimed at developers: In Room 1 Carson Black talked about API Design and QML and in Room 2 Benjamin Port explained how Plasma's System Setting have recently all been ported to KConfigXT and the advantages gained from the move in System Settings: Behind the Scenes.

To finish off the day, we had a star keynote presentation delivered by Nuritzi Sanchez, Senior Open Source Program Manager at GitLab and prior President and Chairperson of the GNOME Foundation. In her presentation, Open Source Resilience and Growth: Creating Communities that Thrive, Nuritizi talked about some of the initiatives that KDE is involved in that help it becomes a more resilient community, while at the same time pointing out areas of opportunity. She also explored topics around building more diverse and inclusive communities, including collaborative communication, and ideas for outreach.

From Monday to Thursday, Akademy attendees participated in Bird of a Feather (BoF) meetings, private reunions, and hackathons.

Day 7 - The Last Day

It was a fine day in Onlineland and Akademy attendees were in a festive mood, not least because they were ready to celebrate the successful migration of KDE to GitLab. Although a titanic effort, the move is already paying off, as GitLab offers an easier and more flexible platform for developers and users to get their work done and shared.

Ben Cooksley, sysadmin extraordinaire, Bhushan Shah, Plasma Mobile's main developer, Community veterans like David Edmundson and Lydia Pintscher, and many others shared their experiences of how the migration has improved the way they worked.

GitLab was also represented in the party with Nuritzi Sanchez, Senior Open Source Program Manager at GitLab, attending.

BoFs

Then there were several interesting BoFs throughout the day covering, in typical KDE fashion, a very wide range of topics.

Aniqa Khokhar and Allyson Alexandrou hosted a meeting on The KDE Network, KDE's initiative to start and support grassroots organizations in different parts of the world. Cornelius Schumacher told us about Blue Angel, an official label from the German government that is awarded to eco-friendly products. As KDE has already proven to have a low carbon footprint and helps recycle old machines, Cornelius thinks the Community should work harder to become even greener and get recognized for our efforts. Carl Schwan managed a meeting on what KDE should do to improve the online documentation for developers, and David Edmundson met with community members interested in pushing the development of Qt Wayland forward.

Talks

Later in the day, we attended the first batch of student presentations. Mentoring students is an essential part of KDE's mission, as they can often receive through events such as Google Summer of Code and Season of KDE, valuable experience and get started in contributing to Free Software.

First up was Kartik Ramesh who worked on facial recognition in digiKam. If you have been following the latest releases of digiKam, KDE's professional photograph management software, you will be aware of how to face recognition has changed and improved over the last few versions. Kartik worked on the front end interface to make it friendly and usable. Deepak Kumar, on the other hand, worked on multiple datasets for GCompris, the activity-packed educational software for children. He added a tutorial screen to the Odd & Even game and also new datasets to (read "made more exercises for") the Clock game, Balance Scales, and more.

Sharaf Zaman SVG worked on mesh gradients for Krita, KDE's application for painters, thus improving Krita's support for SVG images; and Sashmita Raghav improved the timeline clip color palette for Kdenlive, KDE's video editor.

It was then time for Kevin Ottens to warn us about Lost Knowledge in KDE. He explained how it is possible to lose knowledge over time because people leave the Community, advances in technology go undocumented and then forgotten, and software gets deleted. Kevin finished his talk by speaking of ways to avoid losing this information in organizations like KDE.

Kevin's talk was followed by another batch of student presentations in which Sashwat Jolly talked about incorporating an EteSync agent into Akonadi, Kontact's backend for storage indexing and retrieval of users' personal information. EteSync is a free software service you can self-host and that provides an end-to-end encrypted, and privacy-respecting sync for contacts, calendars and tasks.

Then Shivam Balikondwar spoke of how he added file backends for the ROCS IDE and how he added KML files to the list of types of files ROCS could parse. Meanwhile, Paritosh Sharma worked on bringing 3D to KStars by incorporating Qt3D into the stargazing app.

Finally, Anaj Bansal explained how he worked on improving KDE's web infrastructure and helped port kde.org to Hugo.

After this batch of students' presentations, it was time for another conference talk, and Nate Graham told us about his Visions of the Future. Nate, among other things, wanted us to envision a world in which KDE Plasma gets shipped by default on every PC, phone, and tablet on the planet (and possibly off it too). It is worth pointing out that Nate had already presented a talk called "Konquering the world -- A 7 step plan to KDE world domination" at Akademy 2018. We may be detecting a trend here...

After a glimpse into tomorrow, quite appropriately the next generation of KDE contributors took again to the stage and shared their work. There was a theme here too, because Saurabh Kumar told us how he implemented a storyboard editor as a docker for Krita; L.E. Segovia spoke of their work with dynamic fill layers using SeExpr, again for Krita; and Ashwin Dhakaita told us how he had managed to integrate MyPaint brushes... into Krita.

The only discordant note came from Kitae Kim, who spoke of how he improved MAVLink integration in Kirogi, KDE's ground control software for drones.

The final presentation of the day and the very last of Akademy 2020 was delivered by KDE veteran Valorie Zimmerman. Valorie told us how to avoid burnout and advised us on how to recognize the signs, gave practical advice on what steps we could take to not let it affect us and then opened the floor to questions and stories from other Community members. An appropriately heart-warming, feel-good final talk.

Akademy awards

Then it was the moment to celebrate individual achievements with the traditional Akademy Awards.

Presented by last year's winners, Volker Krause, Nate Graham and Marco Martin, the award to Best Application went to Bhushan Shah for creating a new platform, Plasma Mobile, on which new applications could thrive. The prize to Best Non-Application was given to Carl Schwan for his work of revamping KDE's websites; and the special Jury Award went to Luigi Toscano for his work on localization.

Finally, the jury awarded a special Organization Prize to the Akademy Team made up of Kenny Coyle, Kenny Duffus, Allyson Alexandrou and Bhavisha Dhruve, for their work organizing such a very special event.

Aleix Pol, President of KDE e.V., delivered the final words of the event and pronounced closed what has been an amazing edition of Akademy in so many different ways.

Acknowledgements

Despite the special circumstances, Akademy 2020 was a resounding success. The conference part had speakers and audience connecting from all over the world, and attendance was up by 36% with regard to last year.

There were no major problems, no talk or event had to be postponed or cancelled due to technical issues; everybody was able to connect, watch, listen and participate in the activities without having to install special software; and organizers were able to see the result of months of hard work come to fruition.

All of this deserves a round of applause for, first, the Akademy team, who, in what seemed like adverse circumstances, were not only nimble enough to pivot and avoid cancelling the event, but set up an exciting alternative with fascinating content. Second, the creators of BigBlueButton, a sturdy and reliable FLOSS videoconferencing system that allowed KDE to move Akademy online with the confidence that things would work as they should.

And, finally, KDE's Sysadmin team, who set up all the technical backend and were on guard 24/7 during the whole event, adjusting bandwidth and tweaking settings, to ensure everybody could enjoy a glitch-free Akademy.

QtCon Brasil

Compiled from several sources

The fourth edition of QtCon Brasil was held online from 26th to 27th September 2020. QtCon Brasil is the only conference in Brazil and Latin America entirely dedicated to the Qt libraries, utilities and frameworks. Since its first edition, held in 2017 in the city of São Paulo, QtCon Brasil has acted as an important forum for users, universities, government institutions, companies and free software communities to share their experiences, business knowledge and learn about the latest in UI technologies.

This year, KDE sponsored QtCon Brasil as usual, and many speakers from KDE participated, including Aleix Pol, Camilo Higuita, Sandro Andrade, and Patrick Pereira.

The conference was opened by Aracele Torres from Qmob Solutions opened the conference along with Jose Valecillos from The Qt Company USA. The keynotes were followed by talks on a wide variety of topics, including Qt and the Crystal Ball by Corey Pendleton, UIs for humans by Nuno Pinheiro, Delivering with Wayland by Aleix Pol, Convergence with Qt by Camilo Higuita, An Introduction to Qt for Python by Mariana Meireles, Qt Containers and Algorithms by Thiago Macieira, Rapid Prototyping with QML by Patrick Pereira, Qt 6 - What's Next? by Sandro Andrade, and many more.

QtCon Brazil aims to be a forum where people interested in Qt can share their experiences, know a bit more about successful use-cases like KDE, and learn how Qt can be used in business.

HaQton

QtCon Brasil is usually followed by a Qt programming competition called "The HaQton". The HaQton aims to promote the use of Qt in the Brazilian and Latin American communities and the registered teams develop a Qt application that requires the use of functionalities related to UIs, multimedia, network communication via RESTful APIs and message bus communications.

One of the aims of the Haqton is to give organizers the opportunity to discover new talents that can join the Brazilian and Latin American Qt ecosystem. Past HaQton participants have gone on to become speakers in later editions of QtCon Brazil, contributors to projects such as KDE, etc.

This year's winners were also awarded cash prizes and development boards for embedded projects.

Linux App Summit

By Allyson Alexandrou, Aleix Pol, Neofytos Kolokotronis and Kenny Coyle

Picture of Aleix Pol
Aleix opens Linux App Summit 2020.

Linux App Summit (LAS) was held online from the 12th to the 14th of November. This year once again, KDE and GNOME co-hosted LAS the conference for people interested in establishing Linux as a great end-user platform.

LAS was well attended by 310 participants from 82 countries, an uptick from the previous editions. We saw a 60%+ increase in attendance from LAS 2019 and a full 74% of attendees were not affiliated with either KDE or GNOME. Because it helped online, LAS 2020 was able to reach far beyond regular circles of influence. With 38 speakers and 30+ talks, panels, and Q&As spread out over three days, there was something for everybody.

Aleix Pol González opened the conference and talks on a wide variety of topics followed, covering everything, from creating and packaging apps, to distribution and monetization within the Linux ecosystem. Melissa Logan talked about “The Prism of Collaborative Marketing in Open Source” and Greg Kroah-Hartman shared insights about “What Linux kernel developers wish application developers would do better”. Some of the other topics were RTL experience in Linux, Next Generation Application Management, Watch a Linux Game Get Built in Real Time, Wayland for App Developers, Snaps, snaps, snaps - I wanna have a good (development) time, and more.

Our social media activities allowed LAS 2020 to extend far beyond the virtual venue. The number of Twitter followers grew to 1,300, while YouTube had 473 new subscribers, up from 174 subscribers in 2019. That is a 172% increase in followers this year. Within 28 days we had 9,243 views, 1.2K watch time, and 250 new subscribers. LAS was also streamed in other places, such as a micro-conference at the Linux Plumbers Conference and to the CHAOSS Project App Ecosystem working group.

Akademy-es

By Baltasar Ortega

The fifteenth edition of Akademy-es, KDE's yearly event for the Spanish-speaking community, was held online from 20th to 22nd November. The event was packed with virtual talks, presentations, workshops and remote social events. We discovered and discussed the news of the KDE Community and the progress of one of the most important free projects within the Free Software ecosystem.


Akademy-es group photo.

The conference started with the opening ceremony by Adrián Chaves, president of KDE Spain. During the event, there were talks on various topics such as software licensing, podcasts with free software, Plasma and Wayland, Flatpak, Flathub and KDE, and the latest news in KDE development, as well as lightning talks.

Talks addressed topics both for users and developers, and the event also included practical workshops and social activities.

Akademy-es helps connect KDE developers from all over Spain, so they can talk about the projects they are working on, share code, experiences and knowledge. It also contributes to promoting KDE projects to a wider audience.

Despite not being able to meet in person, Akademy-es, as always, managed to help us all enjoy learning more about Free Software and KDE.

LaKademy

By Baltasar Ortega

The eighth edition of the LaKademy - the Latin American Akademy was held online from 5th to 6th December 2020. For the first time, LaKademy took place online due to the COVID-19. Contributors, users and members of the KDE Community gathered for two days of development, promo, translation and all sort of KDE-related things.

The purpose of this event was to serve as a place for meeting and socializing for the Latin American KDE community, to strengthen the bonds of friendship and provide dialogues on experiences of use, creation and maintenance of applications and projects. During the days of the event, the whole team focused on totally practical work such as coding, designing and translating. We called these sessions mini "sprints". The objective was to achieve specific projects following the previous definitions or even the demands that arise throughout the event.

We also discussed in our promotion meeting, the direction of the Latin American KDE community, as well as in which projects we will invest our time. Due to its characteristic of being a work meeting, the LaKademy created an atmosphere of proximity between the attendees, stimulating interactions between the participants and encouraging the participation of even those who have never been involved in projects like this before.

Projects

Ikona - Create Cool Icons

Compiled from the blog of Jan Pontaoski

Ikona
Ikona.

Meet Ikona, the new KDE program that helps you create cool icons. Ikona is a companion application that helps you when designing icons. Ikona lets you visualize your icons in an environment similar to a Plasma desktop, access the Breeze color palette and export your icons in multiple sizes. It is a companion application to a vector editor like Inkscape, providing utilities for wrangling with icons and an icon preview.

Ikona opens up to a fairly unassuming screen, giving users two options: the colour palette or the icon view. Ikona's colour palette is fairly simple—it shows a bunch of colours, and clicking them copies the hex code. The colour palette was designed to offer icon designers a vibrant and large array of colours that fit into the Breeze style.

It displays application icons at a pixel-perfect size in an environment similar to a Plasma desktop. By default, it just shows Ikona's icon. When you press “Create Icon” this exports a special type of SVG with the suffix .ikona.app.svg.

The .ikona.app.svg is a special type of input SVG that Ikona knows how to process. Normally, multiple sizes of an icon are stored as different files, making managing all of them cumbersome. However, the .ikona.app.svg combines all sizes of an application's icon into a single file, making it easier to cross-reference elements shared between sizes in the same file. This also allows Ikona to intelligently split and place icons in the correct locations on export. Ikona can also support regular SVG files, however, only one size of the icon can be previewed at a time and Ikona cannot export optimized icons from this format.

Saving the icon will cause Ikona to instantly update its preview of the icon. Once you're done designing your icon, you use the export screen to export your icon. You can select which sizes to export, and how to export the icon (to one folder with different names, or folders per size with the same name). You can also take montages of your icon using Ikona. The montages are copied directly into your clipboard for pasting into your favourite chat application for ease of sharing.

Kid3 - A Simple, but Powerful Music Tagger

By the Kid3 Team

Kid3
Kid3.

Kid3 is a handy but powerful music tagging program that lets you edit the ID3 tags and similar formats on MP3 and other music files. Kid3 has moved to be hosted by KDE and has made its first release as a KDE app.

If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files (e.g., full albums) without typing the same information again and again and have control over both ID3v1 and ID3v2 tags, then Kid3 is the program you are looking for.

Features

With Kid3 you can:

  • Edit ID3v1.1 tags.
  • Edit all ID3v2.3 and ID3v2.4 frames.
  • Convert between ID3v1.1, ID3v2.3 and ID3v2.4 tags.
  • Edit tags in MP3, Ogg/Vorbis, DSF, FLAC, MPC, MP4/AAC, MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules (MOD, S3M, IT, XM).
  • Edit tags of multiple files, e.g., the artist, album, year and genre of all files of an album typically have the same values and can be set together.
  • Generate tags from filenames.
  • Generate tags from the contents of tag fields.
  • Generate filenames from tags.
  • Rename and create directories from tags.
  • Generate playlist files.
  • Automatically convert upper and lower case and replace strings.
  • Import from gnudb.org, MusicBrainz, Discogs, Amazon and other sources of album data.
  • Export tags as CSV, HTML, playlists, Kover XML and other formats.
  • Edit synchronized lyrics and event timing codes, import and export LRC files.
  • Automate tasks using QML/JavaScript, D-Bus or the command-line interface.

Kid3 is available for Linux, Windows, macOS and Android and in the following app stores: Chocolatey, Homebrew and F-droid.

Kup - Make Backups Simple

By the Kup Team

Kup
Kup.

Kup helps people to Keep Up-to-date backups of their Personal files. You can use a USB hard drive to store files, but saving files to a server over a network connection is also possible for advanced users.

It was previously developed outside of KDE, but Kup has moved to be hosted by KDE and has now made its first release as a KDE app.

When you plug in your external hard drive Kup will automatically start copying your latest changes, but of course, it will only do so if you have been active on your computer for some hours since the last time you took a backup (and it can, of course, ask you first, before copying anything).

In general, Kup tries to not disturb you needlessly.

There are two types of backup schemes supported: one which keeps the backup folder completely in sync with what you have on your computer, deleting from the backup any file that you have deleted on your computer etc. The other scheme also keeps older versions of your files in the backup folder. When using this, only the small parts of your files that have changed since the last backup will be saved and, therefore, incremental backups are very fast. This is especially useful if you are working on big files. At the same time, it is as easy to access your files as if a complete backup was taken every time, as every backup contains a complete version of your directories. Behind the scenes, all the content that is the same is only stored once.

Features

Backup types:

  • Synchronized folders with the use of "rsync".
  • Incremental backup archive with the use of "bup".

Backup destinations:

  • Local filesystem path monitored for availability. That means you can set a destination folder which only exists when perhaps a eSATA harddrive or a network shared drive is mounted and Kup will detect when it becomes available.
  • External storage, like USB hard drives. Also monitored for availability.

Schedules:

  • Manual only (triggered from tray icon popup menu).
  • Interval (suggests new backup after some time has passed since the last backup).
  • Usage based (suggests new backup after you have been active on your computer for some hours since the last backup).

Kontrast - Pick the Perfect Colors

By Carl Schwan

Kontrast
Kontrast.

Meet Kontrast, the new KDE program that is a contrast checker. Available for desktop and mobile devices, you can use Kontrast to choose background and text color combinations that work best for your website or app. Your users will find your colors easy to read and Kontrast will help improve the accessibility of your site or app for people with vision problems.

Kontrast won’t catch all the problems, but it should still be very helpful to catch any issues early on when designing your interface.

Another big feature of Kontrast is the possibility to generate random color combinations with good contrast. These colors can be saved in the application itself so that you can keep a particularly good color combination for later use.

Kontrast is available for the Linux desktop, Plasma Mobile and there is also a Beta version for Android.

This application was built using the excellent Kirigami framework.

Calindori - Touch-Enabled Calendar

By the Calindori Team

Calindori
Calindori.

Calindori 1.2 is the first stable release of Calindori as a KDE application. Calindori is a touch friendly calendar application. It has been designed for mobile devices but it can also run on desktop environments. Users of Calindori can check previous and future dates and manage tasks and events.

When executing the application for the first time, a new calendar file is created that follows the ical standard. Alternatively, users may create additional calendars or import existing ones.

Calindori is available on KDE Neon for Plasma Mobile as well as on postmartketOS and it also works on Linux mobile, desktop and even Android. It’s also available in the flaptpak nightlies kdeapps repository for ARM and x84_64. Finally, you can also build it from source on your Linux desktop workstation.

Features

  • Agenda
  • Events
  • Todos
  • Multiple calendars
  • Import calendar

System Monitor - What is you Computer Doing?

By Arjen Hiemstra

System Monitor
System Monitor.

Plasma System Monitor is a brand new UI for monitoring system resources. It is built on top of Kirigami and a new system statistics service called KSystemStats debuted in Plasma 5.19. It shares a lot of code with the new system monitor applets that were also introduced in Plasma 5.19 and is meant to be a successor to KSysGuard. Plasma System Monitor provides an interface for monitoring system sensors, process information and other system resources. It allows extensive customisation of pages, so it can be made to show exactly the data you want to see.

Features

  • On startup, you see a quick overview of your entire system: memory, disk space, network and CPU usage.
  • The Applications page shows you all running applications along with detailed statistics and graphs for those applications.
  • You can select the Line Chart display mode for any column that displays a numeric value.
  • The CPU chart will be displayed stacked by default.
  • You can edit panels and divide the page into several different rows, columns and sections.

Peruse Creator - Make Your Own Comic Books

By Leinir

Peruse
Peruse.

Creating rich digital comic books has long been something of a chore, or required the use of proprietary formats. But the Advanced Comic Book Format aims to fix this by introducing concepts like frame based navigation to go with the more traditional page based methods, reference information such as character information, location notes, and so on, all contained within the book, as well as embedded typesetting information and rich text overlays so translation can be done without requiring multiple images of the same page. Peruse Creator allows you to create these highly interactive and advanced books in a way that is both easy to use and powerful.

Features

Supports Comic Book Archive formats (cbz, cbr, cb7, cbt, cba)

Spacebar - Mobile SMS Chat App

By Bhushan Shah

Spacebar
Spacebar.

Spacebar is an app for sending and receiving SMS like chat messages. It is primarily developed for Plasma Mobile and depends on Qt, a few KDE Frameworks (Kirigami2, KI18n, KPeople and KContacts) and telepathy-qt.

Spacebar consists of an app and a daemon. The app is user-facing and only runs while the user is reading or writing messages. The daemon runs in the background to catch incoming SMS.

The database is mostly managed by the daemon, as it is responsible for writing incoming and outgoing messages into it. It also sends notifications to the user when a new message arrived, using KNotifications.

The app connects directly to telepathy to also get incoming messages, to display them live in the chat. It fetches the chat history from the database. The apps also mark viewed messages as "read" in the database.

Spacebar offers users a modern-looking chat app that connects with stored contacts, providing an easy way to keep in touch and carrying out conversations over the SMS protocol.

Products

KDE Slimbook III

By Paul Brown

In July 2020, Slimbook and KDE launched the new version of its now classic KDE Slimbook. The third generation of this popular ultrabook came in a stylish sleek magnesium alloy case less than 20 mms thick, but packed under the hood a powerful AMD Ryzen 7 4800 H processor with 8 cores and 16 threads. On top of that, it ran KDE's Plasma desktop, complete with a wide range of preinstalled, ready-to-use Open Source utilities and apps.

Both things combined make the KDE Slimbook a one-of-a-kind machine ready for casual, everyday use, gaming and entertainment; design work, animation, and 3D rendering; as well as hardcore software development.

The KDE Slimbook comes with up to 64 GBs of DDR4 RAM in two memory sockets, and has three USB ports, a USB-C port, an HDMI socket, a RJ45 for wired network connections, as well as support for the new Wifi 6 standard. It also comes in two sizes: the 14-inch screen version weighing 1.07 kg, and the 15.6-inch version weighing 1.49 kg. The screens themselves are Full HD IPS LED and cover 100% the sRGB range, making colors more accurate and life-like, something that designers and photographers will appreciate.

Despite its slim shell, the AMD processor and Plasma software deliver enough power to allow you to deploy a full home office with all the productivity and communications software you need. You can also comfortably browse the web and manage social media, play games, watch videos and listen to music. If you are the creative type, the Ryzen 4800 H CPU is well-equipped to let you express your artistic self, be it with painting apps like Krita, 3D design programs like Blender and FreeCAD, or video-editing software like Kdenlive.

If you are into software development, you are in luck too: KDE provides all the tools you need to code and supports your favorite languages and environments. Meanwhile, Slimbook's hardware is ideal for CPU-intensive tasks and will substantially shorten your build times.

But all this power does not come at an extra cost. The KDE Slimbook starts at approximately € 900, making it more affordable than most similarly-powered laptops.

Besides, the Slimbook company actively supports and sponsors KDE and donates part of the proceedings back into the Community.

PinePhone - KDE Community Edition

By Paul Brown

KDE and Pine64 announced in December 2020 the imminent availability of the PinePhone - KDE Community edition. This Pine64 PinePhone provided developers, technophiles and early adopters a taste of where free mobile devices and software platforms are headed.

The PinePhone - KDE Community edition included most of the essential features a smartphone user would expect and its functionalities increased (and continues to increase) day by day. You can follow the progress of the development of apps and features in the Plasma Mobile blog.

Plasma Mobile is a direct descendant from KDE’s successful Plasma desktop. The same underlying technologies drive both environments and apps like KDE Connect (that lets you connect phones and desktops), the Okular document reader, the VVave music player, and many other programs and utilities, are available on both desktop and mobile.

Thanks to projects like Kirigami and Maui, developers can write apps that, not only run in multiple environments, but that also gracefully adapt by growing into landscape format when displayed on workstation screen and shrinking to portrait mode on phones. Developers are rapidly populating Plasma Mobile with essential programs, such as web browsers, clocks, calendars, weather apps and games, all of which are being deployed on all platforms, regardless of the layout.

The idea of having mobile devices that can display a full workstation desktop when connected to a monitor, keyboard and mouse, has been around for years and both the KDE Community and Pine64 worked on this concept to make it a reality. The PinePhone handset itself is also ready for convergence. It can use any USB-C dock to connect it to extra USB devices (mouse, keyboard, storage), external monitors or even to a wired network. In fact, the 3GB version of the PinePhone already was shipped with such a dock that provided two extra USB ports, a full-sized HD video port and an RJ45 port.

Talking of hardware, the PinePhone’s kill switches, located under the back cover and above the removable battery, allow users to deactivate the modem, WiFi/Bluetooth, microphone and cameras, and are especially designed to help preserve the owner's privacy. This matches very well KDE’s Community vision of “[a] world in which everyone has control over their digital life and enjoys freedom and privacy”.

The PinePhone - KDE Community edition was launched at a reasonably priced, allowing buyers to enjoy a device on which they can run Plasma Mobile during the next years and allowed owners to test and mold with their feedback the mobile system of the future.

Parties interested in developing, got early access to an ambitious Free Software mobile platform and helped contribute to Plasma Mobile and get a headway designing new apps that can be tested and deployed immediately.

Specs

  • Allwinner A64 Quad Core SoC with Mali 400 MP2 GPU
  • 2GB/3GB of LPDDR3 RAM
  • 5.95″ LCD 1440×720, 18:9 aspect ratio (hardened glass)
  • Bootable micro SD
  • 16GB/32GB eMMC
  • HD Digital Video Out
  • USB Type C (Power, Data and Video Out)
  • Quectel EG-25G with worldwide bands
  • WiFi: 802.11 b/g/n, single-band, hotspot capable
  • Bluetooth: 4.0, A2DP
  • GNSS: GPS, GPS-A, GLONASS
  • Vibrator
  • RGB status LED
  • Selfie and Main camera (2/5Mpx respectively)
  • Main Camera: Single OV6540, 5MP, 1/4″, LED Flash
  • Selfie Camera: Single GC2035, 2MP, f/2.8, 1/5″
  • Sensors: accelerator, gyro, proximity, compass, barometer, ambient light
  • 3 External Switches: up, down and power
  • HW switches: LTE/GNSS, WiFi, Microphone, Speaker, Cameras
  • Samsung J7 form-factor 3000mAh battery
  • The case is matte black finished plastic
  • Headphone Jack

Trade Shows and Community Events

FOSDEM

Compiled from the blogs of Jonathan Riddel, Marco Martin, Volker Krause and others

KDE's participation in FOSDEM 2020 went pretty well, without a great deal of coordination overhead.

Talks

KDE community members had three talks at FOSDEM 2020:

  • Akhil Gangadharan Kurungadathil delivered a talk called Rendering QML to make videos in Kdenlive, in which he explained how QML, a language prominently used for designing UIs, could be used to create title video clips containing text and/or images. These titles and images can then be rendered and composited over videos in the video editing process. Akhil worked on this for Kdenlive's Google Summer of Code 2019 project (Kdenlive is KDE's full-featured video editor) and the project is still under active development.

Akhil explains how to use QML to create assets for Kdenlive projects.
  • Adriaan de Groot, developer of Calamares and KDE e.V. Board member, talked about the state of the Plasma desktop and applications on FreeBSD, reminding the world once again that KDE's software works more or less everywhere.
  • Finally, Volker Krause talked about the Itinerary project, KDE's fledgeling travel assistant. He discussed the privacy concerns in current proprietary alternatives, and how Itinerary was planning to address these concerns, without sacrificing functionalities.

Booth


KDE's booth at FOSDEM 2020.

This year, instead of being located at the back entrance for the desktops, we were right at the front entrance, where all the people came in. This meant a constant stream of people, but also that it was the most crowded spot, which made it hard to stand still in front of the booth. The booth itself was decked out with a KDE-themed tablecloth, a rollup and a 27" monitor which ran a slideshow showcasing KDE stuff to visitors.

We also had an assortment of electronic KDE-enabled devices visitors could play with. Among other things, we had some mobile devices running Plasma Mobile, a Pinebook Pro, and some laptops to showcase live KDE's Plasma desktop and applications.

In the merch department, we had a selection of stickers from various KDE sources and a bunch from many other projects (more about this later). We did not have beer mats this year, which was a pity, since they were popular in prior editions; but there were T-shirts, although we were not selling stuff and didn't take monetary donations at the stand this year. People asking for T-shirts were re-directed to freewear.org.

I think that if we had had staff coming by car, then getting T-shirts from freewear under our agreement with them (sent first to that person's home, then brought by car) would have been the way to go.

We did not have a booth roster, but that worked out just fine with people just showing up and helping out. We did a lot of the cross-promotion with openSUSE, Mandriva, FreeBSD, research projects, and others: they sent people to us, and we sent people to them. It was a win-win all around, so let's keep doing that!

Kenny made some great name tags we used for the duration of the event. There were always people at the booth, generally, two in front of the table and one or two behind, and our talking points hinged on finding out what visitors knew about KDE and demonstrating how KDE software runs everywhere. Often it was Dave Edmundson out front asking visitors: "Do you know what KDE does?" and then inviting them to try it. Meanwhile, Akhil efficiently staffed the booth.

Getting direct feedback from users on the UI of our software was a great help and it was interesting to note that quite a few people asked us about Qt licensing. For future events, it would be good to make more slideshows we can run on the monitor, just for variety's sake. Also, the one we showed was a plain QML slideshow, but with a Kdenlive-talented person, we could make a much better one.


Members from Pine64, Manjaro, UBports and Plasma Mobile meet after hours to enjoy a meal and talk about the future of free mobile phones.

Effectiveness

The Promo team had suggested some metrics we could use to measure the effectiveness of the booth, but we didn't apply any of them ☹. We didn't have anyone with a good camera, so we did not get much in the way of promo pictures either.

That said, FOSDEM is a weird kind of event, as it is one of those places where "you have to be". The value is not exclusively in the booth, but having people there who talk to other people and coordinating KDE activities with the rest of the world. I planned two more KDE events for later in the year while there (although we all know how that ended up working out) and coordinated some development work with GNOME. We synced up FreeBSD X11's Wayland needs, managed to show off Kdenlive stuff to visitors, and Plasma Mobile gained several more contributors. None of this was directly due to the booth, but because we had warm bodies and warm smiles for everybody that visited us in Brussels.

HackIllinois

By Nate Graham

During the weekend of February 28 to March 1, I attended the 2020 HackIllinois event in Champaign-Urbana as a FOSS mentor, representing KDE.

The event is a hackathon in which students work with experienced open source mentors over 36 hours to contribute to open source through new features, bug fixes, and documentation changes.

I'd like to present my after-action report:

Overview

First the good news: the KDE team won!

My students reported that the judges were impressed with their results, excitement, and passion, and the fact that one of the submitted patches has already been merged.

My students principally worked on building a visualizer for plasma-pa's microphone audio input level and managed to put together a pretty decent proof-of-concept (code here). The code is not in a merge-worthy state, but could definitely get there eventually.

They also submitted some nice smaller patches: the aforementioned Konsole fix, and one for Dolphin too. They also made a thorough investigation of a significant Yakuake issue that has been affecting two of them. Two of the students in particular seem quite eager to continue their contributions.

Promo & Social Observations

Nobody had an unkind or negative word for KDE. People who had heard of us really seemed to love us.

The other FOSS mentors at the event who I talked to had all heard of KDE and some had used Plasma in the past or still do. While most of the students I talked to had never heard of KDE, most of the ones who had been already using a Plasma-based distro (mostly KDE Neon, with some Manjaro)! Several GNOME-using students were impressed by what they saw and eager to help out, and the students already using KDE software were super duper enthusiastic. Most had never filed any bug reports or submitted patches, but eagerly jumped into this. They did not find the process of doing so especially difficult, so I suspect that a lack of outreach was principally what had kept them from doing so before.

Students were especially impressed with Yakuake, the embedded terminals in Dolphin and Kate, and Plasma itself. They all thought it was very attractive and polished-looking.

Onboarding & Technical Observations

Overall, the process of setting up a KDE development environment from scratch was not a major pain point, especially for the Linux-using students. However, a number of build failures took a lot of time to investigate and teach people how to work around. Please help to keep the master branches of your projects compilable with default CMake settings, common compilers, and easily installable dependencies, everyone!

The students using Apple laptops had to set up their development environments in virtual machines due to a lack of macOS support in our current developer tooling and documentation. I had them install Neon Developer Edition, which worked fine overall, but it occurred to me that this edition would be more useful for its stated purpose if it shipped with a pre-generated .kdesrc-buildrc config file, plus kdesrc-build itself and all necessary dependencies listed in the Guidelines.

These enhancements would have yielded significant time savings for my VM-using students.

Hardware observations

From my observations, at least 70% of the students attending the event were using Apple hardware running macOS. Most of the remaining students were using non-Apple hardware running some flavor of Linux, about a 60/40 mix of Plasma and GNOME, respectively. I did not see a single student using a PC running any version of Windows.

Overall it felt like a worthwhile endeavor! But after all the excitement and 36 hours of mentoring non-stop, I needed a good night's sleep...

Libre Graphics Meeting

Compiled from the blog of Timothée Giet

In 2020, Libre Graphics Meeting (LGM) 2020 was held online from 27th to 29th May.

The LGM is an occasion for all the contributors of graphics related Free Software to meet physically, and this year we had planned to organize it in our city of Rennes, France. But of course, with the current situation, we were forced to cancel the physical event. We hesitated to make an online event instead, as the biggest interest in this event is to have a physical meeting. We decided to ran a poll to see if there was enough interest for an online event, and the result showed us that there was.

This year, as has been happening for several editions, KDE sponsored LGM. Speakers at the event included Jonathan-David Schröder, who talked about G'MIC x Python x Blender; Tristan Bunn, who explained Processing Python Mode for Creative Coding and Teaching; Elisa de Castro Guerra and Cédric Gémy, who showed us how to Create assets for games with Inkscape 1.0; David Benqué, who taught us what Designing for/with CryptPad was like; and many, many more.

David Revoy also gave a workshop entitled ‘Here be dragons: speedpainting with Krita’. This workshop revealed a set of techniques and key steps to make a concept-art speedpainting of a fantasy creature using Krita and a tablet. The workshop guided the participants (from beginners to advanced) through the process of tweaking ideas visually with the large toolset provided by Krita. It also explored an inner world of little-known designs.

GNUHealthCon

By Luis Falcón

GNUHealthCon 2020 was held online from the 20th to the 21st of November.

It was not easy... We’re so used to celebrating the GNU Health Conference (GHCon) and the International Workshop on eHealth in Emerging Economies (IWEEE) in a physical location, that changing to a virtual conference was challenging. At the end of the day, we are about Social Medicine, and social interaction is a key part of it.

The pandemic has changed many things, including the way we interact. So, we decided to work on a Big Blue Button instance, and switch to virtual hugs for this year. Surprisingly, it worked out very well. We had colleagues from Gabon, Brazil, Japan, Austria, United States, Argentina, Spain, Germany, Chile, Belgium, Jamaica, England, Greece and Switzerland. We didn’t have any serious issues with the connectivity, and all the live presentations went fine. The time zone difference among countries was a bit challenging, especially to our friends from Asia, but they made it!

Qt and KDE projects in the spotlight

If we think about innovation in computing, we think about Qt and KDE. GNU Health integrates this bleeding edge technology in MyGNUHealth, the GNU Health Personal Health Record for desktop and mobile devices that uses Qt and Kirigami frameworks.

Aleix Pol, president of KDE e.V., presented Delivering Software like KDE, emphasizing delivering code that would be valid for many different platforms, especially mobile devices.

Cristián Maureira-Fredes, leader of the Qt for Python project, in his presentation Qt for Python: past, present, and future!, talked about the history and the upcoming developments in the project, such as PySide6, the latest Python package and development environment for Qt6. MyGNUHealth is a PySide application, so we’re very happy to have Cristián and Aleix on the team!

Dimitris Kardarakos presented a key concept in modern applications: convergence, that is, the property of an application to adapt to different platforms and geometries. His talk, Desktop/mobile convergent applications with Kirigami, explained how this framework works on KDE, the implementation of KDE's Human Interface Guidelines, and how it helps the developers create convergent, consistent applications from the same codebase. MyGNUHealth is an example of a convergent application, as it can be used both on the desktop and as a mobile device app.

As for me, I went into details on MyGNUHealth design in my talk, MyGNUHealth: The GNU Health Personal Health Record.

Working Groups

Sysadmin

By Ben Cooksley

2020 was a year of substantial change for the Sysadmin team, with a number of significant systems changing this year.

The most significant of these was the migration to Gitlab, with code hosting and review being successfully transitioned from our previous Gitolite and Phabricator setup. This involved not only importing the repositories, but also developing custom tooling where needed. This custom tooling supports functionality including our custom commit keywords, syncing of user account information from KDE Identity and the automated updating of project details on Gitlab.

Another significant achievement was the deployment of BigBlueButton, an online video conferencing system. While initially trialled to allow for the first remote Akademy, it has gone on to be used extensively for remote sprints as well as other community meetings to date. In addition to this, we also replaced our previous mirror management system (Mirrorbrain) with a new setup based on Mirrorbits. This change brought support for HTTPS mirrors, full support for IPv6 and improved the accuracy of matching people with the most appropriate mirror in addition to reducing the load on the server. At the same time, we also deployed a Tirex instance for rendering maps which are used in Marble and KItinerary. This has allowed us to offer both higher resolution and more up to date maps, improving the experience for those users.

During the year, we also rolled out a new service, ActivityFilter. This replaces the Commitfilter service that was discontinued several years ago and also expands its coverage to include Bugzilla, as well as Gitlab, merge requests and tasks, allowing members of the community to easily track areas they're specifically interested in. The introduction of MyKDE, a new service to centrally manage user information, was also a significant milestone and also marked the beginning of the process of replacing KDE Identity.

Going forward, we expect 2021 to be a year of consolidation, with Continuous Integration and Tasks both migrating to Gitlab and more services being transitioned to use MyKDE.


Created 73 subversion accounts

Disabled 4 subversion accounts


Created 5 kdemail.net aliases


Created 24 kde.org aliases

Disabled 9 kde.org aliases

Modified 12 kde.org aliases


Created 6 kde.org mailing-lists: neon-commits listowners bugsquad kde-i18n-cs rolisteam kde-l10n-hi

Disabled 65 kde.org mailing-lists: kgraphviewer-devel wikitolearn-core wikitolearn-promo koffice www-pl koffice-devel kde-kamoso kde-ev-hiring kde-ev-marketing social-desktop khtml-devel kde-i18n-nds kde-hardware-devel bangarang kde-networkmanager freenx-knx kde-apps-org campkde-participants kde-pim-meeting kde-events kontact wikitolearn-tech api-comments amarok-promo kairo-devel kdeev-books open-collaboration-services kde-ux-meeting kde-metrics parley-devel kde-enterprise-web kde-oldies w2l-editors kde-connect-team funq-devel kde-events-au kde-usability-devel akademy-br w2l-editors-it noatun-bugs kde-bretzn kexi-pl raptor kde-notes-announce kde-teaching kde-usability kde-events-fr kde-hci antispam-taskforce grancanaria amarok-committee kde-graphics-devel atelier kde-services-devel kde-i18n-vi kde-press-announce-pl kde-debian-private kde-cl kde-testing kde-distro-packagers kde-sonnet kde-openserver amarok-private gluon kde-kiosk

Financial Working Group

By Eike Hein, Neofytos Kolokotronis and David Edmundson

    <tr>
        <td>Other</td>
        <td class="text-right">215.34</td>
    </tr>                
    <tr>
        <td><b>Total Income:</b></td>
        <td class="text-right"><b>218,823.87</b></td>
    </tr>
    </tbody>
</table>

Income (€):

Patrons:43,900.00
Supporting members & donations:140,791.44
Akademy:24,430,00
GSoC and Code in:9,487.09
    

Expenses (€):

Sprints and meetings (sans Akademy):-6,304.04
Other Events:-9,737.30
Akademy:-6,847.40
Personnel costs:-112,206.47
Infrastructure:-5,810.05
Office:-8,791.35
Taxes and Insurance:-22,183.03
Other:-7,370.41
Total:-179,250.05

Report

In the early months of 2020, the emerging Covid-19 pandemic presented us with difficult to predict consequences for the ecosystem around our organization. We decided to revise our ongoing budget planning mid-year based on new information and also adopt a fiscally conservative approach that would allow us to adjust spending with shorter lead times if needed.

The pandemic's largest impact by far has been on one of KDE e.V.'s major activities, the organization and financing of events and event attendance. The community's annual flagship event, the user and developer conference Akademy, decided to adopt an online-only format, as did development sprint meet-ups and other events around the broader Free Software community we commonly attend.

Joining in the effort, we reallocated the travel subsidy budget to installing a re-usable infrastructure (servers and software for video conferencing among other things) to run online events. This infrastructure has since seen regular use and we consider it a significant addition to the community's operational tool set.

In addition to infrastructure, we also created and contracted for the new position of Event Coordinator to help us further improve the quality of our events. Originally meant to help the Akademy team conduct an improved in-person Akademy, this new capability allowed us to adapt to the changing situation with speed. Initially, in the form of a short-term work package, we have since decided to maintain the position longer-term to help us further improve our events also in 2021. It will be the second year the community will rely on the online-only format, and we aim for continuity to apply the experience we gained in 2020.

KDE e.V.'s major sources of income - donations from private individuals and corporations - generally remained stable or increased throughout 2020. In particular, donations from individual donors increased significantly. A highlight was the large one-time donation from the Handshake Foundation we received in January. Other individual donations increased by over 40%. In an economically challenging and unpredictable year, we more than ever do not take the commitment of our donors to the KDE community for granted. We would like to once again thank them warmly for their generosity.

Significantly reduced in 2020 vs. the preceding year was our income from two mentorship programs, Google Summer of Code and Google Code-in. This was in line with our expectations and financial planning. Further, a higher than usual amount of 23.500 EUR of corporate membership fees invoiced in 2020 was received at a delay in 2021. This income will be shown for the year 2021 in the following Annual Report, and this fact is important to bear in mind while studying figures for 2020. Also delayed until 2021 was the payment of income from Linux App Summit (LAS) 2020 sponsorships, due to the settlement process between the parties co-organizing the event. This amounts to an additional 2.724 EUR.

In summary, KDE e.V.'s income in 2020 exceeded its expenditure and our financial assets have grown. The great reduction in our spending on travel subsidy has allowed us to focus on expanding our engagement of professional contractors and the execution of projects, but we did so with the caution an unpredictable situation demanded and will continue to demand.

We think this sets us up well for 2021, in which we will continue to carefully monitor the effects the Covid-19 pandemic has on our community and the industry. With the re-usable infrastructure for online events now in place and travel unlikely to be a significant spending activity until late 2021 at the earliest, we will focus spending on several new contracted positions aimed at, for example, helping the community to improve technical documentation for developers and coordinate an expanding ecosystem of device manufacturers adopting KDE technology.

Financial Support: If you or your company are interested in financially supporting the KDE Community on an ongoing basis, please visit the Supporting Members page on the KDE e.V. website.

Highlights

By the Promo Team

When writing the annual report, we usually ask contributors to the Promo team to suggest what they think the main highlights of the year were. As the Promo team comprises, apart from marketing drones, developers, designers, translators and social media junkies, it offers a varied cross-section of the contributing KDE community and plenty of diverse ideas are thrown around.

However, this year we are doing something different: we are letting the wider audience of followers on social media "pick" what they thought were the most important stories of 2020.

And here they are, the four (one per quarter) most upvoted, re-tweeted, commented, shared and boosted stories we posted to our social media accounts in the year 2020:

Quarter 1: Windows 7 versus KDE


KDE offers a safe haven for Windows 7 refugees.

In January 2020, support for Windows 7 came to an end. In KDE we strongly believe that the vast majority of users would not miss anything from a closed proprietary system if they moved to an open source environment. So, seeing a window (heh!) of opportunity to attract new users, we whipped up the customized version of Plasma that looked just like Windows 7.

Dominic Hayes, the creator of Feren OS, tweaked his Seven Black theme and we created a wallpaper that looked similar to that of Windows 7 to make sure refugees felt at home. We even made a video.

Everybody, it seemed, had friends and family who were being forced to "upgrade" to something they didn't want. Moving to a platform that is open and respectful towards its users was a sideways move that resonated with our audience, making our spur-of-the-moment post a hit with our followers.

Quarter 2: KNOME


KDE and GNOME join forces.

Throughout the year, we have several dates in which the Promo team likes to have a bit of fun with users. April 1, April Fools' Day, is one of them.

In 2020, we decided to publish a "joke" that we had been kicking around for at least a year. We bought a domain, set up a website and announced to the world the launch of KNOME, a desktop that combined the best of KDE's Plasma desktop and GNOME's desktop.

We must've touched a nerve, because the net went wild. The post turned into the most popular we have ever published by a long shot. Still today, if you search for "KNOME", literally hundreds of sites will pop up with videos, articles and blog posts commenting on the joke, some humorously, others using KNOME as a metaphor for the state of fragmentation in Open Source projects.

And, indeed, there must be a lesson in there, somewhere, that we can learn from. Is it that there is a genuine desire for one unified desktop for the Linux and BSD's platforms? But we like diversity in FLOSS, right? We like having options. There are different desktops with different philosophies because there are different people that like interacting in different ways with their machines.

The thing is KNOME sparked a discussion... Or added fuel to one that was already ongoing. It helped that our friends at GNOME were also in on the joke and committed to it on their side too.

Which brings us to...

Q3: GNOME 3.38 is released


Free Software projects stick together.

Yep, the most popular post on social media for the 3rd quarter was not about a KDE project at all.

Again, an example of how silly the "KDE vs. GNOME" controversy in the face of how both communities enjoy celebrating each other’s successes...

Q4: Plasma 5.20 is released


Plasma 5.20 brought a massive overhaul to the desktop.

... Because the same happened in October when we published Plasma 5.20, when GNOME cheered on KDE's breakthrough release that brought a massive overhaul to dozens of components, widgets, and the desktop behavior in general.


The common thread through all these highlights seems to be that our followers get excited by and crave change. They encourage and cheer on people willing to take a leap of faith and move from a closed, proprietary environment to a free and open one, scary as that is; they support innovation and collaboration that lead to progress; and care little about blind loyalty to one single project, preferring to believe that projects with similar aims and principles, even if they have different approaches, are more likely to improve than detract from each other.

Thoughts from Partners

In many of my talks I mention the quote "Many small people, in many small places, do many small things, that will change the face of the world." KDE is a community of many diverse people, that do an amazing work all around the world for software freedom for many years, that will result in a society in which users are empower to control technology. A big thank you to all people involved in KDE!"


Matthias Kirschner, President of Free Software Foundation Europe

enioka Haute Couture feels kinship towards the KDE community, as we are driven by more than a few common core values. Thus, after receiving so much from the open source world and KDE in particular, we are extremely happy to be able to support them in turn."


Marc-Antoine Gouillart, CTO at enioka Haute Couture

Together with KDE we were able to make our LiMux 6.0 release enterprise ready and deploy it to over 10.000 Clients. We are very grateful that the KDE community helps us for several years. Bringing more work upstream, so other users can benefit from it, was important for us."


Tobias Fischbach, Project LiMux, City of Munich

Both the KDE and the LibreOffice community share the same goals and approaches towards software freedom. Many LibreOffice developers gratefully rely on projects from the KDE environment for their day-to-day work, and also contribute to KDE by improving the behaviour of LibreOffice within the KDE environment. The Document Foundation, which is hosting the LibreOffice project, is most happy to see that sort of collaboration and synergies happening, as it plays to the true strengths of Free Software."


Thorsten Behrens, Director & Member of the Board at The Document Foundation

New Members

KDE e.V. welcomed the following new members in 2020:

  • Luiz Fernando Ranghetti
  • Karl Ove Hufthammer
  • Jonah Benedict Brüchert
  • Iñigo Salvador Azurmendi
  • Aditya Mehra
  • Wrishiraj Kaushik
  • Méven Car
  • Martin Schlander
  • Johnny Jazeix
  • Niccolò Venerandi
  • Johan Ouwerkerk
  • Vlad Zahorodnii
  • David Redondo

KDE e.V. Board of Directors

Aleix Pol i Gonzàlez
President

Eike Hein
Treasurer and Vice President

Lydia Pintscher
Vice President

Neofytos Kolokotronis
Board Member

Adriaan de Groot
Board Member

Partners

Advisory Board

The KDE Advisory Board is a group of representatives of KDE e.V.'s patrons and other select organizations that are close to KDE's mission and community. It currently has 13 members, and there is a KDE e.V. working group with community members acting as direct contacts for our partners.

In 2020, some of the Advisory Board members had a chance to meet in person with the KDE e.V. board in February at FOSDEM, to talk over various topics of mutual concern.

Additionally, the Advisory Board held a call in July 2020, with the goal always being to inform the members of the Board, receive feedback and discuss topics of common interest.

One of the main topics of discussion during the call revolved around the status of Qt and the role of the KDE Free Qt Foundation. We also discussed our 2nd trinity of KDE Goals and the changes that took place in the e.V. since the previous call, including the new members of the Board of Director's and our new contractors.

In addition, the members were briefed on the status of our major events (Akademy, LAS) and all the development sprints that were being planned to take place online for the first time due to the measures against COVID-19 across the world. We discussed various challenges that the members also faced during the pandemic and exchanged ideas on tackling them.

The Advisory Board is a place and a symbol of KDE’s collaboration with other organizations and communities firmly standing behind the ideals of Free and Open Source Software.

Its current members include Blue Systems, Canonical, City of Munich, Debian, enioka Haute Couture, FOSS Nigeria, FSF, FSFE, OpenUK, OSI, SUSE, The Document Foundation, The Qt Company.

Patrons

Current patrons: Blue Systems, Canonical, enioka Haute Couture, Google, The Qt Company, Slimbook, SUSE.

Current supporters: KDAB, basysKom, Kontent.

Community Partners

Current community partners: Qt Project, Lyx and Randa Meetings.

About KDE e.V.

KDE e.V. is a registered non-profit organization that represents the KDE Community in legal and financial matters. The KDE e.V.'s purpose is the promotion and distribution of free desktop software in terms of free software, and the program package "K Desktop Environment (KDE)" in particular, to promote the free exchange of knowledge and equality of opportunity in accessing software as well as education, science and research.

Report prepared by Paul Brown and Aniqa Khokhar, with help and contributions from Carl Schwan, Aleix Pol, Neofytos Kolokotronis, Adriaan de Groot, Anupam Basak, Sashmita Raghav, Subin SibyBen Cooksley, Bhushan Shah, Niccolò Venerandi, David Edmundson, Jonathan Riddell, Kai Uwe, Daniel Vrátil, Volker Krause, Blumen Herzenschein, David C., Allyson Alexandrou, Kenny Coyle, Nate Graham, Baltasar Ortega, Jan Pontaoski, Arjen Hiemstra, Leinir, Marco Martin, Timothée Giet, Luis Falcón, the Plasma Team, the Plasma Mobile Team and the Promo Team at large.

    <p>
        This report is published by KDE e.V., copyright 2021, and licensed under <a href="https://creativecommons.org/licenses/by/3.0/">Creative Commons-BY-3.0</a>.
    </p>
    
    <a href="https://ev.kde.org/" target="_blank" class="text-center"> <img class="img-responsive" src="/reports/images/logo.png" alt=""/> </a>
</div>