Stop being Tier 1
Background
Kirigami's original intent was to be a branded all-encompassing app development platform easily usable by 3rd-party devs building convergent QtQuick apps without having to haul in more KDE frameworks.
Problem
This presents an inherent tension: by having a large scope, Kirigami needs to be as big as possible to ensure you get everything you need, but by being Tier 1, all the useful things in other frameworks either can't be used, or must be forked. This tension imperils the goal from the start.
And after many years of trying, it's unfortunately clear that the original plan was not a success. Today 3rd-party devs in our space most often choose Electron, Flutter, or even GTK.
Status quo
Instead, Kirigami has evolved to become a rich and useful library of QtQuick UI components for KDE's own software, widely used throughout Plasma and apps.
For this use case, Kirigami is an awkward mini Kdelibs, and the inability to depend on other frameworks creates real problems:
- Can't use or depend on useful things in other frameworks (e.g. Ki18n, KConfig, KWindowSystem).
- Can't migrate components into lower-level libraries that could be used by other KDE software not otherwise in need of Kirigami (e.g. Units, ColorUtils, ImageColors, WheelHandler).
- Duplication of code for needed features in other frameworks (e.g. icon sizes, color schemes).
- Frequent arguments over the proper scope of Kirigami, and what does and doesn't belong in it. This eventually prompted the creation of Kirigami Addons which is developed separately and whose scope and relationship to Kirigami are even less coherent in terms of developer UX, and which also presents some consistency and maintainability issues.
Proposal for improvement
This situation is not tenable and course correction is needed. I'd like to officially propose that Kirigami become Tier 3, which would let us begin solving all those problems. Tier 2 would be possible if KColorScheme could be moved to Tier 1.
Ultimately we would move low-level stuff not related to being a convergent UI toolkit elsewhere, and let what remains accumulate an ever-growing assortment of rich, ready-to-use components that make building a convergent app super easy.