[media-types] [IANA #1453840] text/qml registration requ est
"Amanda Baber via RT" <[email protected]> Wed, 17 Jun 2026 17:37:59 +0000
| Newsgroups | gmane.ietf.types |
|---|---|
| Message-ID | <[email protected]> |
Hi Alexey, We've received a request to register text/qml as a grandfathered standards-tree type. Would you be able to review this by July 31st? They've provided an argument for grandfathering (pasted below after the registration form), but would be OK with vendor-tree registration if you can't recommend that. thanks, Amanda ===== FORM: Name: Samuel Cuesta Pardo Email: [email protected] Media type name: text Media subtype name: qml Required parameters: charset The charset parameter MUST be specified. The default value is "utf-8". QML files are text files that use Unicode encoding. Optional parameters: N/A Encoding considerations: 8bit QML files are UTF-8 encoded text. Lines may exceed 998 octets in length. As such, "8-bit" encoding considerations apply per RFC 6838 section 6. Transports not capable of handling 8-bit text should apply appropriate encoding (e.g., quoted-printable or base64). Security considerations: (1) QML files contain executable content in the form of declarative JavaScript expressions and property bindings. When processed by a QML engine (such as Qt QML), this content executes within a sandboxed environment with controlled access to system resources via the Qt security model. QML engines that load content from untrusted sources should implement appropriate sandboxing, access controls, and permission systems. (2) QML files do not inherently require privacy or integrity services. However, applications loading QML from untrusted network sources should verify content integrity and authenticity through external mechanisms such as TLS (HTTPS) and code signing. (3) The QML language supports network requests, local file access (subject to engine permissions), and interaction with external devices. QML engines should implement appropriate permission models to restrict these capabilities when processing untrusted content. (4) QML uses a JavaScript-like syntax but does not use XML or JSON as its underlying format. No specific XML or JSON security considerations apply. (5) QML files may import external modules by URI. Resolvers processing these imports should validate the source and integrity of imported modules. Interoperability considerations: QML is a language specific to the Qt framework ecosystem. Files of this type are intended to be processed by Qt QML-compatible engines. Other consumers may treat the content as plain text (text/plain) as a fallback, since QML syntax is human-readable. The QML language is defined by The Qt Company and its specification is publicly available. Published specification: Qt QML Documentation: https://doc.qt.io/qt-6/qtqml-index.html Qt QML Language Specification: https://doc.qt.io/qt-6/qml-language.html QmlBrowser (implementation serving text/qml over HTTP): https://github.com/Toorion/qml-browser Applications which use this media: QmlBrowser (https://github.com/Toorion/qml-browser) — a web browser that renders QML pages served over HTTP Qt Creator IDE — identifies and opens .qml files qmlscene — Qt QML runtime viewer Qt QML Engine (QQmlEngine) — the core QML runtime used by all Qt Quick applications Any application built with the Qt framework using the Qt QML module Fragment identifier considerations: N/A Restrictions on usage: None Provisional registration? (standards tree only): No Additional information: 1. Deprecated alias names for this type: N/A 2. Magic number(s): N/A 3. File extension(s): .qml 4. Macintosh file type code: N/A 5. Object Identifiers: N/A General Comments: Person to contact for further information: 1. Name: Samuel 2. Email: [email protected] Intended usage: COMMON == ADDITIONAL INFORMATION: The applicant has provided the following information in support of grandfathering the type: Documentation: QML (Qt Modeling Language) has a published, publicly available specification maintained by The Qt Company: - Qt 6 QML reference: https://doc.qt.io/qt-6/qtqml-index.html - Qt 6 QML language syntax: https://doc.qt.io/qt-6/qtqml-syntax-basics.html - Wikipedia: https://en.wikipedia.org/wiki/QML_(Qt_Modeling_Language) The language has been documented in published books, including: - Qt 6: QML: https://www.qt.io/product/qt6/qml-book - Qt 6 C++ GUI Programming Cookbook: https://github.com/PacktPublishing/QT6-C-GUI-Programming-Cookbook---Third-Edition- - Qt 6 QML for begginers: https://github.com/rutura/Qt6QMLBeginnersBookRelease Wide Use: QML has been in continuous production use since Qt 4.7 (September 2010) — over 15 years. It is the primary declarative UI language for the Qt framework, which is one of the most widely used cross-platform application development frameworks. Notable deployments and users include: 1) KDE Plasma — the default desktop environment for multiple major Linux distributions (openSUSE, Kubuntu, Fedora KDE Spin) uses QML extensively for its shell and widgets. 2) Automotive industry — Qt/QML is widely used for in-vehicle infotainment (IVI) systems. Mercedes-Benz MBUX, Volvo, and other manufacturers use Qt-based systems. 3) Embedded systems — Qt/QML is a leading framework for medical device UIs, industrial HMI, and IoT devices. 4) Open source community — Multiple projects use QML, including: - Liri OS - Plasma Mobile (KDE) - Multiple apps on Flathub Existing Use of the text/qml Media Type: The text/qml media type (not just the .qml extension) is already in use: - Qt Creator (The Qt Company's official IDE) — internal MIME handling - QmlBrowser (https://github.com/Toorion/qml-browser) — a Chromium-based browser that renders QML pages served with Content-Type: text/qml - GitHub Linguist — recognizes .qml files - Multiple editor extensions (VS Code, Kate, etc.) Multiple Implementations: Beyond the reference implementation in Qt, QML parsers and tooling include: - The official QtQML engine (open source, LGPLv3) - Community tooling such as qmllint, qmlformat (bundled with Qt) - Third-party syntax highlighters and language servers Standardization-like Characteristics: While The Qt Company is not an IESG-recognized SDO, the QML specification: - Is publicly published and versioned - Has been stable across multiple major Qt releases (4.7 → 5.x → 6.x) - Has an open governance model (The Qt Project, https://www.qt.io/developers/qt-project-governance) - Is implemented under an open source license (LGPLv3) Summary: Given QML's 15+ years of production use, public specification, multiple independent deployments across industries (desktop, automotive, embedded), and existing use of the text/qml media type in tooling, I respectfully request that the IESG-designated media type experts consider recommending text/qml for grandfathered registration in the Standards tree. If the experts determine that grandfathering is not appropriate, I am willing to proceed with the Vendor tree (text/vnd.qml) as a fallback. _______________________________________________ media-types mailing list -- [email protected] To unsubscribe send an email to [email protected]