Well, according to the input, the word "experimental" brings messages regarding temporary status and transferring to public API in the future, that doesn't fit well to some cases. To address this, I'd rather choose the word that reflects its semiprivate status and limited compatibility guarantees.
* protected - for me, it doesn't sound clear in terms of headers * limited_compat - looks good, but doesn't reflect private status * semiprivate - perhaps better as it reflects what it does So, what about "semiprivate"? Confidential ________________________________ From: Fabian Kosmale <[email protected]> Sent: Thursday, May 21, 2026 11:30 AM To: Qt development mailing list <[email protected]>; Artem Dyomin <[email protected]> Subject: AW: Semi-private headers in Qt Hi, for some modules, "experimental" might be fine, but I believe calling QRhi or QPA experimental might send the wrong message: It's not an experiment that, if successful, would at some point become stable API, but it's API where we never want commit to API and ABI stability, as we need the flexibility to adapt to changes in the underlying APIs. "experimental" might also be read as "not fit for production usage", which is IMHO also the wrong message. Kind regards, Fabian -- Fabian Kosmale Manager The Qt Company GmbH Erich-Thilo-Str. 10 D-12489 Berlin [email protected] +49 1638686070 https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fqt.io%2F&data=05%7C02%7C%7C7c19a7e7d4cc4bcfa54408deb71b99c1%7C20d0b167794d448a9d01aaeccc1124ac%7C0%7C0%7C639149526350575904%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=l28p2OGfFzt6CI6cwZ%2F2y5ko2zs3DdiHtyuZMWy2xuo%3D&reserved=0<http://qt.io/> Geschäftsführer: Mika Pälsi, Juha Varelius, Juha Puputti Sitz der Gesellschaft: Berlin Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -- ________________________________________ Von: Development <[email protected]> im Auftrag von Artem Dyomin via Development <[email protected]> Gesendet: Donnerstag, 21. Mai 2026 11:07 An: Qt development mailing list Betreff: [Development] Semi-private headers in Qt In Qt, we have semi-private functionality for rhi, qpa, ssg, that contain a disclaimer in headers and docs limiting SC and BC guarantees, and requiring to link the private part of the module. The headers are deployed as <QtGui/rhi/qrhi.h> etc. We want to add similar headers for Multimedia with GStreamer functionality. A good idea is having a good name for this kind of API (e.g. experimental) and deploy the headers as <QtModule/experimental/qheader.h>. The current plan is deploying new gstreamer-related headers under the new name, and then consider transferring existing headers to the new approach (with keeping old ones). In my view, the term "experimental" is the best as the term "experimental" in C++ highly correlates with how Qt declares it in terms of SC and BC. A discussion has been started in the CR adding "experimental". https://codereview.qt-project.org/c/qt/qtbase/+/736307 Other proposals are "semiprivate", "nocompat", "unstable" or similar. Are you agreed that <QtModule/experimental/qheader.h> works fine for these semi-private headers? Confidential
-- Development mailing list [email protected] https://lists.qt-project.org/listinfo/development
