Tuesday continued the Akademy 2021 BoFs, meetings, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Watch Tuesday's wrap-up session in the video below
Monday was the first day of Akademy 2021 BoFs, group sessions and hacking. There is a wrap-up session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.
Submitted by Paul Brown on Sun, 2021/06/20 - 10:52pm
The day started at 8:00 UTC sharp with four very interesting lightning talks. Kai Uwe Broulik talked about how to become productive using Plasma at home. He pointed out tips and tricks that allow you to avoid interruptions and improve your time working from your couch.
Niccolò Venerandi explained from experience how to grow a KDE Video Community. Niccolò runs a fledgling and upcoming YouTube channel and gave advice on how to manage your content and even how to successfully monetize it.
Alexander Saoutkin talked about KIO FUSE and how it brings a slew of useful features that help integrate remote file systems into the local one.
Rohan Asokan talked about Kalk, his first OSC project and his first experience developing for KDE. His story was an uplifting look into how you can get started in Free Software development.
At 9:00 UTC, Aleix Pol, Adriaan de Groot, Eike Hein, Lydia Pintscher and Neofytos Kolokotronis delivered their traditional yearly live KDE e.V. Board report. The Board members gave an overview of the activities carried out over the last year and provided an outlook for the next. Highlights included employing more contractors to carry out vital KDE work, plans for upcoming events and sprints (in person at last!), and the plans for KDE's 25th Anniversary happening later this year.
This was followed by KDE's working groups' reports. Tomaz Canabrava kicked off things by telling us about the Community Working Group, the group of valiant volunteers who tackle conflict resolution within the Community. Although 2020 was rough for many reasons, the CWG managed to solve disputes and added a new member to their ranks.
Frederik Gladhorn and Olaf Schmidt-Wischhöfer told us about the KDE Free Qt Working Group. The KDE Free Qt Foundation is in charge of maintaining and managing the agreement between KDE and the Qt Company regarding the licensing as free software of the Qt framework. The working group is supporting the members of the foundation and helped setting up KDE's Qt 5 Patch Collection.
Bhushan Shah then introduced the work being carried out by the Sysadmin Working Group. The list of tasks and achievements completed by KDE's sysadmins over 2020 is too long and impressive to list here, but, the highlights include setting up the Big Blue Button infrastructure for KDE events and sprints, upgrading and modernizing KDE's server infrastructures so it can handle the increase in demands from the Community (it served 40 Terabytes only in April!), the implementation of MyKDE, which will soon substitute KDE Identity, and improved specialized services, like maps.kde.org, that serves maps and plans to KDE's mapping applications such as Marble and Itinerary.
Neofytos introduced the Advisory Board Working Group and explained its role as a point of contact for sponsors and members of the Advisory Board. Neofytos also introduced KDE's two new patrons: Pine64 and Slimbook.
The Financial Working Group reported that one time donations increased by 40% in 2020. These are donations made by private citizens. The income from student mentorships (GSoC, Code-In) decreased as the interest seems to be trending down for these activities. Meanwhile, major income sources remained stable, although financial assets grew in 2020. Hence, as a non-profit, KDE needs to spend more money and is currently doing so by starting to employ more contractors.
Carl Schwan introduced the Fundraising Working Group, the group that identifies fundraising opportunities. Carl introduced the new member of the group, Niccolò Venerandi, and told us about the updated relate.kde.org and donations pages.
Regular talks started again at 10:20 UTC, and Raghavendra Kamath told us how they built a new way for artists, users and developers to communicate in the Krita community using Discourse. Apart from the technical details of the implementation, Raghavendra explained different features and how they benefited the users.
Meanwhile, in room 2, Kai Köhne, from the Qt Company, talked about "Porting user applications to Qt" and how the release of Qt 6 is going. Kai explained that, although 6.0 was released in December, not all of Qt 5 was ported at that time. Gradually, over 2021, more and more Qt libraries and frameworks will be implemented into Qt6, reaching completion in early 2022.
Later, in room 1, Neofytos Kolokotronis delivered his talk "Developing products that break out of our bubble(s)" in which he presented the various levels of bubbles that KDE's products need to break out from in order to grow their userbase. He used examples from applications that are already doing well, and proposed candidates ready to travel outside KDE's orbit.
In room 2, Timothée Ravier introduced us to "Kinoite", a new immutable Fedora variant with the KDE Plasma desktop based on rpm-ostree, Flatpak and podman. Timothée explained how "Kinoite" improves the user experience with atomic and safe updates for the system (rpm-ostree), the applications (Flatpak) and development tools or containers (podman).
The morning sessions finished with Lydia Pintscher and Neofytos again in room 1 talking about "Making a living in KDE", and Arjen Hiemstra in room 2 with his presentation "Closing the distance between CPU and GPU with Signed Distance Fields".
At last year's Akademy, the KDE e. V. board announced that they were putting together an initiative to help people make a living with KDE products. In today's presentation, Lydia explained what they wanted to do in that regard and the plans for the future.
Meanwhile, in room 2, Arjen explained how traditional 2D rendering methods using exclusively CPU were missing out from using increasingly powerful GPUs. In his talk, Arjen described a technique called Signed Distance Fields, already in use in the KQuickCharts framework and ShadowedRectangle in Kirigami, that offers a very powerful tool for advanced 2D rendering.
After a break, the conference started up at 17:00 UTC again with sponsor talks. openSUSE, Canonical, reMarkable, Pine64, Shells and Collabora all sent video messages explaining what they do and wishing the Community a happy and productive Akademy.
In the first talk of the evening in room 1, Andreas Cord-Landwehr introduced us to "The Art of Logging", and showed us how the Qt logging framework worked and how one can access and analyze logs via remote access even using an embedded device, like a Plasma Mobile smartphone.
In room 2, Marco Martin talked about "Plasma internals: the next few years", where he talked about the move from Qt5 to Qt6. He explained that, while the port to Qt6 is not posing a technology challenge as big as when KDE migrated from Qt4 to Qt5, it does open the door to learning from the lessons of the Plasma 5 lifetime, and the possibility to refactor and simplify things in order to offer a leaner and more robust experience for users and developers alike.
At 20:20 UTC, David Edmundson presented "Addressing Wayland Robustness" in room 1, in which he talked about the current inherent instability of Wayland and how Plasma, as a late-adopter of the X Windows successor, could possibly avoid some of the issues that troubled other environments.
In room 2, Christian Strømme took us to another dimension with his talk "Qt Quick 3D in Qt 6.2". In his talk, Christian introduced us to Qt Quick 3D and its features and showed us how it could be used to create spectacular 3D renders and effects.
Later, Björn Balazs took to room 1 and told us "How we can solve the personal data problem". Given the issues derived from collecting and processing personal data, Björn provided in his talk a vision for the KDE Community of a system, that would be trustworthy, democratic, transparent and that guarantees digital privacy for each and every one. At the same time, it would provide fair access to personal data for those interested.
Meanwhile, in room 2 Igor Ljubuncic, aka "Dedoimedo", took us to Snaps, the final frontier with "Dev Trek - The Next Generation". In Igor's talk, he told us about the advantages of Snaps, self-contained applications, that boast reliable updates and a coherent behavior across a wide range of distributions.
Towards the end of the evening, Bhavisha Dhruve, Aniqa Khokhar, Aiswarya Kaitheri Kandoth and Tomaz Canabrava told us about KDE Network, the project that builds communities in places where Free Software adoption would otherwise be scattered at best. In the talk, the panel explained the achievements they have reached since the program began, and the upcoming projects they are currently working on.
The last session was the keynote by Jeri Ellsworth, "Journey from Farm Girl to Holograms". Jeri is a maker extraordinaire, ex-Valve hacker, self-taught chip designer and inventor of a system for playing 3D tabletop games using Augmented Reality glasses. She told us how her mentors helped her become the successful techie she is today in a roller coaster of a story, with so many twists and turns, that this brief description cannot do it justice.
You will just have to hear it for yourself.
In fact, if you missed any of today's talks, you can catch up watching the raw unedited version of the footage on YouTube.
Although this is not the best way to watch the talks, and we are working on bringing you higher quality, nicely edited videos, if you can't wait, here are the links:
Submitted by Paul Brown on Sat, 2021/06/19 - 10:01pm
First thing in the morning, Aleix Pol, president of KDE, introduced the event at and explained how Akademy 2021 was still "special" because we could still not meet in person.
Aleix then introduced the first keynote speaker of the event: Patricia Aas, co-founder of TurtleSec and a C++ developer and trainer. In her talk, Patricia explored bugs, types of bugs, how to deal with the secondary problems bugs create.
Then Aleix was back with his own talk, in which he told us about KDE's "All about the apps" goal. The goal encourages community members to develop, improve and help distribute KDE apps. Thism it turns out, is especially important for new KDE environments, such as Plasma Mobile! He explained how the goal is going and encouraged people to join the effort.
Niccolò Venerandi took over and talked about the "Consistency" goal. The Consistency goal seeks to make sure all KDE elements integrate well with each other, and makes sure the look and feel of apps and environments are similar across the board. He explained, with live drawings, how people working on this goal establish rules for each of the elements in graphical elements, such as app windows, and how that has contributed to apps gracefully integrating with each other.
Méven Car then talked about all the progress made by the people working on the Wayland goal, and Vlad Zahorodnii covered the next steps of what would soon be arriving.
All the goal Champions, Aleix, Meven and Niccolò, got together with Adam Szopa and Lydia Pintscher and talked about their projects and how they help focus the efforts of the KDE community. Although, as Lydia pointed out, it is not the only way to get things done in KDE, it is a good way to start and understand what KDE's main concerns and aims are.
The morning ended with four lightning talks, in which Anupam Basak talked about how to use Qt with Python; Carl Schwan analyzed the health of the KDE Community with some very illuminating (and colorful!) graphics and charts; Andreas Cord-Landwehr talked about SPDX License Markers in KDE, that is markers placed inside code that identifies the license the code is distributed under and that can be read by a machine (saving a lot of money in legal fees!). Finally, David Redondo talked about Power Profiles in Plasma, that is, how Plasma manages the power it needs, the state of the battery and so on.
The evening talks started at 17:00 UTC with the Sponsors' Talks, where the companies and organizations that helped finance Akademy explained their products and services, and the role Open Source software plays in their businesses. Mbition, KDAB, Qt Company, GitLab, Fedora all delivered talks.
Later, in Room 1, Nicolas Fella used his talk "What's cooking for KDE Frameworks 6" to explain the work being carried out to build KF6. KF6 is the version of KDE Frameworks which will use, and be compatible with Qt6. In the talk, developers learned about upcoming changes and how they could contribute to the effort.
Meanwhile, in Room 2, in his talk "Staying Indoors - OSM indoor maps for KDE Itinerary", Volker Krause observed that providing information about the insides of building, such as big stations and airports, can be vital for travelers. Unfortunately, often the data you get from online services is confusing and overwhelming. Volker explained how KDE's Itinerary app splits up the information, making large buildings easier to navigate.
At 20 past six, Dan Leinir Turthra Jensen took over in Room 1 and told us their History of Software Distribution, and explored the many ways they have tried to get software to users.
At the same time, in room 2, Daniel Vrátil, introduced us to C++ Coroutines, a new feature in C++ 20. He explained how coroutines can be used with certain Qt operations, such as DBus calls, network replies, and so on.
Then Massimo Stella presented Kdenlive, KDE's advanced video-editing software. In his talk, he covered the Kdenlive's new features, such as the "smart" subtitler, the zoom bars in the timeline, and same-track transitions.
Meanwhile, in room 2, Kevin Ottens, in his presentation "KF6 the Architecture Overview - Time to Slice Things Up Yet Again", talked about how the KF5 offer was originally structured and how it has led to some issues over time. He then explained an idea that could help improve things while moving to KF6.
Back in room 1, Paul Brown and Aniqa Khokhar explained to attendees how they can take advantage of the Promo team in "Promo as a Service", and how KDE members could improve the visibility of their projects.
Meanwhile, in room 2, David Edmundson was delivering "Wayland for Qt application developers". In his talk, he explored what Wayland means for Qt application developers, and some common traps and pitfalls and how to avoid them.
During the last session in room 1, Cornelius Schumacher explained in "Towards sustainable computing" what the impact computing had on our environment and talked about strategies KDE could adopt to become more efficient, and how developers could create apps that used less energy.
Finally, in room 2, Alexander Saoutkin used his talk "ARM Memory Tagging Extension - Fighting Memory Unsafety with Hardware" to explore the threats posed by memory unsafety in C++ programs and some new tools that help minimize them.
Although it is not the best way to watch the talks, if you are in a hurry to watch a specific session, there is a raw and unedited recording of the talks on YouTube:
PINE64, the hardware project that aims to bring ARM and RISC-V devices to FOSS enthusiasts world-wide, widely known for their PinePhone and PineBooks, joins KDE's supporting members program as a KDE Patron.
"We have a long-standing relationship with KDE, and our Pinebook Pro and PinePhone shipping with Plasma are a testament to this commitment. Indeed, the promise early Plasma Mobile development held was the deciding factor for us to create the PinePhone. We are thrilled to have been made a patron by KDE e.V. and are excited at the prospect of
an even closer cooperation in the future."
— Lukasz Erecinski PINE64 Community Manager
"KDE's last few years have been without a doubt spurred by Pine64's vision to bring affordable devices that have good support for our core technologies. In KDE, we make software and we need good hardware to run on. Having such devices available allows us to materialize the experience we want for our users. PINE64 is pushing our limits on this front. I'm looking forward to having them as our Patron and working on new great products for everyone around."
— Aleix Pol - KDE e.V. President
PINE64 joins KDE e.V.’s other Patrons: The Qt Company, SUSE, Google, Blue Systems, Canonical, Enioka and Slimbook to continue to support Free Software and KDE development through the KDE e.V.
KDE In Action: cases of KDE technology in real life.
Overview of what is going on in the various areas of the KDE Community.
Collaboration between KDE and other Free Software projects.
Release, packaging, and distribution of software by KDE.
Increasing our reach through efforts such as accessibility, promotion, translation and localization.
Improving our governance and processes, community building.
Innovations and best practices in the libraries and technologies used by KDE software.
Why should I submit a talk?
KDE is one of the biggest and well-established Free Software communities. Talking at Akademy gives you an audience that will be receptive to your ideas and will also offer you their experience and know-how in return.
As an independent developer, you will gain supporters for your project, the insight of experienced developers, and you may even gain active contributors. As a community leader, you will be able to discuss the hot topics associated with managing large groups of volunteers, such as management, inclusivity and conflict resolution. As a CTO, you will be able to explain your company’s mission, its products and services and benefit from the brainshare of one of the most cutting edge community-based Free Software projects.
How do I get started?
With an idea. Even if you do not know exactly how you will focus it, no worries! Submit some basic details about your talk idea. All abstracts can be edited after the initial submission.
What should my talk abstract or proposal include?
This is a great question! To ensure you get your point across both clearly and comprehensively, your abstract should include uses of your idea or product and show what different groups of people get out of it. For example, how can a company, developer, or even a user benefit from using your app? In what ways can you further their experiences?
If you’re still stuck on where to start or what to talk about, take a look at a brief list of talks given in previous years at Akademy:
As Qt 5 support is drawing to a close, and we shift to Qt 6, we need to ensure that KDE products are as reliable as ever. To this end, KDE will be maintaining a set of patches with security and functional fixes so that we can enjoy good KDE Software still based on Qt5 until our software is reliably based on Qt 6.
You can find more information on the technical details of this patch collection here.
“The Qt Company and KDE have been co-operating in development of Qt 6 actively and KDE is well set to migrate to Qt 6. Even though our aim has been to make porting to Qt 6 easy and straightforward, we do understand that with a large framework like KDE has porting to Qt 6 takes some time, and such a patch collection can help manage the transition.”
— Tuukka Turunen, The Qt Company, SVP R&D
"To transition to great future technologies like Qt 6 we need to have the peace of mind that our current users are catered for. With this patch collection we gain the flexibility we need to stabilize the status quo. This way we can continue collaborating with Qt and deliver great solutions for our users."
— Aleix Pol, KDE e.V. President
In this vein, we encourage everyone to participate in the KDE Frameworks 6 ongoing effort.
After several product collaborations, today we celebrate an extension of this partnership by welcoming Slimbook to the KDE Patrons family.
Alejandro López, Slimbook CEO explains,
“Since our early days in 2015, we at SLIMBOOK have been trying our best not only to sell GNU/Linux compatible quality hardware, but also to contribute and help those who make Free and Open Source Software.
Our variety of contributions range from giving support to local groups of developers, the making of forums and tutorials to help the Linux community and sharing a common vision with KDE, to hit the market with a device able to provide the end user with the best out-of-the-box Linux experience available.
But our mission doesn’t end there and there’s more than meets the eye. Our main goal is to share our knowledge and experience, help each other, and of course, to give the GNU/Linux users the best in hardware excellence the same way as the KDE Team do with their excellent software experience.
We take our duty of supporting the KDE Community full of pride, and we are honored to be KDE Patrons."
Aleix Pol i Gonzalez, President of KDE e.V. stated,
“Slimbook’s attention towards FOSS users as a hardware provider is very important to KDE and the community at large. For KDE, being able to reach beyond the software experience to tangible and properly integrated solutions has been a dream come true. Working together in the different collaborations over the years has been really exciting, and we look forward to continuing doing so with Slimbook as a Patron.”
Slimbook will join KDE e.V.’s other Patrons: The Qt Company, SUSE, Google, Blue Systems, Canonical and Enioka to continue to support Free Software and KDE development through the KDE e.V.
Jonathan Riddell: Can you tell us what LabPlot does?
Stefan Gerlach: LabPlot is a desktop application for interactive visualization and analysis of scientific data. We try to provide an alternative to commercial products like OriginLab Origin, SigmaPlot or IgorPro, but also use modern desktop features. There are some free applications with more or less overlapping goals like SciDAVis and kst and we collaborate with them.
LabPlot is a multi-platform KDE application. The current code base, named LabPlot2, started in 2006 when rewriting the old version LabPlot 1.6. Our main development platform is Linux, but most of our users are on Windows, so we are working hard to make everything work there too.
Stefan: Cantor is basically a frontend to several (mathematical) applications like Python, Octave, Sage or Julia with a nice worksheet interface.
Cantor-Worksheets can be used in LabPlot to do calculations and show the results. Two nice examples can be found at the Labplot gallery. I'm not a main developer of Cantor, but mainly work on porting it to Windows and macOS to make it available for LabPlot.
Jonathan: How was the Windows build of LabPlot made?
Stefan: We have been using the Binary Factory to build nightly and release builds for Windows for some time now. Before that we had a virtual machine running Windows with Craft installed to make our own packages. It was not easy to get everything built correctly on the Binary Factory, but, looking back, it was worth the effort.
Jonathan: What sort of QA have you done on the Windows build of LabPlot?
Stefan: Besides several unit tests that we have, most of the QA we do now is using new features on all platforms. We also get user responses from nightly builds when things are not working as expected. This helped a lot to find regressions and problems especially on Windows.
Jonathan: How easy was it to get access to the KDE account on the Microsoft Store?
Stefan: Very easy. I just had to open a sysadmin ticket :-)
I don't think that every application developer needs access to the KDE account. If a Windows package is well prepared and tested, the submit process can be easily done by any developer on the KDE Partner Center.
Jonathan: What sort of process did you have to go through to get it into the Microsoft Store?
Stefan: To get LabPlot in the Microsoft Store I used the excellent submission guide. Before that I followed the corresponding Phabricator ticket for requirements and prepared the Windows package on the Binary Factory. It took some time to do it the first time, but other application developers can surely find help if needed.
Jonathan: LabPlot is available at no cost, did you consider charging for it the same as Krita does?
Stefan: We are happy to provide a free software application for anyone to use. Any donation right now goes to KDE and we think this is well earned for providing such a great framework and infrastructure for developers.
We already talked internally about whether we should collect money for hiring developers but we decided that it probably won't pay off. We know that our target group is rather small and we don't have so many users as more popular KDE applications :-)
Jonathan: Do you have a process to keep the LabPlot version on the store up to date? Have you considered how you would handle security updates for example?
Stefan: Updating all packages is part of our release plan as far as we can support it. It normally takes a few days after the source is published but we are only a small team :-)
Security is normally not an issue for LabPlot. As far as i can remember there were never any security problems in our code. But in case there are any, we would fix it as soon as possible and update all packages.
Jonathan: Have you looked at other platforms and stores for LabPlot?
Stefan: Sure. Our third major platform is macOS, which is not as popular among our users, but it is gaining more and more popularity. Improving LabPlot on macOS with the help of our users is something we constantly work on.
With the latest release we started to look at more ways to make LabPlot available.
Besides for the Microsoft Store, we also created a flatpak with the help of the Binary Factory and added the latest release on Flathub.
There is also a FreeBSD build on build.kde.org so we can make sure that it at least compiles on other Unix-like platforms. Besides that, I'm not aware of anyone using LabPlot on anything else than Linux, Windows or macOS. But this should already be sufficient for most users :-)
We would be happy to use more stores and platforms like for ARM architectures, as well as AppImage or Apple Store when KDE has better support for it.
Submitted by Paul Brown on Sun, 2020/12/13 - 11:09am
Since 2013, the KDE Student Programs has been running Season of KDE. Season of KDE is a program similar to, but not quite the same as, Google Summer of Code. It offers an opportunity for everyone (not just students) to participate in both coding and non-coding projects that benefit the KDE ecosystem. In the past few years, SoK participants have not only created new application features, but have also developed the KDE Continuous Integration System, statistical reports for developers, a web framework, ported KDE applications, created documentation, and contributed to KDE with lots and lots of other tasks.
The Season of KDE 2021 timeline is now online and the season starts now and you have until January 4 to find a project that interests you. This year the coding period will be longer, as we found that the 3 weeks full-time coding period from earlier editions was too stressful for the students and for the mentors. Season of KDE is meant to be a fun event to participate in, so this year, you will have more time to complete your task and you can have a more flexible timeline.
There is already a list of proposed projects available in the wiki. You have little less than a month to find a project that interests you and your mentor. Your goal is to get noticed by the mentors by, for example, sending Merge Requests to their projects, sending high-quality bug reports, or simply by starting to interact with them. Remember that many KDE developers have a life beyond KDE and won't respond immediately. Also, it is recommended you contact the mentors in the public channel so that if they can't respond, someone else can.
Once you find a project and a mentor, you can submit a proposal for a project at the Season of KDE site. Note that you will need a KDE Identity account to register. We have some guidelines for proposals on the wiki. Your mentor will review your idea and, if nothing goes wrong, your proposal will be accepted on the 11th of January.
If you have any questions, you can ask in the #kde-soc channel.