Qt Contributor Summit 2023 - Program

From Qt Wiki
Revision as of 08:47, 21 September 2023 by AlexBlasche (talk | contribs)
Jump to navigation Jump to search


Please, add your sessions/talks/presentations to the table below.

If you have any issues while editing this page, please contact Pedro Bessa directly at pedro.bessa@qt.io

Make sure to include a title, state your name, define its format, and write a short description.

Topic: write a brief title for your topic of discussion.

Speaker: Add the name of speaker(s) or session facilitator.

Format: is it a discussion, presentation, workshop or something else?

Summary: include here a brief summary of that is to be discussed.

It doesn't need to be a final version of what will be presented, but it's good to have an idea of the presentation's scope and general lines.

Topic Speaker Format Summary
TaskTree Jarek Kobus Presentation TaskTree - generic solution for automatic management of asynchronous task (C++). More info: https://wiki.qt.io/TaskTree.

The TaskTree can automatically manage the chain (or tree) of asynchronous tasks of mixed types.

The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.

The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.

The TaskTree is currently broadly used in QtCreator, e.g. for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, and much more...

The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.

Qt - Connected First Vladimir Minenko Discussion (with some presentations) Since a while there are multiple additions to Qt wthattarget more efficient development of apps talking to different web services as well as implementing distributed architectures. As of July 2023, it ranges from the new Qt gRPC module and the "revived" Qt HTTP Server to ongoing works on various helpers for REST in Qt (see QTBUG-112276 and issues linked to it). Not mentioning the Qt Interface Framework and Qt D-Bus as IPC components in Qt.

But what should we do next or differently in this domain? Introduce an integration of GraphQL? Invest more time in OpenAPI instead of GraphQL?

In this session we will give an overview of what is going on and available, but most importantly we want ,to discuss and hear your views and opinions

Evolving QIcon and theming Volker Hilsheimer Discussion QIcon delegates the loading and rendering of icons to platform-specific icon engines, ultimately producing a pixmap. Theme support is very much based on the freedesktop spec, which hasn't moved much since 2006 years. In more recent years, Microsoft and esp Apple have added rich support for icons to their platforms.

QIcon and the theme-abstraction as it is today doesn't map well to those capabilities. The implementation has improved in the context of QTBUG-102346, but the design is in general too limited to support multiple system themes, layered icons with variable properties, and icon coloring and tinting with palette or hierarchical color support.

Let's discuss how we can evolve QIcon, QIconEngine, and the theming infrastructure we have, so that we can give application developers access to the platform's capabilities, and perhaps emulate what we can on other platforms.

Since it's related, we might also talk about QtSvg, support for vector graphics animations and animated emojis.

QtWayland Remaining Issues David Edmundson Discussion The Wayland API does not map nicely to patterns used on every other platform in various aspects of window management. We need to fix popups, find a direction for the native API and look at what other unsolved issues we have in the QPA that we either need to fix here or upstream.
Getting more external contributors David Edmundson Presentation Having the QtProject developed by a wide range of developers is an important part of getting the most of being an open source project. There's a lot of really simple things we can all do as developers to both attract new developers and build them into future maintainers. I can present some experiences from contributing to many other open source projects of what works well from both the contributor and maintainer point of view.
Qt & Cyber Security Kai Köhne Discussion Interest in cyber security topics has vastly increased in the last months. A lot of customers are asking how 'secure' Qt is ... which is sometimes hard to answer, also given that Qt is a framework, and can be used in countless (and sometimes surprising) ways. How can we improve our security practices themselves, and how can we communicate 'best practices' how to use Qt to our users?
Two-way BC in Patch Releases Volker Hilsheimer Discussion We currently promise to maintain both forward and backwards binary compatibility within a patch cycle. While backwards BC is not controversial, forward compatibility seems to have no practical purpose for our users. Qt developer can test issues against several patch levels of the same release without recompiling, but that's such a minor benefit that it might not justify the restrictions forward BC impose on us. Conclusion of discussion on https://lists.qt-project.org/pipermail/development/2023-August/044333.html
Improve API review process Alex Blasche Discussion Our API reviews for Qt 6.5 & 6.6 were significantly longer than previous releases. Partly this was caused by more issues being found, reviews being more thorough and potentially because there very slow response and action after review comments are done. Let's discuss how we can improve the situation.


I18n with CMake Jörg Bornemann Presentation/Discussion The existing CMake i18n commands are too limited for more complex projects. We'll present the overhauled i18n Qt/CMake commands that we want to release with Qt 6.7 and collect feedback from you.
QtGraphs API and architecture Tomi Korpipää, Kwanghyo Park Workshop/Discussion The architecture in QtGraphs in Qt 6.6, apart from replacing the 3D rendering engine and some of the plumbing, is basically a carbon copy of QtDataVisualization, which was originally made over 10 years ago. We have already implemented some architecture and API changes for Qt 6.7, but there is more to be done. How can we modernize the API and architecture further?
moc in 202x and beyond Fabian Kosmale Workshop/Discussion moc is a central part of Qt's meta-object system. It's also a glorified pre-processor, and it's getting long in the tooth: We still don't support some C++11 constructs, let alone C++20 modules. There have been previous approaches towards replacing moc: e.g. Olivier's moc-ng (https://github.com/woboq/moc-ng) as an alternative implementation, and Verdigris as a pure macro-based implementation. There was also a hope that C++ itself would gain sufficient reflection facilities, but that is unlikely to happen in the near future. In this session, I'd like to evaluate the requirements we have for moc inside Qt, and discuss a way forward for it.
Better OSS contributor planning Vladimir Minenko, Alex Blasche Discussion Explore options how external contributors could join grooming/planning sessions for their areas of interest. Vladimir recently started this effort in the context of Qt Network, but other domains like QtCore may benefit from it too.