[Development] Requesting a repository for Qt Interface Framework Reference APIs

Volker Hilsheimer volker.hilsheimer at qt.io
Fri Dec 8 11:40:18 CET 2023


The request at hand is to move two of the reference APIs that are based on the interface framework out into a separate qt-labs repository. Those two APIs are, as Dominik pointed out, very automotive specific. But just because they are based on the interface framework doesn’t mean that we need to use “interface framework” in the name.

After trying to wrap my head around what the Qt Interface Framework does and how the reference APIs fit into that, and given that they are automotive specific, I’d call that new module perhaps “qt-labs/qtvehicleservices.git” or even “qt-labs/qtvehiclecabinservices.git” (since the modules under discussion are all about things in the cabin - airflow, windows, radio and other media - and not about engine- or driving-related stuff).

I do think that we should rename the overly generically named "interface framework" module before we make it part of a Qt release. It combines a number of different abstractions for building loosely coupled systems. Interface definitions and API abstractions are perhaps just “implementation details”. The core functionality of the interface framework seems to be service definition and discovery, enabling the building of modular systems. I don’t know if “qtservicediscoveryframework” is much of an improvement though, but that we don’t have a good name for that yet doesn’t have to block moving out of the vehicle-services-code.


Volker


On 7 Dec 2023, at 20:01, Maurice Kalinowski via Development <development at qt-project.org> wrote:

You are absolutely correct that this module started with a pure automotive focus, back then called Qt IVI.
However, we recognized that its functionality can also be utilized in a generic way, which was the reason for the rename and generalization efforts done in the past. There might still be some leftovers.

There are developers/customers using it in their production environment already, also outside of the automotive sector.

BR,
Maurice


From: Development <development-bounces at qt-project.org> On Behalf Of Tor Arne Vestbø via Development
Sent: Thursday, 7 December 2023 18:37
To: Tuukka Turunen <tuukka.turunen at qt.io>
Cc: Macieira, Thiago <thiago.macieira at intel.com>; development at qt-project.org
Subject: Re: [Development] Requesting a repository for Qt Interface Framework Reference APIs

If it’s an option to rename this module we should take the opportunity to do so I think.

The problem of the generic naming came up in the past, but the understanding was that it was too late to change.

If that is not the case after all, we should strongly consider it.

The documentation at https://doc.qt.io/QtInterfaceFramework/ describes it as:

"The Qt Interface Framework module provides both the tools and the core APIs, for you to implement Middleware APIs, Middleware Back ends, and Middleware Services. “


So is this the Qt Middleware module?


On the other hand, the module seems to also provide a lot more than just core primitives. E.g. this set of classes for in-viechle infotainment systems:

https://doc.qt.io/QtInterfaceFramework/qtifmedia-module.html


So is this a Qt for Automotive specific module? These APIs seem to indicate that as well:

https://doc.qt.io/QtInterfaceFramework/qtinterfaceframework-vehiclefunctions-qmlmodule.html

If we do want to promote this to a Qt module, should the core functionality be split off, and the rest stay Qt for Automotive specific?

https://doc.qt.io/QtInterfaceFramework/qtinterfaceframework-module.html

Cheers,
Tor Arne


On 7 Dec 2023, at 17:02, Tuukka Turunen via Development <development at qt-project.org<mailto:development at qt-project.org>> wrote:

Hi,

Thiago is right, we can change the name as the module technically is not part of Qt release (https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/).

That said, we can also decide not to change the name. Like mentioned by Dominik, it has existing since a while with the current name (https://doc.qt.io/QtInterfaceFramework/) and repository (https://code.qt.io/cgit/qt/qtinterfaceframework.git/). Initially it had a different name, so the current one is already a new name, which is probably better than the initial at least.

So the question is what should this module be called, if it would be renamed? And another question, is it feasible to implement the renaming at this point?

Moving the proposed items out from it to labs modules makes sense to me. The naming of labs modules should then be aligned with the new naming of the module.

Yours,

                Tuukka

From: Development <development-bounces at qt-project.org<mailto:development-bounces at qt-project.org>> on behalf of Thiago Macieira <thiago.macieira at intel.com<mailto:thiago.macieira at intel.com>>
Date: Tuesday, December 5, 2023 at 19:06
To: development at qt-project.org<mailto:development at qt-project.org> <development at qt-project.org<mailto:development at qt-project.org>>
Subject: Re: [Development] Requesting a repository for Qt Interface Framework Reference APIs
On Tuesday, 5 December 2023 08:54:29 PST Thiago Macieira wrote:
> Then why are you asking for a repository if it's already there? When was
> that module approved by the Qt Project? I can't find anything in the email
> archives.
>
> The first commit in this repository is "First version of the QtGeniviExtras
> module". When was it renamed and who approved it?

This module was requested at
https://lists.qt-project.org/pipermail/development/2015-August/022859.html

There were no objections. Tuukka said it's a good idea to have the modules
even if they aren't part of the released packages:

> I think it is fine to create the requested repo for new module. Depending on
> the need it can then either be included or not be included in the release
> packages.

That would explain why this isn't in the qt5.git/.gitmodules.

But I said:

> I am, however, questioning the design of the API that Dominik presented.

There have been zero other discussions of "genivi" since then
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dgenivi%2Bsite%25253Ahttps%25253A%25252F%25252Flists.qt-project.org%25252Fpipermail%25252Fdevelopment%25252F&data=05%7C01%7Ctuukka.turunen%40qt.io%7Cc5d9d74e44014c5e22c308dbf5b48c59%7C20d0b167794d448a9d01aaeccc1124ac%7C0%7C0%7C638373928019928582%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=r0fpIXCgLTyWGtC9bIJ9waV7QgvH6J%2FnwRLJ%2BZMPL9k%3D&reserved=0<https://www.google.com/search?q=genivi+site%253Ahttps%253A%252F%252Flists.qt-project.org%252Fpipermail%252Fdevelopment%252F>

I don't know what kind of API reviews have been done since. But there has been
no discussion about renaming this module. Therefore, the name it is currently
using is unauthorised and does not imply a precedent.

-1 on this new module with this name.


--
Thiago Macieira - thiago.macieira (AT) intel.com<http://intel.com/>
  Cloud Software Architect - Intel DCAI Cloud Engineering
--
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
https://lists.qt-project.org/listinfo/development

--
Development mailing list
Development at qt-project.org
https://lists.qt-project.org/listinfo/development

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20231208/54f8fac3/attachment-0001.htm>


More information about the Development mailing list