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

Dominik Holland dominik.holland at qt.io
Fri Dec 8 16:22:30 CET 2023


Am 08.12.23 um 11:40 schrieb Volker Hilsheimer via Development:
> 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 like “qt-labs/qtvehicleservices.git” for the parts which should be 
moved out to qtlabs.


>
> 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.

Although not part of qt5.git the interface framework is part of Qt DCE 
for quite some time already and also used by customers. From a 
qt-project standpoint that module doesn't exist and is not part of 
source/binary compatibility promises, but what's our standpoint for qt 
commercial customers ? Giving the module a better name in the 
documentation and the repo is not a big deal, but what about changing 
the all class names and CMake macros, those start with QIf* as well.

Dominik

>
>
> 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> 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> on behalf
>>     of Thiago Macieira <thiago.macieira at intel.com>
>>     *Date:*Tuesday, December 5, 2023 at 19:06
>>     *To:*development at qt-project.org<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://www.google.com/search?q=genivi+site%253Ahttps%253A%252F%252Flists.qt-project.org%252Fpipermail%252Fdevelopment%252F
>>     <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
>>     <https://lists.qt-project.org/listinfo/development>
>>
>> --
>> Development mailing list
>> Development at qt-project.org
>> https://lists.qt-project.org/listinfo/development
>
>


More information about the Development mailing list